{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/basic/StSelect.vue?7d39","webpack:///./src/store/index.ts","webpack:///./public/SpikeTime_Gradient.png","webpack:///./src/components/tabs/StTabs.vue?f9ad","webpack:///./src/components/basic/StLoaderIcon.vue?5114","webpack:///./src/components/basic/StCurrencyInput.vue?31d7","webpack:///./src/components/basic/StCurrencyInput.vue","webpack:///./src/components/basic/StCurrencyInput.vue?654b","webpack:///./src/components/basic/StCurrencyInput.vue?bab5","webpack:///./src/localization/index.ts","webpack:///./src/components/basic/StButtonRound.vue?1b9f","webpack:///./src/components/basic/StNotification.vue?e568","webpack:///./src/components/timeentry-filter/TimeEntryGrouper.vue?a30b","webpack:///./src/views/TimeEntries/Components/DateSliderItem.vue?cdd0","webpack:///./src/components/basic/StButton.vue?6fe7","webpack:///./src/views/TimeAccount/TimeAccount.vue?e07a","webpack:///./src/components/basic/StBadge.vue?2a28","webpack:///./src/components/basic/StBadge.vue","webpack:///./src/components/basic/StBadge.vue?7271","webpack:///./src/components/basic/StBadge.vue?01f8","webpack:///./src/components/basic/StInput2.vue?97ea","webpack:///./src/components/basic/StInput2.vue","webpack:///./src/components/basic/StInput2.vue?7a38","webpack:///./src/components/basic/StInput2.vue?378e","webpack:///./public/SpikeTime_Grey.png","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportAbraham.vue?839e","webpack:///./src/views/RateRules/RateRules.vue?741d","webpack:///./src/components/timeentry-filter/TimeEntryFilterComponent.vue?71a1","webpack:///./src/utlitities/color.ts","webpack:///./src/views/TeamOverview/TeamOverview.vue?a450","webpack:///./src/components/basic/StCollapse.vue?e4d1","webpack:///./src/utlitities/notifications.ts","webpack:///./src/views/Absence/components/CalendarHorizontal.vue?30eb","webpack:///./src/views/Projects/Projects.vue?0953","webpack:///./src/views/Admin/UnpaidInvoices.vue?86cc","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayout.vue?b0a3","webpack:///./src/views/TeamOverview/Coliquio/TeamOverviewColiquio.vue?b99a","webpack:///./src/services/st-api.ts","webpack:///./src/views/Admin/Logs.vue?fd47","webpack:///./src/store/user-module.ts","webpack:///./src/components/main-menu/MainMenuItem.vue?cdc3","webpack:///./src/views/Report/FixedPriceProjectReports.vue?83f2","webpack:///./src/views/Projects/ProjectReport.vue?1de3","webpack:///./src/views/Auth/Login.vue?de08","webpack:///./src/components/basic/StRatePicker.vue?4238","webpack:///./src/components/basic/StRatePicker.vue","webpack:///./src/components/basic/StRatePicker.vue?de9f","webpack:///./src/components/basic/StRatePicker.vue?c00d","webpack:///./src/layout/UnauthorizedLayout.vue?e1e5","webpack:///./src/components/basic/SlideIn.vue?6514","webpack:///./src/components/basic/StSearch.vue?a212","webpack:///./src/components/basic/StSearch.vue","webpack:///./src/components/basic/StSearch.vue?42bb","webpack:///./src/components/basic/StSearch.vue?59a9","webpack:///./src/views/Settings/UserSettings.vue?acf5","webpack:///./src/components/list/StListItem.vue?182b","webpack:///./src/views/TeamOverview/TeamOverviewApproval.vue?68fe","webpack:///./src/views/Settings/AccountSettings.vue?09d1","webpack:///./src/layout/DefaultLayout.vue?d0ca","webpack:///./src/views/NotFound.vue?b0fb","webpack:///./src/views/NotFound.vue","webpack:///./src/views/NotFound.vue?b8c3","webpack:///./src/views/NotFound.vue?0b14","webpack:///./src/layout/AdministratorLayout.vue?2fa6","webpack:///./src/components/basic/SlideIn.vue?87fa","webpack:///./src/components/basic/SlideIn.vue","webpack:///./src/components/basic/SlideIn.vue?366d","webpack:///./src/components/basic/SlideIn.vue?cc93","webpack:///./src/views/TimeEntries/TimeEntry.vue?d6cd","webpack:///./src/components/list/StListItemHeader.vue?8bad","webpack:///./src/components/basic/StToggle.vue?39e9","webpack:///./src/components/basic/StDatePicker.vue?970b","webpack:///./src/components/timeentry-filter/TimeEntryFilterComponent.vue?5a62","webpack:///./src/components/timeentry-filter/timeframe.ts","webpack:///./src/components/timeentry-filter/TimeEntryFilterComponent.vue","webpack:///./src/components/timeentry-filter/TimeEntryFilterComponent.vue?f4c6","webpack:///./src/components/timeentry-filter/TimeEntryFilterComponent.vue?d835","webpack:///./src/components/basic/StExplanation.vue?c810","webpack:///./src/components/basic/StExplanation.vue","webpack:///./src/components/basic/StExplanation.vue?bf55","webpack:///./src/components/basic/StExplanation.vue?b959","webpack:///./src/views/List/ListExport.vue?d347","webpack:///./src/utlitities/helper.ts","webpack:///./src/App.vue?fefb","webpack:///./src/components/basic/StToggle.vue?5f63","webpack:///./src/components/basic/StToggle.vue","webpack:///./src/components/basic/StToggle.vue?b534","webpack:///./src/components/basic/StToggle.vue?b202","webpack:///./src/components/basic/StTextarea.vue?9d25","webpack:///./src/components/basic/StTextarea.vue","webpack:///./src/components/basic/StTextarea.vue?5161","webpack:///./src/components/basic/StTextarea.vue?e9b5","webpack:///./src/views/RateRules/RateRuleEdit.vue?21de","webpack:///./src/components/main-menu/MainMenu.vue?0c70","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccount.vue?246e","webpack:///./src/views/TimeEntries/UserSelect.vue?8861","webpack:///./src/views/TimeEntries/UserSelect.vue","webpack:///./src/views/TimeEntries/UserSelect.vue?be5d","webpack:///./src/views/TimeEntries/UserSelect.vue?5cae","webpack:///./src/components/basic/StSelectButton.vue?fad9","webpack:///./src/layout/AuthLayout.vue?9934","webpack:///./public/SpikeTime_White.png","webpack:///./src/views/Settings/AdvContract.vue?27ac","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceTimeEntries.vue?82c6","webpack:///./src/components/basic/Form/StSettingsSeparator.vue?6252","webpack:///./src/App.vue?9635","webpack:///./src/components/basic/StNotification.vue?85ca","webpack:///./src/components/basic/StProgress.vue?800e","webpack:///./src/components/basic/StProgress.vue","webpack:///./src/components/basic/StProgress.vue?eccf","webpack:///./src/components/basic/StProgress.vue?c583","webpack:///./src/components/basic/StNotification.vue","webpack:///./src/components/basic/StNotification.vue?5a0c","webpack:///./src/components/basic/StNotification.vue?1a25","webpack:///./src/App.vue","webpack:///./src/App.vue?5558","webpack:///./src/App.vue?6469","webpack:///./src/views/Projects/Projects.vue?d381","webpack:///./src/views/Projects/ProjectSingle.vue?8552","webpack:///./src/views/Projects/ProjectBudget.vue?0fda","webpack:///./src/views/Projects/ProjectBudget.vue","webpack:///./src/views/Projects/ProjectBudget.vue?c8c3","webpack:///./src/views/Projects/ProjectBudget.vue?06e9","webpack:///./src/views/Projects/ProjectSingle.vue","webpack:///./src/views/Projects/ProjectSingle.vue?708d","webpack:///./src/views/Projects/ProjectSingle.vue?bace","webpack:///./src/utlitities/debounced-text.ts","webpack:///./src/views/Projects/Projects.vue","webpack:///./src/views/Projects/Projects.vue?b03a","webpack:///./src/views/Projects/Projects.vue?e89c","webpack:///./src/views/Auth/Login.vue?9115","webpack:///./src/store/lookup-store.ts","webpack:///./src/store/stopwatch-store.ts","webpack:///./src/store/account-module.ts","webpack:///./src/store/absence-store.ts","webpack:///./src/store/approval-store.ts","webpack:///./src/store/global-data-helper.ts","webpack:///./src/views/Auth/Login.vue","webpack:///./src/views/Auth/Login.vue?e3a5","webpack:///./src/views/Auth/Login.vue?aab8","webpack:///./src/views/Auth/ForgotPassword.vue?8267","webpack:///./src/views/Auth/ForgotPassword.vue","webpack:///./src/views/Auth/ForgotPassword.vue?9cbd","webpack:///./src/views/Auth/ForgotPassword.vue?9409","webpack:///./src/views/ProjectTasks/ProjectTasks.vue?01f9","webpack:///./src/views/ProjectTasks/ProjectTasks.vue","webpack:///./src/views/ProjectTasks/ProjectTasks.vue?be56","webpack:///./src/views/ProjectTasks/ProjectTasks.vue?c01a","webpack:///./src/views/RateRules/RateRules.vue?2193","webpack:///./src/views/RateRules/RateRuleEdit.vue?bddc","webpack:///./src/views/RateRules/RateRuleSelect.vue?8734","webpack:///./src/views/RateRules/RateRuleSelect.vue","webpack:///./src/views/RateRules/RateRuleSelect.vue?6c6b","webpack:///./src/views/RateRules/RateRuleSelect.vue?7d2a","webpack:///./src/views/RateRules/RateRuleProjectSelect.vue?0329","webpack:///./src/views/RateRules/RateRuleProjectSelect.vue","webpack:///./src/views/RateRules/RateRuleEditValidation.ts","webpack:///./src/views/RateRules/RateRuleProjectSelect.vue?1025","webpack:///./src/views/RateRules/RateRuleProjectSelect.vue?a3a5","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNested.vue?c7d6","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNestedInner.vue?e5f3","webpack:///./src/views/RateRules/RateRuleSelectNested/HalfSelectedCheckbox.vue?35e0","webpack:///./src/views/RateRules/RateRuleSelectNested/HalfSelectedCheckbox.vue","webpack:///./src/views/RateRules/RateRuleSelectNested/HalfSelectedCheckbox.vue?f29a","webpack:///./src/views/RateRules/RateRuleSelectNested/HalfSelectedCheckbox.vue?25d9","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNestedInner.vue","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNestedInner.vue?e56f","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNestedInner.vue?c451","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNested.vue","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNested.vue?ba3e","webpack:///./src/views/RateRules/RateRuleSelectNested/RateRuleSelectNested.vue?188c","webpack:///./src/views/RateRules/RateRuleEdit.vue","webpack:///./src/views/RateRules/RateRuleEdit.vue?abe5","webpack:///./src/views/RateRules/RateRuleEdit.vue?ca5e","webpack:///./src/views/RateRules/RateRuleItem.vue?b444","webpack:///./src/views/RateRules/RateRuleItem.vue","webpack:///./src/views/RateRules/RateRuleItem.vue?18df","webpack:///./src/views/RateRules/RateRuleItem.vue?c0cb","webpack:///./src/views/RateRules/RateRules.vue","webpack:///./src/views/RateRules/RateRules.vue?64eb","webpack:///./src/views/RateRules/RateRules.vue?40d7","webpack:///./src/views/User/AppUser.vue?6497","webpack:///./src/views/User/EditUser.vue?33c3","webpack:///./src/views/User/History/AppUserHistory.vue?73d6","webpack:///./src/views/User/History/AppUserHistory.vue","webpack:///./src/views/User/History/AppUserHistory.vue?472f","webpack:///./src/views/User/History/AppUserHistory.vue?896e","webpack:///./src/views/User/VacationHistory/AppUserVacationHistory.vue?d7ad","webpack:///./src/views/User/VacationHistory/AppUserVacationHistoryEdit.vue?b25c","webpack:///./src/views/User/VacationHistory/AppUserVacationHistoryEdit.vue","webpack:///./src/views/User/VacationHistory/AppUserVacationHistoryEdit.vue?a35c","webpack:///./src/views/User/VacationHistory/AppUserVacationHistoryEdit.vue?f612","webpack:///./src/views/User/VacationHistory/AppUserVacationHistory.vue","webpack:///./src/views/User/VacationHistory/AppUserVacationHistory.vue?e3b5","webpack:///./src/views/User/VacationHistory/AppUserVacationHistory.vue?4fbf","webpack:///./src/components/basic/StSelect.vue?820f","webpack:///./src/components/basic/StSelect.vue","webpack:///./src/components/basic/StSelect.vue?5d5d","webpack:///./src/components/basic/StSelect.vue?2120","webpack:///./src/views/User/AppUserProjectStaffEdit.vue?576a","webpack:///./src/views/User/AppUserProjectStaffEdit.vue","webpack:///./src/views/User/AppUserProjectStaffEdit.vue?6ab6","webpack:///./src/views/User/AppUserProjectStaffEdit.vue?461a","webpack:///./src/components/tabs/StTabs.vue?059a","webpack:///./src/components/tabs/StTabs.vue","webpack:///./src/components/tabs/StTabs.vue?10d6","webpack:///./src/components/tabs/StTabs.vue?a17a","webpack:///./src/views/User/RoleExplanationTable.vue?02b1","webpack:///./src/views/User/RoleExplanationTable.vue","webpack:///./src/views/User/RoleExplanationTable.vue?cdbe","webpack:///./src/views/User/RoleExplanationTable.vue?41ad","webpack:///./src/views/User/InternalCostHistory/AppUserInternalCostHistory.vue?b9df","webpack:///./src/views/User/InternalCostHistory/AppUserInternalCostHistory.vue","webpack:///./src/views/User/InternalCostHistory/AppUserInternalCostHistory.vue?1286","webpack:///./src/views/User/InternalCostHistory/AppUserInternalCostHistory.vue?33e3","webpack:///./src/views/User/BillableTargetHistory/AppUserBillableTargetHistory.vue?fd90","webpack:///./src/views/User/BillableTargetHistory/AppUserBillableTargetHistory.vue","webpack:///./src/views/User/BillableTargetHistory/AppUserBillableTargetHistory.vue?65d0","webpack:///./src/views/User/BillableTargetHistory/AppUserBillableTargetHistory.vue?6ee7","webpack:///./src/views/User/EditUser.vue","webpack:///./src/views/User/EditUser.vue?cc7b","webpack:///./src/views/User/EditUser.vue?c672","webpack:///./src/views/User/AppUser.vue","webpack:///./src/views/User/AppUser.vue?39c1","webpack:///./src/views/User/AppUser.vue?c583","webpack:///./src/views/TimeEntries/TimeEntries.vue?1c4c","webpack:///./src/views/TimeEntries/Components/DateSlider.vue?07e8","webpack:///./src/views/TimeEntries/Components/DateSliderItem.vue?900a","webpack:///./src/views/TeamOverview/team-overview-approval-icon.ts","webpack:///./src/views/TimeEntries/Components/DateSliderItem.vue","webpack:///./src/views/TimeEntries/Components/DateSliderItem.vue?0b0b","webpack:///./src/views/TimeEntries/Components/DateSliderItem.vue?79cd","webpack:///./src/views/TimeEntries/Components/DateSlider.vue","webpack:///./src/views/TimeEntries/Components/DateSlider.vue?8658","webpack:///./src/views/TimeEntries/Components/DateSlider.vue?1f0d","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryEdit.vue?56fd","webpack:///./src/components/basic/StDurationPicker.vue?75aa","webpack:///./src/components/basic/StTimePicker.vue?5087","webpack:///./src/components/basic/StTimePickerPopover.vue?e046","webpack:///./src/components/basic/StTimePickerPopover.vue","webpack:///./src/components/basic/StTimePickerPopover.vue?f146","webpack:///./src/components/basic/StTimePickerPopover.vue?f792","webpack:///./src/components/basic/StTimePicker.vue","webpack:///./src/components/basic/StTimePicker.vue?3eee","webpack:///./src/components/basic/StTimePicker.vue?e8ba","webpack:///./src/components/basic/StDurationPicker.vue","webpack:///./src/components/basic/StDurationPicker.vue?bf7b","webpack:///./src/components/basic/StDurationPicker.vue?1bf0","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryRateInput.vue?00a5","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryRateInput.vue","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryRateInput.vue?94c2","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryRateInput.vue?ca0f","webpack:///./src/views/TimeEntries/Components/DescriptionTextarea.vue?c308","webpack:///./src/views/TimeEntries/Components/DescriptionTextarea.vue","webpack:///./src/views/TimeEntries/Components/DescriptionTextarea.vue?8e0d","webpack:///./src/views/TimeEntries/Components/DescriptionTextarea.vue?a006","webpack:///./src/store/timeaccount-store.ts","webpack:///./src/store/time-entry-store.ts","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryEdit.vue","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryEdit.vue?c751","webpack:///./src/views/TimeEntries/TimeEntryEdit/TimeEntryEdit.vue?b951","webpack:///./src/views/TimeEntries/TimeEntryEdit/PauseEdit.vue?4f01","webpack:///./src/views/TimeEntries/TimeEntryEdit/PauseEdit.vue","webpack:///./src/views/TimeEntries/TimeEntryEdit/PauseEdit.vue?5fb6","webpack:///./src/views/TimeEntries/TimeEntryEdit/PauseEdit.vue?de13","webpack:///./src/views/TimeEntries/TimeEntry.vue?7d4b","webpack:///./src/components/basic/StSupBadge.vue?2153","webpack:///./src/components/basic/StSupBadge.vue","webpack:///./src/components/basic/StSupBadge.vue?612e","webpack:///./src/components/basic/StSupBadge.vue?6c85","webpack:///./src/views/TimeEntries/TimeEntry.vue","webpack:///./src/views/TimeEntries/TimeEntry.vue?3329","webpack:///./src/views/TimeEntries/TimeEntry.vue?2353","webpack:///./src/views/TimeEntries/PauseEntry.vue?160b","webpack:///./src/views/TimeEntries/PauseEntry.vue","webpack:///./src/views/TimeEntries/PauseEntry.vue?3676","webpack:///./src/views/TimeEntries/PauseEntry.vue?11c1","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayout.vue?5e0f","webpack:///./src/views/Stopwatch/OldLayout/StopwatchSelect.vue?9c52","webpack:///./src/views/Stopwatch/OldLayout/StopwatchSelect.vue","webpack:///./src/views/Stopwatch/OldLayout/StopwatchSelect.vue?a76f","webpack:///./src/views/Stopwatch/OldLayout/StopwatchSelect.vue?eda4","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayout.vue","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayout.vue?130d","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayout.vue?0dce","webpack:///./src/views/TimeEntries/Components/TimeEntriesApproval.vue?a61e","webpack:///./src/views/TimeEntries/Components/TimeEntriesApproval.vue","webpack:///./src/views/TimeEntries/Components/TimeEntriesApproval.vue?f38f","webpack:///./src/views/TimeEntries/Components/TimeEntriesApproval.vue?2517","webpack:///./src/views/TimeEntries/AutoPauseEntry.vue?be4c","webpack:///./src/views/TimeEntries/AutoPauseEntry.vue","webpack:///./src/views/TimeEntries/AutoPauseEntry.vue?1dd2","webpack:///./src/views/TimeEntries/AutoPauseEntry.vue?96b9","webpack:///./src/views/TimeEntries/Components/TimeAccountSummary.vue?8eb8","webpack:///./src/views/TimeEntries/Components/TimeAccountSummary.vue","webpack:///./src/views/TimeEntries/Components/TimeAccountSummary.vue?62ef","webpack:///./src/views/TimeEntries/Components/TimeAccountSummary.vue?9f81","webpack:///./src/views/TimeEntries/TimeEntries.vue","webpack:///./src/views/TimeEntries/TimeEntries.vue?b619","webpack:///./src/views/TimeEntries/TimeEntries.vue?4842","webpack:///./src/views/Tags/Tags.vue?7381","webpack:///./src/views/Tags/Tags.vue","webpack:///./src/views/Tags/Tags.vue?7d69","webpack:///./src/views/Tags/Tags.vue?3e9a","webpack:///./src/views/PublicHoliday/PublicHolidayGroup.vue?e307","webpack:///./src/views/PublicHoliday/PublicHolidayGroup.vue","webpack:///./src/views/PublicHoliday/PublicHolidayGroup.vue?89a9","webpack:///./src/views/PublicHoliday/PublicHolidayGroup.vue?daa6","webpack:///./src/views/Absence/OwnAbsences.vue?7b70","webpack:///./src/views/Absence/AbsenceEdit.vue?4adc","webpack:///./src/components/basic/StDatePicker.vue?5f0e","webpack:///./src/components/basic/StDatePicker.vue","webpack:///./src/components/basic/StDatePicker.vue?ad78","webpack:///./src/components/basic/StDatePicker.vue?2ab1","webpack:///./src/views/Absence/AbsenceEdit.vue","webpack:///./src/views/Absence/AbsenceEdit.vue?fb56","webpack:///./src/views/Absence/AbsenceEdit.vue?a2e7","webpack:///./src/views/Absence/AbsenceLegend.vue?7e0c","webpack:///./src/views/Absence/AbsenceLegend.vue","webpack:///./src/views/Absence/AbsenceLegend.vue?cf0c","webpack:///./src/views/Absence/AbsenceLegend.vue?8bcb","webpack:///./src/views/Absence/components/AbsenceTypeIcon.vue?91e8","webpack:///./src/views/Absence/components/AbsenceTypeIcon.vue","webpack:///./src/views/Absence/components/AbsenceTypeIcon.vue?5cf4","webpack:///./src/views/Absence/components/AbsenceTypeIcon.vue?5b6c","webpack:///./src/views/Absence/helper/get-absence-color.ts","webpack:///./src/views/Absence/OwnAbsences.vue","webpack:///./src/views/Absence/OwnAbsences.vue?4479","webpack:///./src/views/Absence/OwnAbsences.vue?9cd4","webpack:///./src/views/Projects/EditCustomer.vue?3ab5","webpack:///./src/views/Projects/EditCustomerTextOverwriter.vue?d00b","webpack:///./src/views/Projects/EditCustomerTextOverwriter.vue","webpack:///./src/views/Projects/EditCustomerTextOverwriter.vue?61cc","webpack:///./src/views/Projects/EditCustomerTextOverwriter.vue?afd3","webpack:///./src/views/Projects/ProjectStaffEdit.vue?877c","webpack:///./src/views/Projects/ProjectStaffEdit.vue","webpack:///./src/views/Projects/ProjectStaffEdit.vue?23c0","webpack:///./src/views/Projects/ProjectStaffEdit.vue?905a","webpack:///./src/components/basic/StPercentInput.vue?0601","webpack:///./src/components/basic/StPercentInput.vue","webpack:///./src/components/basic/StPercentInput.vue?5711","webpack:///./src/components/basic/StPercentInput.vue?e0e9","webpack:///./src/views/Projects/ProjectChangeFixedPriceWarning.vue?4c2a","webpack:///./src/views/Projects/ProjectChangeFixedPriceWarning.vue","webpack:///./src/views/Projects/ProjectChangeFixedPriceWarning.vue?45f1","webpack:///./src/views/Projects/ProjectChangeFixedPriceWarning.vue?baa9","webpack:///./src/views/Projects/EditCustomerProject.vue?897f","webpack:///./src/views/Projects/EditCustomerProject.vue","webpack:///./src/views/Projects/EditCustomerProject.vue?7218","webpack:///./src/views/Projects/EditCustomerProject.vue?a2e7","webpack:///./src/views/Projects/EditCustomer.vue","webpack:///./src/views/Projects/EditCustomer.vue?d3bc","webpack:///./src/views/Projects/EditCustomer.vue?c648","webpack:///./src/views/Projects/EditProject.vue?d6cf","webpack:///./src/views/Projects/ProjectProjectTaskEditList.vue?3dc6","webpack:///./src/views/Projects/ProjectProjectTaskEditList.vue","webpack:///./src/views/Projects/ProjectProjectTaskEditList.vue?b7fd","webpack:///./src/views/Projects/ProjectProjectTaskEditList.vue?e288","webpack:///./src/views/Projects/EditProject.vue","webpack:///./src/views/Projects/EditProject.vue?e3fa","webpack:///./src/views/Projects/EditProject.vue?848d","webpack:///./src/views/Tags/TagEdit.vue?6d55","webpack:///./src/views/Tags/TagEdit.vue","webpack:///./src/views/Tags/TagEdit.vue?6d69","webpack:///./src/views/Tags/TagEdit.vue?f014","webpack:///./src/views/ProjectTasks/ProjectTaskEdit.vue?f4be","webpack:///./src/views/ProjectTasks/ProjectTaskEdit.vue","webpack:///./src/views/ProjectTasks/ProjectTaskEdit.vue?aa1a","webpack:///./src/views/ProjectTasks/ProjectTaskEdit.vue?64c8","webpack:///./src/views/Projects/ProjectReport.vue?ad87","webpack:///./src/views/Projects/ProjectReport.vue","webpack:///./src/views/Projects/ProjectReport.vue?51a8","webpack:///./src/views/Projects/ProjectReport.vue?6014","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceList.vue?b38b","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExport.vue?e1af","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportClassic.vue?16b0","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportClassic.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportClassic.vue?c45a","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportClassic.vue?0f75","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportModern.vue?1f4f","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportModern.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportModern.vue?6513","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportModern.vue?60cc","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther.vue?db8a","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther.vue?8a63","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther.vue?cdb5","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther2.vue?ab64","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther2.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther2.vue?5e2b","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExportOther2.vue?39aa","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExport.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExport.vue?1fdf","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceExport.vue?538e","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceList.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceList.vue?053d","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceList.vue?2ab4","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEdit.vue?3b1d","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceTimeEntries.vue?9031","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceTimeEntries.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceTimeEntries.vue?5462","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceTimeEntries.vue?3759","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceDocument.vue?4902","webpack:///./src/views/OutgoingInvoice/outgoing-invoice-helper.ts","webpack:///./src/utlitities/delay-loading.ts","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceDocument.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceDocument.vue?0a6f","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceDocument.vue?37ea","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceCustomer.vue?e9f1","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceCustomer.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceCustomer.vue?79e9","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceCustomer.vue?dba6","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEmail.vue?0729","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEmail.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEmail.vue?1997","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEmail.vue?a856","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEdit.vue","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEdit.vue?c0fa","webpack:///./src/views/OutgoingInvoice/OutgoingInvoiceEdit.vue?a9de","webpack:///./src/views/List/List.vue?633f","webpack:///./src/components/timeentry-filter/TimeEntryGrouper.vue?f91d","webpack:///./src/components/timeentry-filter/TimeEntryGrouper.vue","webpack:///./src/components/timeentry-filter/TimeEntryGrouper.vue?5ede","webpack:///./src/components/timeentry-filter/TimeEntryGrouper.vue?4163","webpack:///./src/views/List/ListTable.vue?f827","webpack:///./src/views/List/listrow.ts","webpack:///./src/views/List/ListPager.vue?973c","webpack:///./src/views/List/ListPager.vue","webpack:///./src/views/List/ListPager.vue?431b","webpack:///./src/views/List/ListPager.vue?9ca3","webpack:///./src/views/List/ListTable.vue","webpack:///./src/views/List/ListTable.vue?54c9","webpack:///./src/views/List/ListTable.vue?5844","webpack:///./src/views/List/ListColumnEdit.vue?7052","webpack:///./src/views/List/ListColumnEdit.vue","webpack:///./src/views/List/ListColumnEdit.vue?7aa2","webpack:///./src/views/List/ListColumnEdit.vue?8787","webpack:///./src/views/List/List.vue","webpack:///./src/views/List/List.vue?51ce","webpack:///./src/views/List/List.vue?00a3","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadata.vue?5d13","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadata.vue","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadata.vue?10b8","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadata.vue?6db7","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadataEdit.vue?361e","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadataEdit.vue","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadataEdit.vue?1e06","webpack:///./src/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadataEdit.vue?28b9","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayoutEdit.vue?8099","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayoutEdit.vue","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayoutEdit.vue?cbad","webpack:///./src/views/Stopwatch/OldLayout/StopwatchOldLayoutEdit.vue?a37b","webpack:///./src/views/NetworkError.vue?7424","webpack:///./src/views/NetworkError.vue","webpack:///./src/views/NetworkError.vue?ae49","webpack:///./src/views/NetworkError.vue?e78b","webpack:///./src/views/List/ListExport.vue?3013","webpack:///./src/views/List/ListExport.vue","webpack:///./src/views/List/ListExport.vue?a6d4","webpack:///./src/views/List/ListExport.vue?597d","webpack:///./src/views/Settings/AccountSettings.vue?bf2d","webpack:///./src/views/Settings/AccountSettingsInvoice.vue?a056","webpack:///./src/components/basic/Form/StSettingsSeparator.vue?68c7","webpack:///./src/components/basic/Form/StSettingsSeparator.vue","webpack:///./src/components/basic/Form/StSettingsSeparator.vue?1318","webpack:///./src/components/basic/Form/StSettingsSeparator.vue?5c08","webpack:///./src/views/Settings/AccountSettingsInvoice.vue","webpack:///./src/views/Settings/AccountSettingsInvoice.vue?560b","webpack:///./src/views/Settings/AccountSettingsInvoice.vue?9fb6","webpack:///./src/views/Settings/AccountSettingsPrivacy.vue?aa34","webpack:///./src/views/Settings/AccountSettingsPrivacy.vue","webpack:///./src/views/Settings/AccountSettingsPrivacy.vue?1709","webpack:///./src/views/Settings/AccountSettingsPrivacy.vue?ced2","webpack:///./src/views/Settings/AccountSettingsDeleteAccount.vue?14ee","webpack:///./src/views/Settings/AccountSettingsDeleteAccount.vue","webpack:///./src/views/Settings/AccountSettingsDeleteAccount.vue?ceab","webpack:///./src/views/Settings/AccountSettingsDeleteAccount.vue?0b95","webpack:///./src/views/Settings/AccountSettingsTimeTracking.vue?67c3","webpack:///./src/views/Settings/AccountSettingsTimeTracking.vue","webpack:///./src/views/Settings/AccountSettingsTimeTracking.vue?3afb","webpack:///./src/views/Settings/AccountSettingsTimeTracking.vue?abc3","webpack:///./src/views/Settings/AccountSettings.vue","webpack:///./src/views/Settings/AccountSettings.vue?6b43","webpack:///./src/views/Settings/AccountSettings.vue?2594","webpack:///./src/views/Settings/UserSettings.vue?e0e1","webpack:///./src/views/Settings/UserSettings.vue","webpack:///./src/views/Settings/UserSettings.vue?560e","webpack:///./src/views/Settings/UserSettings.vue?7a94","webpack:///./src/views/List/ListExternal.vue?2118","webpack:///./src/views/List/ListExternal.vue","webpack:///./src/views/List/ListExternal.vue?3985","webpack:///./src/views/List/ListExternal.vue?ad4c","webpack:///./src/views/Admin/Logs.vue?8c5a","webpack:///./src/views/Admin/Logs.vue","webpack:///./src/views/Admin/Logs.vue?06a7","webpack:///./src/views/Admin/Logs.vue?3993","webpack:///./src/views/Payment/InvoiceExport.vue?4247","webpack:///./src/views/Payment/InvoiceExport.vue","webpack:///./src/views/Payment/InvoiceExport.vue?68b8","webpack:///./src/views/Payment/InvoiceExport.vue?5679","webpack:///./src/views/Auth/Register.vue?bf08","webpack:///./src/views/Auth/Register.vue","webpack:///./src/views/Auth/Register.vue?ef0d","webpack:///./src/views/Auth/Register.vue?87cf","webpack:///./src/views/UserSetupError.vue?e81d","webpack:///./src/views/UserSetupError.vue","webpack:///./src/views/UserSetupError.vue?e25c","webpack:///./src/views/UserSetupError.vue?7593","webpack:///./src/views/Auth/TransferAccount.vue?2deb","webpack:///./src/views/Auth/TransferAccount.vue","webpack:///./src/views/Auth/TransferAccount.vue?c389","webpack:///./src/views/Auth/TransferAccount.vue?ecde","webpack:///./src/views/Settings/St2Migration.vue?3196","webpack:///./src/views/Settings/St2Migration.vue","webpack:///./src/views/Settings/St2Migration.vue?0988","webpack:///./src/views/Settings/St2Migration.vue?9f9c","webpack:///./src/views/Test/Test.vue?5d4f","webpack:///./src/views/Test/Test.vue","webpack:///./src/views/Test/Test.vue?7759","webpack:///./src/views/Test/Test.vue?1aa4","webpack:///./src/views/Settings/AdvContract.vue?6b09","webpack:///./src/views/Settings/AdvContract.vue","webpack:///./src/views/Settings/AdvContract.vue?8228","webpack:///./src/views/Settings/AdvContract.vue?8a52","webpack:///./src/views/OnBoarding/OnBoardingRoute.vue?0a47","webpack:///./src/views/OnBoarding/OnBoardingRoute.vue","webpack:///./src/views/OnBoarding/OnBoardingRoute.vue?b790","webpack:///./src/views/OnBoarding/OnBoardingRoute.vue?1d16","webpack:///./src/views/Admin/Queries.vue?1d3e","webpack:///./src/views/Admin/Queries.vue","webpack:///./src/views/Admin/Queries.vue?599a","webpack:///./src/views/Admin/Queries.vue?2552","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEdit.vue?3440","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEdit.vue","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEdit.vue?49e6","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEdit.vue?653c","webpack:///./src/views/PublicHoliday/PublicHolidayEdit.vue?d0ce","webpack:///./src/views/PublicHoliday/PublicHolidayEdit.vue","webpack:///./src/views/PublicHoliday/PublicHolidayEdit.vue?4a0d","webpack:///./src/views/PublicHoliday/PublicHolidayEdit.vue?842c","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEditSlideOut.vue?8321","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEditSlideOut.vue","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEditSlideOut.vue?18f9","webpack:///./src/views/PublicHoliday/PublicHolidayGroupEditSlideOut.vue?85a4","webpack:///./src/views/Absence/AbsenceTeam.vue?3e34","webpack:///./src/views/Absence/components/CalendarHorizontal.vue?9e4e","webpack:///./src/components/calendar/calendar-helper.ts","webpack:///./src/views/Absence/components/CalendarHorizontal.vue","webpack:///./src/views/Absence/components/CalendarHorizontal.vue?22e8","webpack:///./src/views/Absence/components/CalendarHorizontal.vue?5bbe","webpack:///./src/views/Absence/AbsenceTeam.vue","webpack:///./src/views/Absence/AbsenceTeam.vue?f42f","webpack:///./src/views/Absence/AbsenceTeam.vue?d5cf","webpack:///./src/views/OutgoingInvoice/Settings/OutInvAccountSettings.vue?6c8f","webpack:///./src/views/OutgoingInvoice/Settings/OutInvAccountSettings.vue","webpack:///./src/views/OutgoingInvoice/Settings/OutInvAccountSettings.vue?cbf6","webpack:///./src/views/OutgoingInvoice/Settings/OutInvAccountSettings.vue?c1f2","webpack:///./src/views/TimeAccount/TimeAccount.vue?6d37","webpack:///./src/views/TimeAccount/TimeAccountDayCell.vue?b2d8","webpack:///./src/views/TimeAccount/TimeAccountDayCell.vue","webpack:///./src/views/TimeAccount/TimeAccountDayCell.vue?4208","webpack:///./src/views/TimeAccount/TimeAccountDayCell.vue?654f","webpack:///./src/views/TimeAccount/TimeAccountSumCell.vue?1713","webpack:///./src/views/TimeAccount/TimeAccountSumCell.vue","webpack:///./src/views/TimeAccount/TimeAccountSumCell.vue?1ee1","webpack:///./src/views/TimeAccount/TimeAccountSumCell.vue?c724","webpack:///./src/views/TimeAccount/TimeAccount.vue","webpack:///./src/views/TimeAccount/TimeAccount.vue?b800","webpack:///./src/views/TimeAccount/TimeAccount.vue?5661","webpack:///./src/views/TimeAccount/TimeAdjustmentEdit.vue?5045","webpack:///./src/views/TimeAccount/TimeAdjustmentEdit.vue","webpack:///./src/views/TimeAccount/TimeAdjustmentEdit.vue?724d","webpack:///./src/views/TimeAccount/TimeAdjustmentEdit.vue?9f03","webpack:///./src/views/Admin/RegenerateInvoice.vue?9027","webpack:///./src/views/Admin/RegenerateInvoice.vue","webpack:///./src/views/Admin/RegenerateInvoice.vue?2c8a","webpack:///./src/views/Admin/RegenerateInvoice.vue?b5fa","webpack:///./src/views/Admin/UnpaidInvoices.vue?c255","webpack:///./src/views/Admin/UnpaidInvoices.vue","webpack:///./src/views/Admin/UnpaidInvoices.vue?d22f","webpack:///./src/views/Admin/UnpaidInvoices.vue?d5d9","webpack:///./src/views/TeamOverview/TeamOverview.vue?fda7","webpack:///./src/views/TeamOverview/TeamOverview.vue","webpack:///./src/views/TeamOverview/TeamOverview.vue?195d","webpack:///./src/views/TeamOverview/TeamOverview.vue?7bc4","webpack:///./src/views/Admin/LeuteUndGeld.vue?1599","webpack:///./src/views/Admin/LeuteUndGeldTable.vue?0902","webpack:///./src/views/Admin/LeuteUndGeldTable.vue","webpack:///./src/views/Admin/LeuteUndGeldTable.vue?ee3f","webpack:///./src/views/Admin/LeuteUndGeldTable.vue?48d0","webpack:///./src/views/Admin/LeuteUndGeld.vue","webpack:///./src/views/Admin/LeuteUndGeld.vue?ee43","webpack:///./src/views/Admin/LeuteUndGeld.vue?0c03","webpack:///./src/views/TeamOverview/TeamOverviewApproval.vue?c32a","webpack:///./src/views/TeamOverview/TeamOverviewApprovalDay.vue?ebfe","webpack:///./src/views/TeamOverview/TeamOverviewApprovalDay.vue","webpack:///./src/views/TeamOverview/TeamOverviewApprovalDay.vue?40d7","webpack:///./src/views/TeamOverview/TeamOverviewApprovalDay.vue?dfba","webpack:///./src/views/TeamOverview/TeamOverviewApproval.vue","webpack:///./src/views/TeamOverview/TeamOverviewApproval.vue?fef8","webpack:///./src/views/TeamOverview/TeamOverviewApproval.vue?5df1","webpack:///./src/views/Admin/BambooHr.vue?9bb8","webpack:///./src/views/Admin/BambooHr.vue","webpack:///./src/views/Admin/BambooHr.vue?96b4","webpack:///./src/views/Admin/BambooHr.vue?93f6","webpack:///./src/views/TeamOverview/Coliquio/TeamOverviewColiquio.vue?c084","webpack:///./src/views/TeamOverview/Coliquio/TeamOverviewColiquio.vue","webpack:///./src/views/TeamOverview/Coliquio/TeamOverviewColiquio.vue?dcd3","webpack:///./src/views/TeamOverview/Coliquio/TeamOverviewColiquio.vue?6874","webpack:///./src/views/AbsenceType/AbsenceTypes.vue?3652","webpack:///./src/views/AbsenceType/AbsenceTypes.vue","webpack:///./src/views/AbsenceType/AbsenceTypes.vue?29bb","webpack:///./src/views/AbsenceType/AbsenceTypes.vue?6edf","webpack:///./src/views/AbsenceType/AbsenceTypeEdit.vue?689f","webpack:///./src/views/AbsenceType/AbsenceTypeEdit.vue","webpack:///./src/views/AbsenceType/AbsenceTypeEdit.vue?6c90","webpack:///./src/views/AbsenceType/AbsenceTypeEdit.vue?a8f3","webpack:///./src/views/Temporary/Password.vue?a0d1","webpack:///./src/views/Temporary/Password.vue","webpack:///./src/views/Temporary/Password.vue?fe22","webpack:///./src/views/Temporary/Password.vue?c6ff","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccount.vue?a37d","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccountApprovalForm.vue?a92e","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccountApprovalForm.vue","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccountApprovalForm.vue?95f8","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccountApprovalForm.vue?a599","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccount.vue","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccount.vue?30ba","webpack:///./src/views/TeamOverview/TeamOverviewTimeAccount.vue?c049","webpack:///./src/views/Report/FixedPriceProjectReports.vue?a2f6","webpack:///./src/views/Report/FixedPriceProjectReports.vue","webpack:///./src/views/Report/FixedPriceProjectReports.vue?d299","webpack:///./src/views/Report/FixedPriceProjectReports.vue?7608","webpack:///./src/views/Admin/UpcomingPayments.vue?c10f","webpack:///./src/views/Admin/UpcomingPayments.vue","webpack:///./src/views/Admin/UpcomingPayments.vue?3c0e","webpack:///./src/views/Admin/UpcomingPayments.vue?a6ea","webpack:///./src/router/router.ts","webpack:///./src/utlitities/filter.ts","webpack:///./src/components/basic/StInputEnum.ts","webpack:///./src/layout/DefaultLayout.vue?e4d8","webpack:///./src/components/basic/StInput.vue?f323","webpack:///./src/components/basic/StInput.vue","webpack:///./src/components/basic/StInput.vue?09cb","webpack:///./src/components/basic/StInput.vue?1c83","webpack:///./src/components/main-menu/MainMenu.vue?20ac","webpack:///./src/components/main-menu/MainMenuItem.vue?c0fe","webpack:///./src/components/main-menu/MainMenuItem.vue","webpack:///./src/components/main-menu/MainMenuItem.vue?576d","webpack:///./src/components/main-menu/MainMenuItem.vue?ad3b","webpack:///./src/components/main-menu/MainMenu.vue","webpack:///./src/components/main-menu/MainMenu.vue?0119","webpack:///./src/components/main-menu/MainMenu.vue?c113","webpack:///./src/views/OnBoarding/OnBoarding.vue?aae6","webpack:///./src/views/OnBoarding/OnBoarding.vue","webpack:///./src/views/OnBoarding/OnBoarding.vue?e43a","webpack:///./src/views/OnBoarding/OnBoarding.vue?8a7c","webpack:///./src/views/OnBoarding/OnBoardingTour.vue?df0c","webpack:///./src/views/OnBoarding/OnBoardingTour.vue","webpack:///./src/views/OnBoarding/OnBoardingTour.vue?76d1","webpack:///./src/views/OnBoarding/OnBoardingTour.vue?a415","webpack:///./src/views/OnBoarding/OnBoardingMigration.vue?e4d9","webpack:///./src/views/OnBoarding/OnBoardingMigration.vue","webpack:///./src/views/OnBoarding/OnBoardingMigration.vue?bac3","webpack:///./src/views/OnBoarding/OnBoardingMigration.vue?aedf","webpack:///./src/layout/DefaultLayout.vue","webpack:///./src/layout/DefaultLayout.vue?cefe","webpack:///./src/layout/DefaultLayout.vue?76ba","webpack:///./src/components/basic/StCollapse.vue?8abd","webpack:///./src/components/basic/StCollapse.vue","webpack:///./src/components/basic/StCollapse.vue?9df6","webpack:///./src/components/basic/StCollapse.vue?6bef","webpack:///./src/components/list/StListWrap.vue?b690","webpack:///./src/components/list/StListWrap.vue","webpack:///./src/components/list/StListWrap.vue?6525","webpack:///./src/components/list/StListWrap.vue?a8b8","webpack:///./src/layout/UnauthorizedLayout.vue?d05d","webpack:///./src/layout/UnauthorizedLayout.vue","webpack:///./src/layout/UnauthorizedLayout.vue?2afc","webpack:///./src/layout/UnauthorizedLayout.vue?99a8","webpack:///./src/layout/AuthLayout.vue?82c6","webpack:///./src/layout/AuthLayout.vue","webpack:///./src/layout/AuthLayout.vue?e3dc","webpack:///./src/layout/AuthLayout.vue?3486","webpack:///./src/axios-setup.ts","webpack:///./src/components/basic/StButton.vue?b3cb","webpack:///./src/components/basic/StLoaderIcon.vue?7c1f","webpack:///./src/components/basic/StLoaderIcon.vue","webpack:///./src/components/basic/StLoaderIcon.vue?ec6a","webpack:///./src/components/basic/StLoaderIcon.vue?7db5","webpack:///./src/components/basic/StButton.vue","webpack:///./src/components/basic/StButton.vue?049d","webpack:///./src/components/basic/StButton.vue?f31e","webpack:///./src/components/basic/StSelectButton.vue?ba8c","webpack:///./src/components/basic/StSelectButton.vue","webpack:///./src/components/basic/StSelectButton.vue?a7f1","webpack:///./src/components/basic/StSelectButton.vue?e633","webpack:///./src/validation/index.ts","webpack:///./src/components/list/StListItem.vue?5754","webpack:///./src/components/list/StListItem.vue","webpack:///./src/components/list/StListItem.vue?ed77","webpack:///./src/components/list/StListItem.vue?b395","webpack:///./src/components/basic/ConfirmButton/StConfirmButton.vue?ec99","webpack:///./src/components/basic/ConfirmButton/StConfirmButton.vue","webpack:///./src/components/basic/ConfirmButton/StConfirmButton.vue?9d17","webpack:///./src/components/basic/ConfirmButton/StConfirmButton.vue?fa8f","webpack:///./src/components/basic/ConfirmButton/StDeleteButton.vue?2af1","webpack:///./src/components/basic/ConfirmButton/StDeleteButton.vue","webpack:///./src/components/basic/ConfirmButton/StDeleteButton.vue?9910","webpack:///./src/components/basic/ConfirmButton/StDeleteButton.vue?4541","webpack:///./src/components/basic/StButtonRound.vue?8d96","webpack:///./src/components/basic/StButtonRound.vue","webpack:///./src/components/basic/StButtonRound.vue?6eba","webpack:///./src/components/basic/StButtonRound.vue?8e87","webpack:///./src/components/list/StListItemHeader.vue?1ed7","webpack:///./src/components/list/StListItemHeader.vue","webpack:///./src/components/list/StListItemHeader.vue?1819","webpack:///./src/components/list/StListItemHeader.vue?f352","webpack:///./src/components/list/StListItemWrap.vue?89f9","webpack:///./src/components/list/StListItemWrap.vue","webpack:///./src/components/list/StListItemWrap.vue?f2c8","webpack:///./src/components/list/StListItemWrap.vue?8819","webpack:///./src/components/basic/StCheckbox.vue?8c63","webpack:///./src/components/basic/StCheckbox.vue","webpack:///./src/components/basic/StCheckbox.vue?b7c8","webpack:///./src/components/basic/StCheckbox.vue?a924","webpack:///./src/components/basic/StLoading.vue?7cfe","webpack:///./src/components/basic/StLoading.vue","webpack:///./src/components/basic/StLoading.vue?daba","webpack:///./src/components/basic/StLoading.vue?2e02","webpack:///./src/components/basic/StEditDiv.vue?9d3b","webpack:///./src/components/basic/StEditDiv.vue","webpack:///./src/components/basic/StEditDiv.vue?3f94","webpack:///./src/components/basic/StEditDiv.vue?6308","webpack:///./src/layout/ExportLayout.vue?8438","webpack:///./src/layout/ExportLayout.vue","webpack:///./src/layout/ExportLayout.vue?2728","webpack:///./src/layout/ExportLayout.vue?67c6","webpack:///./src/numeral-setup.ts","webpack:///./src/services/service_worker.ts","webpack:///./src/layout/SharedLayout.vue?2c17","webpack:///./src/layout/SharedLayout.vue","webpack:///./src/layout/SharedLayout.vue?9b9d","webpack:///./src/layout/SharedLayout.vue?86b9","webpack:///./src/components/loading/ReloadLoading.vue?7036","webpack:///./src/components/loading/ReloadLoading.vue","webpack:///./src/components/loading/ReloadLoading.vue?e86a","webpack:///./src/components/loading/ReloadLoading.vue?c5c1","webpack:///./src/signalr/sthub.ts","webpack:///./src/components/basic/Form/StSeparator.vue?babf","webpack:///./src/components/basic/Form/StSeparator.vue","webpack:///./src/components/basic/Form/StSeparator.vue?e4f5","webpack:///./src/components/basic/Form/StSeparator.vue?d58a","webpack:///./src/components/basic/StDecimalInput.vue?f0b0","webpack:///./src/components/basic/StDecimalInput.vue","webpack:///./src/components/basic/StDecimalInput.vue?1462","webpack:///./src/components/basic/StDecimalInput.vue?cad0","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportHIP.vue?ce48","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportHIP.vue","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportHIP.vue?c86c","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportHIP.vue?b6c8","webpack:///./src/layout/AdministratorLayout.vue?3674","webpack:///./src/layout/AdministratorLayout.vue","webpack:///./src/layout/AdministratorLayout.vue?9998","webpack:///./src/layout/AdministratorLayout.vue?9384","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportAbraham.vue?ead4","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportAbraham.vue","webpack:///./src/main.ts","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportAbraham.vue?e693","webpack:///./src/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportAbraham.vue?e1a5","webpack:///./src/components/basic/StProgress.vue?5989","webpack:///./src/components/basic/Form/StSeparator.vue?7cd8","webpack:///./src/views/Admin/Queries.vue?62a1","webpack:///./src/views/List/ListExternal.vue?0a66","webpack:///./src/components/basic/StTimePicker.vue?4ba3","webpack:///./src/services/api/nswag/stapiclient_generated.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","use","Store","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","rules","valImmediate","scopedSlots","_u","fn","ref","errors","_v","_s","$t","label","_e","_b","class","inputClass","successButtonColor","disabled","domProps","currencyValue","on","input","inputCurrency","$event","select","$attrs","currency","staticRenderFns","userSettings","focus","$refs","inputfield","toFixed","replace","$forceUpdate","val","replaceAll","parseFloat","currentTarget","inheritAttrs","component","languages","en","assign","i18n","locale","fallbackLocale","silentFallbackWarn","silentTranslationWarn","messages","bgClass","large","_t","default","small","mark","indexOf","_k","keyCode","$emit","innerWidth","$slots","addon","markOnFocus","setPrimaryColor","primaryColor","documentElement","style","setProperty","pickTextColorClassBased","primaryLight","lightenDarkenColor","primaryDark","primaryLighter","primaryDarker","setSecondaryColor","secondaryColor","secondaryLighter","secondaryLight","secondarySlightlyDarker","secondaryDark","secondaryDarker","toLowerCase","hexcolor","split","map","hex","join","parseInt","substr","g","b","yiq","isDarkColor","successButtonColorClass","successButtonColorEnum","Green","Primary","Secondary","color","percent","R","substring","G","B","toString","RR","GG","BB","notifyError","messageTranslationKey","$notify","text","icon","notifyWarning","notifyDeletion","undoFunction","duration","isDeletion","undoFunc","notifySuccess","notifyBudget","model","isBudget","budget","apiBasePath","stAuthenticationApi","a","stCustomerApi","stImpersonationApi","stProjectApi","stProjectTaskApi","stRateRuleApi","stAppUserApi","stAppUserHistoryApi","stAppUserVacationHistoryApi","stAppUserInternalCostHistoryApi","stAppUserBillableTargetHistoryApi","stAccountApi","stTimeEntryApi","stTagApi","stStopwatchApi","stLookupApi","stPublicHolidayGroupApi","stPublicHolidayApi","stAbsenceApi","appUserRightApi","roleApi","projectStaffApi","stListApi","stListSharedApi","stReportApi","stPaymentApi","outgoingInvoiceApi","timeEntryExtraFieldMetadataClient","supportApi","stAdminApi","stInvoiceApi","stTransferAccountApi","stNewsApi","stTimeAdjustmentApi","stTimeAccountApi","stTeamOverviewApi","stTimeEntryDayApprovalApi","stAbsenceTypeApi","stProjectFixedPriceReportApi","UserModule","userSettingsInternal","dataLoaded","isLoggedIn","currentUser","templates","id","filename","isDark","textOnBackground","mainColor","pauseMode","Manual","Auto","TimeEntry","timeEntryMode","Duration","appUserId","rightEnumKey","userRights","some","x","userNowDateTime","fromISO","local","toFormat","ensureUserData","getCurrentUser","setCurrentUser","getCurrentUserSettings","setUserSettings","language","defaultLocale","template","find","_","templateName","textOnBackgroundLighter","dynamic","store","namespaced","UserStore","amountModel","overrideAmount","callback","$$v","$set","expression","setOverrideAmountFalse","finalAmount","staticStyle","_f","finalSource","useRateRules","projectRuleAmount","amount","Project","sourceRule","filter","fromJS","rateRuleAmountFilter","projectTaskId","projectId","customerId","getCustomerProjectRateRuleAmount","res","components","StCurrencyInput","displayLoading","close","open","isOpen","delayLoading","loading","SlideIn","firstSelectedCustomer","elementIsVisible","timeFrameSelectDummyValue","timeFrameLabel","proxy","_l","timeFrame","Name","isActive","isTimeFrameActive","selectTimeFrame","preventDefault","Label","From","To","internalFilter","timeframe","entryDateFrom","internalFilterUpdated","entryDateTo","selectCustomTimeFrame","showOnlyDate","singleCustomer","active","customerIds","hasDisplayProp","addFilter","projectIds","hasProjectTasks","projectTaskIds","hasMultipleUsers","appUserIds","hasTags","tagIds","isBillable","hasOutgoingInvoices","hasOutgoingInvoice","isCleared","description","extraFields","internalFilterExtraFieldsLength","directives","rawName","customers","removeFilter","projects","projectTasks","appUser","tags","billableOptions","invoicedOptions","clearedOptions","descriptionFilter","item","index","dataType","TimeEntryExtraFieldDataTypeEnum","YesNo","yesNoOptions","getExtraFieldFilterText","setExtraFieldFilterText","from","to","budgetUnit","internalDateFrom","internalDateTo","selectsLoaded","projectFilter","includeViewOnlyProjects","customerFilter","includeViewOnlyCustomer","projectTaskFilter","appUserFilter","tagFilter","internalDescriptionFilter","timeFrames","displayProps","internalExtraFields","loadProjectSelect","Custom","JSON","parse","stringify","createTimeFrames","loadTagSelect","loadCustomerSelect","loadAppUserSelect","loadProjecTaskSelect","loadExtraFields","$nextTick","timeFrameChanged","filterControl","elem","hiddenElements","useBasicTimeTracking","isBasicTimeTrackingUser","timeEntryExtraFieldMetadataId","searchText","findIndex","extraFieldTimeout","flatMap","items","descriptionTimeout","datePattern","namedTimeFrame","getList","Rating","getSelectListForFilter","prop","noApply","clone","Array","isArray","removeDisplayProp","Today","minus","days","Yesterday","startOf","endOf","ThisWeek","LastWeek","Last7","Last30","Mtd","ThisMonth","months","LastMonth","ThisQuarter","LastQuarter","Ytd","ThisYear","years","LastYear","All","triggerTimeFrameSelectValueChange","IsoFrom","IsoTo","customerSelect","projectSelect","appUserSelect","tagSelect","projectTaskSelect","click","billableSelect","invoicedSelect","clearedSelect","computed","StInput2","show","slot","preserveWhitespace","maxWidth","ToggleHandler","openIds","ids","forEach","toggle","ObjectEditor","_data","originalData","editMode","isNew","getLogo","file","logo","logoBase64","size","URL","createObjectURL","reader","FileReader","readAsDataURL","onloadend","base64Data","dateEqual","dateTime","dateTime2","year","month","day","dateGreaterEqual","dateSmallerEqual","padZero","timeInt","getHours","durationMinutes","hoursInt","minutesInt","showPlusSign","showPlusMinusSign","isNegative","Math","abs","floor","sign","getHoursFromSeconds","durationSeconds","secondsInt","startOfMonth","date","fromFormat","zone","endOfMonth","firstOfMonth","plus","startOfWeek","weekdayNumber","firstDayOfWeekInt","diff","endOfWeek","DtFromIso","dateISO","DateForEach","dateFrom","dateTo","start","roundToTwo","num","round","formatCentToEuro","format","formatDate","formatString","dt","isDateTime","isNative","nativeOn","arguments","resize","$el","users","noPadding","className","option","selectedUserId","resetUser","loadUsers","rightEnum","canEditTimeEntriesForEmployees","isArchived","layout","budgetModel","projectName","percentage","actualValue","undoDeletion","barClass","progress","width","progressInternal","budgetMode","closeFunc","StProgress","default_layout","windowWidth","$route","meta","StNotification","createNewCustomer","searchTextHasBeenSetRecently","search","searchModeOptions","searchMode","showProjectTasks","showArchived","toggleShowArchived","filteredCustomers","customer","stopPropagation","editCustomer","customerIsReadonly","noOfActiveProjects","noOfArchivedProjects","getCustomerProject","fixedPrice","finishedDate","getDummyCustomerProject","hasBudget","canViewBudget","budgetLoading","getBudgetModel","hasNoProjects","isFixedPrice","canViewRates","activeFixedPriceRate","canViewProjectReport","projectReport","canEditCustomersAndProjects","newProject","finishProjectLoadingId","toggleProjectFinish","archiveCustomerLoadingId","toggleCustomerArchive","delCustomerLoading","customerDelete","isBasicTimeTrackingDefaultProject","project","editProject","archiveProjectLoadingId","delProjectLoading","toggleProjectArchive","projectDelete","isReadonly","useCustomerProjectId","customerProjectId","finishLoading","toggleFinish","archiveLoading","toggleArchive","delLoading","projectTask","CanViewRates","noRates","CanViewTimeEntriesForEmployees","CanEditCustomersAndProjects","featureFlagCustomerProjectId","params","customerid","projectid","readonly","$router","methods","StBadge","ProjectBudget","hasBeenSetRecently","registerHooks","projectBudgets","loadData","loadBudget","next","budgetIndex","getProjectBudgets","apiBudgetModels","hasApiBudget","showArchivedProjects","isBasicTimeTrackingDefaultCustomer","toggleFinishProject","toggleArchiveProject","toggleArchiveCustomer","delete","confirmationNeeded","$dialog","confirm","title","variant","okButtonText","cancelButtonText","isOk","StSearch","StToggle","ProjectSingle","handleSubmit","invalid","submit","loginModel","passwordType","togglePasswordType","fas","passwordShown","st2Link","timeEntryTypes","isLoaded","types","getTimeEntryTypes","setTimeEntryTypes","setIsLoaded","LookupStore","StopwatchModel","IsValid","now","utc","serverDiffSeconds","stopwatchStartDateTimeUtc","seconds","Timer","clearInterval","setInterval","getServerDiff","toISO","setServerDiff","loadServerDiff","getRunning","stopwatch","setStopwatchModel","loadStopwatch","startForProject","timeEntryId","resume","stop","StopwatchStore","base64Logo","paymentStatus","loadLogo","logoRes","setLogo","setBase64Logo","AccountStore","openAbsenceRequestCount","CanApproveAbsences","getOpenAbsenceRequestCount","setOpenAbsenceRequestCount","AbsenceStore","openApprovalRequestCount","getTeamOverviewApprovalModel","setModel","featureFlagTimeApproval","CanApproveTimeEntryDays","getNoOfOpenApprovals","setOpenApprovalRequestCount","ApprovalStore","reloadGlobalData","reloadStore","initializeStore","getOpenApprovalRequestCount","resetGlobalData","resetStore","reset","fromHp","fromhp","logout","prelogin","email","preLoginCheck","st2AccountName","loginInfo","AccountName","Username","Password","password","Issue","uninterceptedAxiosInstance","post","withCredentials","location","ch","login","requestSent","forgotPasswordModel","forgotPassword","editProjectTask","filteredProjectTasks","archivedLoadingId","projectTaskDelete","put","getNewRule","globalRule","editModel","loadEditModel","newRule","filterCustomers","settings","filterProjectTasks","filterAppUsers","useProjectTasks","noFilterSelected","lookups","customerProjects","appUsers","buttonState","ruleIsInvalid","isDisabled","selected","custToggleHandler","allProjectsDisabled","allProjectsSelected","toggleSelectAllProjects","childItems","selectedProjectIds","selectProject","allSelected","nestedIds","toggleMultiple","disabledParentNotSelected","disabledChildSelected","filterResult","newCustomer","RateRuleSelect","addRangeFromLookup","resultArray","lookupArray","RateRuleEditValidation","SetItemsParentNotSelected","y","newItem","z","selectEditModels","allChildrenSelected","parentToggle","childToggled","returnVal","allChildrenSelectedRecursive","setChildItems","RateRuleSelectNestedInner","HalfSelectedCheckbox","getSelectEditModels","selectItems","editItems","editModels","getEditModels","getLookpus","parentRateRuleId","setFilterBools","loadLookups","RateRuleProjectSelect","RateRuleSelectNested","sortDisabled","rateRules","parentRateRule","parentIsGlobalRule","deleteItem","newRateRuleEditMode","newRateRuleEditModel","firstColumnHeader","nestedNames","secondColumnHeader","header","thirdColumnHeader","disabledReason","childRateRules","sortOrder","models","updateSortOrder","isGlobal","editModeAnyChild","customerNames","projectTaskNames","appUserNames","resp","getNew","rateRule","RateRuleEdit","RateRuleItem","getRules","disableAddUsers","content","editUser","filteredUsers","user","userStore","roleName","managerName","isPassiveUser","sendingInvitationId","resendInvitation","userDelete","slideOutClosed","userEditModel","tabs","possibleManager","roles","roleChanged","featureFlagMixedUsers","roleId","featureFlagPassiveUsers","hasAppUserRights","isPassiveUserManager","right","isCanViewTimeEntriesForEmployees","canWriteAllEmployeesAndProjects","isCanViewCustomerAndProjects","canEditMasterData","rightId","rightDescription","rightIsDisabled","rightChanged","useProjectTimeTracking","hasRightAllProjects","canViewTimeEntriesForEmployees","projectStaffEditModels","userId","publicHolidayGroupOptions","historyItems","vacationHistoryItems","internalCostHistoryItems","billableTargetHistoryItems","activeTabName","closeSlideIn","saving","isEditingItem","addNewItem","_m","useDailyWorkHours","weeklyWorkHoursChanged","dailyWorkHoursChanged","cancel","saveItem","validFrom","weeklyWorkHours","workingHours","displayWarning","remove","unwatch","$watch","updateOutside","newHistoryItem","unshift","dailyWorkHours","reduce","validFromYear","vacationDaysPerYear","isFirstEntry","arr","AppUserVacationHistoryEdit","selectButton","clearable","closeOnSelect","wrapper","buttonWrapper","selectButtonLabel","selectButtonPlaceholder","placeholderClass","selectButtonIcon","hideSelectButtonIcon","selectButtonClearButton","selectButtonClearIcon","selectButtonTagWrapper","selectButtonTag","selectButtonTagText","selectButtonTagDeleteButton","selectButtonTagDeleteButtonIcon","dropdown","dropdownFeedback","loadingMoreResults","optionsList","hideOptions","searchWrapper","searchBox","optgroup","isProjectSelect","hideOptGroups","disabledOption","highlightedOption","selectedOption","selectedHighlightedOption","optionContent","optionLabel","selectedIcon","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hideSearchBoxProp","multiple","getOptions","placeholder","selectedValue","getSearchOptions","getSearchBoxPlaceholder","blur","fetchError","options","raw","idProp","colorClass","labelProp","deselect","getParentName","labelIcon","backgroundImage","getIsDummyCustomerProjectForComponent","query","delayedValue","delayedValueWatch","deep","openOnMounted","hideSearchBox","searchBoxPlaceholder","groupName","translateOptions","grouped","getIsDummyCustomerProject","children","trichselect","getElementsByClassName","validate","opt","groupMatch","child","isMatch","results","optionIndex","unselectOptionAtIndex","parent","reduceFunc","unassignedProjects","assignProject","assignedProjectId","canViewTimeEntriesForEmployeesGlobal","canViewTimeEntriesEmployee","toggleCanViewTimeEntriesEmployee","unassignProject","selectedProjects","unselectedProjects","getSelectListForProjectAssignment","canViewAllProjectTimeEntries","canEditAllProjectTimeEntries","currentVal","canEditTimeEntriesEmployee","has","renderForSingleTab","activeTab","tab","TabName","Disabled","changeTab","costPerHour","billableTargetPercent","appUserRights","authorizedProjects","canAccessAllProjects","listPage","useAbsences","loadAppUserRights","featureFlagAppUserDepartmentInfo","featureFlagEmployeeData","hidden","isMasterDataRight","isAllowed","selectedRole","CanEditTimeEntriesForAllProjects","CanViewCustomerAndProjects","CanEditTimeEntriesForEmployees","every","useTimeAccount","useInternalUserCost","featureFlagBillableTarget","slideIn","openSlideIn","getAuthorizedProjectListByAppUser","getManagerList","timeRoundingInterval","getGroupedSelectList","loadProjectStaffEditModels","canViewCustomerAndProjects","appUserid","successText","merge","mergeByAppUser","AppUserBillableTargetHistory","AppUserInternalCostHistory","RoleExplanationTable","StTabs","StExplanation","AppUserHistory","AppUserVacationHistory","StSelect","AppUserProjectStaffEdit","isInTrial","licensedUserCount","licensedUserCountBasic","EditUser","newsModel","url","newsClicked","userDisplayText","canEditTimeEntriesEnumValue","userChanged","selectedDate","changeSelectedDate","useTimeApproval","isDifferentUser","approvalChanged","isSelectedDate","entryDay","showFullWeek","gradient","collapse","revenue","revenueNotBillable","accountIsLocked","addTimeEntry","addPauseEntry","displayDay","appUserDay","violatedRule","ruleDescription","timeEntries","dayDescription","copyLastWorkdayLoading","copyLastWorkday","copyWeekBeforeLoading","copyFromDayWeekBefore","entry","timeEntryType","weekNumber","changeDayIso","goToToday","moveWeek","moveDay","toISODate","getTimeEntryDay","changeDay","hasEntries","hasViolatedRules","primaryColorIsDark","dayDateTime","isWorkDay","badge","approvalBgColor","approvalIcon","GetTeamOverviewApprovalIcon","enums","warnings","violatedValidationRules","includes","ruleEnum","PauseWarningEnums","PauseRuleViolated","PauseValidationNotPossible","FreeDayWarningEnums","TimeEntriesOnFreeDay","TimeEntriesOnSundayOrPublicHoliday","TimeEntriesOnAbsenceDay","DailyWorkTimeWarningEnums","MaxDailyHoursExceeded","RestTimeUndershot","RestTimeValidationNotPossible","TimeEntryWarningEnums","NoTimeEntries","ConflictingTimeEntries","NotCriticalWarningEnums","needsTimeEntryApproval","timeEntryDayApproval","approvalEnum","IsDeclined","IsApproved","IsSubmitted","IsSubmittedImplicitly","comment","placement","badgeText","startOfWeekDt","endOfWeekDt","weekOffset","weeks","dayOffset","dateIso","DateSliderItem","timeEntry","restrictDateFrom","restrictDateTo","fromList","loadPauseRules","showAdditionalInsertAppUserSelect","myself","usersWoSelf","timeChanged","calculatePause","isInputTimeFromTo","toggleIsInputTimeFromTo","useLastProjects","lastProjects","groupedItem","selectedProject","customerTimeEntryComment","projectTimeEntryComment","projectTasksGrouped","projectTaskRequired","hasRates","fixedPriceCalcRate","rateAmount","entryDate","submitForm","initialized","tagsRequired","isBillableNotChangeable","field","toolTip","isRequired","selectionValues","insertDateTime","lastUpdateDateTime","durationHours","change","popoverOpen","hourPart","minutePart","hours","minutes","hourChanged","minuteChanged","hour","minute","changeMinutes","parseMinutePartFromEvent","interval","strVal","intVal","parseMinutePart","tempHourPart","tempMinutePart","hoursArray","minutesArray5","minutesArray10","minutesArray15","minutesArray30","tempHourMinuteString","evt","timeString","time","parsedTimeString","parseHourPart","StTimePickerPopover","getDurationMinutes","ev","StTimePicker","timeEntryRateAmount","overwriteWithNewRateAmount","initialCalculatedRateAmount","rateRuleAmountModel","initialRateRuleAmountChanged","getCalculatedRateRuleAmount","watcher","getRateRuleAmount","prevDescriptionsOpen","desc","selectedPrevDescription","selectPrevDescription","filteredPrevDescriptions","isExactMatch","clicked","handleDescriptionKeyDown","previousDescriptions","getPreviousDescriptions","openPrevDescriptions","focusNative","shiftKey","TimeAccountSummary","setLoading","getTimeAccountSummaryForTimeEntriesPage","setTimeAccountSummary","TimeAccountStore","TimeEntryDays","resetSelectedUser","getListForUser","weekYear","SetTimeEntryDays","SetSelectedDate","featureFlagTimeAccountSummaryOnTimeEntryPage","LoadTimeAccountSummary","TimeEntryStore","pauseRules","lastUsedPauseRuleDurationMinutes","addFromStopwatch","entryHasPause","displayIsBillableChangedWarning","passedEntryDate","currentRoute","activeGroup","loadProjects","loadLastProjects","loadTags","durationMinutesPause","loadSelectedProject","loadProjectTasks","oldInputType","projectChanged","canSwitchTimeEntryMode","getIsTimeFromToByProject","timeFrom","timeTo","preselectedProjectTaskId","featureFlagLastUsedProjects","isBasicTimeEntry","usePauseAtTimeEntry","DurationAndTimeFromTo","enforcePauseRules","getPauseRules","stopAndGetTimeEntryEditModel","getSelectListForTimeTracking","getSelectListOnlyLastUsed","getListForTimeEntry","getSelectListForListTimeEntry","timeEntryForm","timeEntryIsBillableNotChangeable","timeEntryExtraFields","getTimeEntryViewModel","getSelectListForProject","showConsumedBudgetOnSave","getBudgetConsumption","timeFromLuxon","timeToLuxon","isTwoDayEntry","oldDuration","newDuration","singleRule","pauseSingleRules","durationMinutesFrom","durationMinutesTo","durationMinutesMinPause","wasTwoDayEntryBeforeTimeChange","toMillis","StDurationPicker","StTextarea","TimeEntryRateInput","StarRating","DescriptionTextarea","btnLoading","Pause","editTimeEntry","showDateChanger","copyTimeEntry","userNowDateString","moveTimeEntry","customerHasNoProjects","customerName","projectTaskName","getExtraFields","extraField","isValid","warning","maxWarningSeverity","stopwatchLoading","resumeStopwatch","isDeleteDisabled","deleteLoading","hideInDayView","LoadTimeEntryDays","SelectedDate","undelete","StSupBadge","editPause","isRunning","startStopLoading","edit","changeProjectFlag","openTimeEntryWhenStopStopwatch","deleteStopwatch","startDefaultStopwatch","changeProject","getProjectOptions","projectSelectQuery","projectSelectSearchTriggered","projectSelectIsOpen","setProjectSelectIsOpenFalse","hiddenanim","IsRunning","RunningSeconds","startStopwatchForProject","stopStopwatch","loadConnectedData","StopwatchSelect","dayLockedComment","currentDayCanBeSubmitted","submitDay","currentWeekCanBeSubmitted","submitWeek","timeEntryDays","currentDate","dayCanBeSubmitted","dayLockedApprovalComment","approvalMode","setTimeEntryDayApproval","summary","hasTargetHoursGlobal","getTodayTooltip","todaysAppUserDay","balanceMinutes","targetMinutes","balanceOverall","durationMinutesBalance","durationMinutesWork","todayData","currentWeekAppUserDays","toolTipText","overtimeIsApproved","overtimeIsApprovedComment","displayOvertimeIsNotApprovedWarning","isHtml","sum","openDays","getNews","Reset","tempUseNewTimeAccountSummary","SetSelectedUserId","dateNotInSlider","dts","useManualPause","timeEntriesShowFullWeek","dayHeader","getElementById","scrollIntoView","behavior","block","copied","copyDayPreviousWeek","TimeEntriesApproval","PauseEntry","AutoPauseEntry","DateSlider","TimeEntryEdit","PauseEdit","StopwatchOldLayout","UserSelect","editTag","filteredTags","tagDelete","editGroup","showGlobal","filteredGroups","group","canEditAbsencesForEmployees","loadDataDelayLoading","addAbsence","changeYear","vacationStats","totalVacationDaysThisYear","carryOverVactionDays","approvedVacationDays","requestedVacationDays","restVacationDays","nextVacation","nextVacationInDays","$screens","lg","attributes","fromDate","dayclick","updateCalendar","monthLabel","yearLabel","dayTitle","attribute","customData","absenceType","absence","approvalNeeded","isApprovalDecided","isApproved","absences","editAbsence","isReadOnly","deleteAbsence","absenceEditModel","isOwnAbsencesEdit","reloadAbsenceTypes","absenceTypeViewModel","absenceTypes","validateAbsence","changeDateFrom","isHalfDay","changeDateTo","halfDayAllowed","halfDayMakesSense","changeHalfDay","absenceValidationViewModel","neededVacationDays","neededVacationDaysPerYear","number","remainingVacationDaysPerYear","getValue","minDate","maxDate","pickerLocale","changedDate","clear","toUpperCase","lang","log","absenceId","readonlyAbsenceTypeViewModel","backRouteName","getNewForDay","getViewModelById","absenceTypeId","loadAbsenceTypes","getListAbsenceTypeForUser","CanEditAbsencesForEmployees","isVacation","allowHalfDay","StDatePicker","absenceTypeEnum","getPublicHolidayColor","VCalendarHighlightColor","VCalendarHighlightFillMode","BgColorClass","constructBorder","absenceViewModel","constructBg","getAbsenceColor","VCalendarDotColor","Vacation","BorderClass","Overtime","Sick","Other","publicHolidays","calendarEvent","weekday","plusminus","toJSDate","absenceColor","fillMode","attr","phColor","ph","dates","publicHolidayDate","highlight","popover","visibility","isPublicHoliday","publicHolidayId","end","getHighlightColorForAbsence","dot","getDot","isAbsence","loadDataRaw","getListForCurrentUser","getVacationStatsForUser","AbsenceTypeIcon","AbsenceLegend","AbsenceEdit","useInvoice","hasNoProjectChanged","useInvoiceEmailSending","countries","useEInvoice","invoiceDescriptionOverwritten","labelText","overwriteProp","textareaRows","textProp","settingsTextProp","rows","overwritePropName","settingsPropName","textPropName","assignableStaff","assignEmployee","assignedAppUserId","staff","getAppUserName","getCanViewTimeEntriesEmployeesGlobal","unassignEmployee","appUserName","getAllProjectUserCanViewAll","toggleAllProjectUserCanViewAll","explicitAssignedStaff","allProjectsAppUsers","canEditTimeEntriesForAllProjects","projectStaff","idx","StRatePicker","warningTextDisplay","checkFixedPrice","watchFn","checkFixedPriceChange","changeFixedPriceValueTo","checkResult","canBeChanged","warningText","endDate","startDate","budgetUnitOptions","setThresholdIfZero","useFixedPriceProjects","notifyOnBudgetOverrun","budgetOverrunThresholdPercent","StPercentInput","ProjectChangeFixedPriceWarning","fromInvoice","getNoOfActiveProjects","getEmployees","getProjectAsCustomerEditModel","projectEditModel","parentAmount","noOutgoingInvoices","EditCustomerProject","EditCustomerTextOverwriter","ProjectStaffEdit","hideGlobalProjectTasks","abort","projectTaskDelLoadingId","getRateRuleAmountFilter","getNewWithProjectId","allEmployeesAllowed","Hours","allowDeleteDependentEntitiesForProjectTasks","ProjectProjectTaskEditList","reportModel","back","dataAvailable","budgetPercentage","budgetActualValue","hoursNotBillable","revenueBillable","allEntriesHaveCost","db1","cost","timeRevenueChartOptions","chartOptions","series","userChartHoursOptions","userChartRevenueOptions","userFullName","getUserPercentage","getUserPercentageLabel","getSelectListForProjectReport","getProjectReport","generateUserChartHours","generateUserChartRevenue","timeFrameModel","maxRevenue","max","maxCost","chart","height","colors","plotOptions","bar","endingShapes","columnWidth","stroke","dashArray","dataLabels","enabled","labels","displayTimeChartDaily","$options","filters","formatMonth","xaxis","yaxis","seriesName","formatter","formatNumber","opposite","forceNiceScale","userModel","tooltip","editInvoice","switchMonth","switchDate","filteredInvoices","invoice","cleared","invoiceDate","invoiceNo","vatRate","netAmount","vatAmount","grossAmount","getStatusString","printLoadingId","printPdf","timeEntryIds","printActivityLoadingId","printActivityReport","togglePreview","showPreview","deleteInvoice","outsideId","finalDescription","logoUrl","settingsModel","customLayoutComponentName","addressFromCalculated","fromTaxNumberDe","isEInvoice","fromVatId","fromContactEmail","addressToCalculated","toVatId","toContactEmail","pos","position","quantity","unit","paymentTerms","footer","layoutName","dateFromPlaceholder","dateToPlaceholder","contactNamePlaceholder","getSettingsViewModel","getViewModelFromEditModel","getViewModel","OutgoingInvoiceExportClassic","OutgoingInvoiceExportModern","OutgoingInvoiceExportOther","OutgoingInvoiceExportOther2","invoices","previewIds","isoStr","currentStatus","statusTranslationString","getPdf","getActivityReport","newDate","newDateTime","delta","OutgoingInvoiceExport","statusString","statusDate","isSavedInvoice","customerChanged","goToTab","filterJson","timeEntryFilterChanged","placeholdersChanged","selectedTimeEntryIds","reloadStatus","overwriteChangedInvoice","showChangeWarning","filterLoading","applyFilter","timeEntryFilter","toggleAllEntries","entrySelected","toggleEntry","customerIdChanged","customerWatch","placeholders","invoiceId","DateFrom","DateTo","getOutgoingInvoiceTimeEntries","multiTimeout","loadTimeEntries","anyEntrySelected","TimeEntryFilterComponent","preview","layoutOptions","confirmOwnLayout","pdfActivityLoading","xmlLoading","getEInvoiceXml","pdfLoading","printInvoice","saveLoading","save","filterGroup","timeEntryGroups","filterGroupChanged","displayDatesOnGroup","displayDatesOnGroupChanged","positions","isCalculated","removePosition","calcRevenue","units","addPosition","amountNet","amountVat","amountGross","getOutgoingInvoiceLayoutOptions","vm","_val","reloadPositionsByTimeEntries","setImmediate","temp","getPositionsByTimeEntries","timeEntryGrouping","Rate","ProjectTask","getNewPositionEditModel","newPos","getXml","filterTimeFrame","getSelectList","isSent","sendLoading","send","status","Sent","emailText","sendEmail","listYear","listMonth","addressTo","address","eInvoiceAddressCalculated","toContactName","contactName","invoiceEmail","toCompanyName","toStreetAddress","streetAddress","toZip","zip","toCity","city","vatId","invoiceDescription","invoiceDescriptionSettings","invoicePaymentTermsOverwritten","invoicePaymentTerms","invoicePaymentTermsSettings","invoiceTitleOverwritten","invoiceTitle","invoiceTitleSettings","emailTo","invoiceEmailTextOverwritten","invoiceEmailText","invoiceEmailTextSettings","emailSubject","invoiceEmailSubjectOverwritten","invoiceEmailSubject","invoiceEmailSubjectSettings","reloadedEditModel","tabName","OutgoingInvoiceTimeEntries","OutgoingInvoiceDocument","OutgoingInvoiceCustomer","OutgoingInvoiceEmail","filterSelectVisible","savedReports","currentReport","changeReport","deleteListPreset","dirty","openSaveReport","createNewReport","filterLoaded","grouping","applyGrouping","saveListPresetLoading","saveListPreset","isExternalAccess","listPresetExternalUrl","copySuccess","listResult","numberOfEntries","exportPdf","excelLoading","exportExcel","listSettings","alignLandscape","displayFilter","toggleClearedLoadingId","deleteLoadingId","toggleClearedAll","toggleCleared","toggleDateSort","openColumnEdit","alignment","listSettingsWork","cancelSettings","saveSettings","cancelListPreset","dateGroupingEnabled","enableDateGrouping","dateGroupingOptions","dateGrouping","isCustomerGrouped","toggleGroup","isProjectGrouped","isAppUserGrouped","isProjectTaskGrouped","groupingModel","dateGroupingEnabledInternal","groups","toggleGroupInModel","isDayGrouped","isWeekGrouped","isMonthGrouped","isYearGrouped","oldVal","newVal","dateGroup","details","export","isExport","showLockAll","toggleSortDateAscending","columnIsVisible","getColumnWidth","extraFieldColumnIsVisible","getExtraFieldColumnWidth","pageIsChanging","resultRow","sumValue","durationMinutesSum","durationMinutesSumNotBillable","revenueSumBillable","copyDescription","getExtraFieldValue","getExtraFieldDataType","isSum","groupColSpan","firstoflevel","level1","level","level2","level3","level4","level5","lastoflevel","page","pager","changePage","containsNotBillableEntries","firstPage","previousPage","totalItems","totalPages","nextPage","lastPage","queryParams","listSettingsModel","queryResult","pageSize","row","extraFieldName","listParams","extraFieldColumnLayout","column","columnLayout","columnName","CanClearEntries","sortDateAscending","contentRows","startIndex","endIndex","sumRows","pagedRows","pagerRow","visibleItems","remainingItems","ceil","week","colspan","extraFieldHeaderColumns","newvalue","visibleExtraFieldIds","hiddenColumns","copyText","ctrlKey","navigator","clipboard","writeText","ListPager","col","isSpecialCol","toggleColumn","getWidth","setWidth","extraFieldColIsVisible","toggleExtraFieldCol","isNumericExtraField","getExtraFieldWidth","setExtraFieldWidth","hasWidth","extraFieldsRaw","Text","colId","extraFieldColLayoutExists","extraFieldColLayoutIndex","columnLayoutExists","columnLayoutIndex","Decimal","Integer","extraFieldColIndex","columnIndex","specialColIds","defaultFilter","reportName","showSavedReports","getDefaultListParams","listParameters","loadListPresets","defaultReport","isDefault","filterWatcher","watchFilterChanges","unwatchFilterChanges","groupingWatcher","settingsWatcher","getListPresets","newEntryDate","filterTo","freeze","generatePdf","columns","savereport","listPreset","getListPreset","listPresetId","TimeEntryGrouper","ListTable","ListColumnEdit","filteredItems","dataTypeDescription","deleteExtraField","datatypes","stopwatchEditModel","todayIso","saveStopLoading","handleSaveAndStop","getEditModel","observer","saveAndStop","filterItems","filterSelection","guid","listResultProp","getListByGuid","accountEditModel","wantsToUpgradeToProjectTimeTracking","useDisableVacationCarryover","featureFlagInternalUserCost","useRates","useOutgoingInvoices","featureFlagInvoiceEmail","upload","openFileSelect","deleteLogo","useEmailSending","submitInvoice","loadingOverlay","country","loadCurrentLocalIncrementValue","prefixDateFormatOptions","currentGlobalIncNo","localCurrentIncrementValue","invoiceNoPreview","getSettingsEditModel","getSettingsLogo","currentIncrementValue","no","datePrefix","prefixDateFormat","prefix","useGlobalIncrementValue","getCurrentLocalIncrementValue","incrementVal","padStart","incrementNoOfZerosToPad","files","fileData","uploadLogo","fileName","updateSettings","StSettingsSeparator","storeAdv","downloadPdf","hasAdv","getAdvEditModel","getAdvContractPdf","saveAdvData","deleteAccount","alert","timeEntryModes","checkPauseMode","pauseModes","showMixed","restrictTimeEntryInPastNoOfDays","restrictTimeEntryInFutureNoOfDays","availableModes","values","None","getTextFromPauseMode","getTextFromTimeEntryMode","usePauseRuleWarnings","TimeFromTo","getTimeTrackingSettings","accountId","updateTimeTrackingSettings","featureFlagFixedPriceProjects","featureFlagDisableVacationCarryOver","paymentIsSetup","currentUserRateRulesValue","deleteAll","AccountSettingsTimeTracking","AccountSettingsDeleteAccount","AccountSettingsPrivacy","AccountSettingsInvoice","userSettingsEditModel","openChangePassword","openApiKey","menuColors","successButtonColors","timeZones","datePatterns","timeRoundingIntervalOptions","changePassword","passwordType1","changePasswordEditModel","passwordType2","passwordType3","cancelChangePassword","changePasswordLoading","apiKey","copyApiKey","cancelApiKey","timePatterns","getTimeZoneIds","getDatePattern","getTimePattern","getAppUserSettingsEditModel","storeAppUserSettings","Dark","Light","CanChangeTimeFromTo","getCurrentUserApiKey","$clipboard","getExternal","ListExport","displayErrors","displayAll","insertDate","exception","logger","userIdentity","action","requestUrl","logs","getLogs","paymentCompany","paymentRecipient","paymentStreet","paymentZip","paymentCity","paymentCountry","paymentVatId","createdDate","invoiceNumber","userCount","paidTill","basePriceCent","amountCentNetFullUsers","userCountBasic","basePriceCentBasic","amountCentNetBasicUsers","vatReverseCharge","amountCent","vatAmountCent","grossAmountCent","paymentMethod","getInvoice","registerModel","exists","register","setupError","getErrorText","NoCustomer","setupErrors","transferAccount","isFullyMigratedFromSt2","CanEditAccount","upgrade","upgradeAccount","setValues","setVisibility","advCompany","advCompanyAddress","advContactName","advContactEmail","advContactPhone","advConclusionDate","account","Id","IsMigratedFromSt2","Email","PaymentIsSetup","PaymentPaidTill","TrialEndedMailSentAt","IsLocked","IsLockedAdminReason","unlockAccount","lockAccount","PaymentMethod","LicensedUserCount","PaymentBasePriceCent","PaymentInterval","LastLogin","daysLastEntry","daysCreated","anzahlUser","hatLogo","username","lastEntry","anzahlEntries","trialEndedMailSentAt","isLocked","isLockedAdminReason","getTableData","removeAccount","accountGuid","Guid","reason","startGroupdEdit","dayClicked","globalViewModels","globalOverwriteDates","userViewModels","publicHolidayGroupId","selectedGlobalGroupId","loadYearHolidays","userViewModel","getUserViewModelForDay","groupId","getOverwrittenAsWorkdayDates","onlyUserHolidays","isGlobalOverwrite","deleting","overwriteAsWorkday","globalGroups","openAbsenceRequests","approveAbsence","rejectAbsence","canApproveAbsences","displayOnlyDirectTeamMembersSwitch","loadAbsenceCalendarData","displayOnlyDirectTeamMembers","absenceData","loadUserAbsencesAndStats","currentUserId","absenceList","ExportExcel","exportLoading","daywidth","changeDayWidth","headerRowHeight","daysVisible","rowHeight","top","getAbsencesForUser","left","startDayOfYear","durationDays","hide","canApprove","approve","getBgClassForAbsence","getBorderClassForAbsence","endsNextYear","startsLastYear","getPublicHolidaysForUser","publicHoliday","publicHolidayColor","dayOfYear","Month","Days","MonthString","Year","border","Day","canAddAbsence","currentDayCell","currentDateDateTime","Months","WeekDayStrings","getCalendarForYear","monthItem","lastOfMonth","dayItem","IsDifferentMonth","weekDayDate","canEditAbsencesForEmployee","toLocal","scrollToCurrentMonth","calendar","refDate","dayInYear","scrollTo","scrollLeft","newWidth","isDeclined","hasIndirectManagedTeam","hasDirectManagedTeam","getListForAllActiveUsers","getOpenAbsenceRequests","absenceFilter","CalendarHorizontal","canManageTimeAdjustmentEnumValue","yearlyModel","appUserMinYear","currentYear","appUserModel","storeTimeAccountDisplayDetails","displayDetails","delayLoadingSummary","useTargetHours","currentHistoryEntry","summaryModel","dayInMonth","dayOfWeek","editAdjustment","addAdjustment","hasTargetHours","isVirtual","timeAdjustments","canManageTimeAdjustment","adjustment","workingMinutes","CanManageTimeAdjustment","delayLoadingAppUser","timeAccountDisplayDetails","loadSummaryDelayLoading","loadYearlyDelayLoading","loadAppUserDelayLoading","getTimeAccountSummary","getTimeAccountUserViewModel","getTimeAccount","TimeAccountSumCell","TimeAccountDayCell","timeAdjustment","deleteTimeAdjustment","regenerateInvoiceId","regenerateInvoice","daysOld","copy","firstAdminUserEmail","paymentReminderSentDateTime","paymentError","retryPayment","paidAt","setPaid","sendReminder","writeOff","getUnpaidInvoices","setInvoicePaid","sendInvoiceReminder","retryCardPayment","writeOffInvoice","string","exportExcelYear","emailLoading","sendReminderEmail","timeEntrySummaryLastSent","exportExcelMonth","exportExcelNightHours","getDayTooltip","getDayCssClass","featureFlagNightWorkReport","targetMinutesEffective","effectiveTargetMinutesEnteredPercentage","soll","ist","getTimeEntryStats","downloadMonthData","downloadYearData","downloadNightWorkData","sendTimeEntrySummaryMail","lostDays","report","leuteUndGeld","leuteUndGeldLost","realLeuteUndGeld","leute","leuteFull","leuteBasis","leuteGesamt","geldFull","geldBasis","geldGesamt","geldGesamtJahr","getLeuteUndGeld","getLeuteUndGeldBesser","LeuteUndGeldTable","changeWeek","timeFrameName","approvalStateChanged","hasViolatedValidations","getPauseWarnings","getDailyWorkTimeWarnings","getTimeEntryWarnings","getFreeDayWarnings","popOverOpen","getApprovalClass","openPopover","timeEntryDayApprovalEditModel","TimeEntryDayApprovalEnum","decline","getTimeEntryDayApprovalEditModel","setDate","hasViolatedValidationRules","getModel","TeamOverviewApprovalDay","TeamOverviewApprovalEdit","sync","calc","syncBambooHr","calculateAll","monthAsDate","changeMonth","currentMonthAsDate","overallDurationMinutesBalance","getTimeEntryStatsMonth","editItem","itemDelete","toggleArchived","absencyTypeEnums","getNewEditModel","insert","weekStart","weekName","hasWeekData","balance","durationMinutesTarget","overallBalance","getApprovalTooltip","command","weekStartDate","approveOverTimeWeek","getTimeAccountTeamWeeklyOverview","TeamOverviewTimeAccountApprovalForm","revenueFteChartOptions","userOverviewData","projectRevenue","projectRevenueFte","projectRevenueFteInclNotFinished","revenueFteData","getRevenueFteReport","getUserOverviewReport","avgRevenueFte","avgRevenueFteInclNotFinished","formatQuarter","upcomingPayments","dailyChart","monthlyChart","payment","amountFull","amountBasic","paymentInterval","paymentDate","dailyPayments","getUpcomingPaymentsViewModel","monthlyPayments","routes","path","anonymous","NotFound","router","base","beforeEach","matched","record","onboardingCompleted","nextUrl","fullPath","Global","Customer","GlobalProjectTask","AppUser","StInputEnum","appIsReady","menuClass","toggleMenu","isMigratedFromSt2","goToTimeEntries","stopwatchModel","accountPaymentIsSetup","settingsOpen","CanEditPublicHolidays","goToUserSettings","setShowFeedback","untouched","showMenu","lightMenu","goToMigration","accountIsConfirmed","sendingEmail","resendActivationMail","accountIsLockedAdminReason","showFeedbackWindow","submitFeedback","supportRequestModel","feedbackSending","showOnboarding","tagType","numberValue","numberChanged","inputValue","append","match","admin","useTeamOverview","isColiquio","openApprovalCount","CanViewAbsencesForEmployees","CanEditInvoices","CanEditProjectTasks","useTags","CanEditTags","divider","visible","startsWith","accountName","featureFlagTeamOverview","CanViewTeamOverview","featureFlagTimeAccountTeamOverview","menuColor","featureFlagHideTimeAccount","hasBillableTarget","CanEditRateRules","CanEditUsers","MainMenuItem","step","isFreelancer","changeIsFreelancer","onboardingModel","endOnboardingBasicTimeTracking","skipOnboarding","ratesChange","absenceChange","endOnboarding","getOnboardingEditModel","useOutgoingInvoice","saveOnboardingEditModel","skipOnBoarding","steps","tour","currentStep","previousStep","nextStep","skip","isFirst","isLast","useKeyboardNavigation","buttonSkip","buttonPrevious","buttonNext","buttonStop","$tours","appTitle","displaySendEmail","stopwatchRunning","afterEach","$root","$stHub","logon","getIsDisconnected","logoff","secondaryColorIsDark","impersonateUser","reload","stopImpersonation","sendSupportRequest","resendAccountActivation","OnBoardingTour","OnBoarding","OnBoardingMigration","MainMenu","StInput","noCloseAnimation","collapseMode","getHeaderColor","isVisible","toggleVisible","defaultCollapsed","headerColor","setupAxios","defaults","interceptors","config","headers","response","dir","Message","StLoaderIcon","StButton","keys","rule","hasParent","headerClasses","headerClass","nested","subheader","awaitsConfirmation","tooltipOnBody","confirmTooltipText","cancelDelete","tooltipText","startDelete","VPopover","doDelete","endDelete","noMargin","btnClass","crossed","boundariesElement","noSideButtons","getClasses","buttons","hasButtons","update","checked","minLoading","delayLoadingFlag","overlayClass","minLoadingTime","delayLoadingTime","editBtnFlexClassVar","textFlexClassVar","editDisabled","hideEditOnEmpty","editTooltip","setEditModeTrue","initialValue","textFlexClass","editBtnFlexClass","setupNumeral","delimiters","thousands","decimal","abbreviations","thousand","million","billion","trillion","ordinal","symbol","wb","install","Vue","connection","HubConnectionBuilder","withUrl","withAutomaticReconnect","nextRetryDelayInMilliseconds","retryContext","configureLogging","Critical","build","stHub","onreconnected","milliSeconds","random","state","HubConnection","Disconnected","getIsConnected","Connected","invoke","decimalValue","addonText","addressFrom","startup","h","$mount","container","directive","productionTip","StButtonRound","props","fixedClasses","overlay","modal","body","classes","closeIcon","overlayEnterClass","overlayEnterActiveClass","overlayEnterToClass","overlayLeaveClass","overlayLeaveActiveClass","overlayLeaveToClass","variants","onboarding","danger","dialog","titleWrapper","okButton","cancelButton","success","thousandsSeperator","fractionCount","fractionSeparator","symbolPosition","symbolSpacing","avoidEmptyDecimals","$workbox","domain","enableAutoPageviews","AbsenceTypeEnum","AbsenceClient","baseUrl","instance","jsonParseReviver","cancelToken","url_","options_","method","catch","_error","isAxiosError","_response","processGetNew","_headers","k","_responseText","result200","resultData200","AbsenceEditModel","throwException","encodeURIComponent","processGetNewForDay","processGet","confirmed","processDelete","DeleteResultModel","processGetListAbsenceType","AbsenceTypeViewModel","processGetListAbsenceTypeForUser","displayOnlyOwnTeam","processGetListForAllActiveUsers","AbsenceUserViewModel","processGetOpenAbsenceRequests","AbsenceViewModel","processGetOpenAbsenceRequestCount","processGetVacationStatsCurrentUser","VacationStatsViewModel","processGetVacationStatsForUser","content_","processGetList","processValidateAbsence","AbsenceValidationResultViewModel","processPost","processPut","processApprove","processReject","responseType","processExportExcel","contentDisposition","fileNameMatch","exec","Blob","AbsenceTypeClient","showArchive","processGetViewModelById","processGetNewEditModel","AbsenceTypeEditModel","processGetEditModel","processInsert","processToggleArchived","AccountClient","AccountEditModel","processGetTimeTrackingSettings","AccountTimeTrackingSettingsEditModel","accountTimeTrackingSettingsEditModel","processUpdateTimeTrackingSettings","processGetAccountInvoiceDataEditModel","AccountInvoiceDataEditModel","processSaveAccountInvoiceDataEditModel","processGetLicenseDataEditModel","LicenseDataEditModel","processSaveLicenseData","processGetLicenseDataViewModel","LicenseDataViewModel","addedUserCount","addedUserCountBasic","processCalculateNewAmount","PaymentAmountModel","processGetContractData","ContractDataViewModel","processGetAdvEditModel","AccountAdvEditModel","processSaveAdvData","processDeleteAccount","processGetAdvContractPdf","processGetInvoicePdf","processGetLogo","processUpgradeAccount","processDeleteLogo","FormData","processUploadLogo","processGetOnboardingEditModel","OnBoardingEditModel","processSaveOnboardingEditModel","processSkipOnBoarding","AdminClient","processSendTestMail","processThrowException","processGetLogs","Log","processGetTableData","processGetLeuteUndGeld","LeuteUndGeldViewModel","processGetLeuteUndGeldBesser","LeuteUndGeldReportModel","processGetUnpaidInvoices","UnpaidInvoiceViewModel","processSendInvoiceReminder","processRetryCardPayment","processSetInvoicePaid","processWriteOffInvoice","processRegenerateInvoice","processRemoveAccount","processLockAccount","processUnlockAccount","processSyncBambooHr","processCalculateAll","processGetUpcomingPaymentsViewModel","UpcomingPaymentsViewModel","AppUserBillableTargetHistoryClient","AppUserBillableTargetHistoryEditModel","appUserEditModels","processMerge","AppUserClient","processGetCurrentUser","AppUserViewModel","processGetCurrentUserApiKey","processGetCurrentUserSettings","AppUserSettings","processGetAppUserSettingsEditModel","AppUserSettingsEditModel","processStoreAppUserSettings","processChangePassword","processGetSelectListForListTimeEntry","StSelectListItem","processGetSelectList","processGetSelectListForFilter","StSelectListItemGroup","AppUserEditModel","processGetManagerList","appUserEditModel","processResendInvitation","processResendAccountActivation","processPayAppStore","processStoreTimeAccountDisplayDetails","AppUserHistoryClient","AppUserHistoryEditModel","AppUserInternalCostHistoryClient","AppUserInternalCostHistoryEditModel","AppUserRightClient","processGetEditModels","AppUserRightEditModel","AppUserVacationHistoryClient","AppUserVacationHistoryEditModel","AuthenticationClient","accountRegisterModel","processRegisterApp","processRegister","registrationSource","processRegisterHp","processLoginViaApiKey","processPrelogin","PreloginCheckModel","processLogin","processLoginApp","processLogout","processForgotPassword","resetPasswordModel","processResetPassword","CustomerClient","CustomerEditModel","processGetNoOfActiveProjects","CustomerViewModel","customerEditModel","processToggleArchiveCustomer","ImpersonateClient","processImpersonateUser","processGetUsersForImpersonation","processStopImpersonation","InvoiceClient","processGetInvoice","InvoiceViewModel","ListClient","ListResult","processGetListByGuid","processGetDefaultListParams","ListParameters","processGetExternal","processGeneratePdf","presetEditModel","processSaveListPreset","processGetListPresets","ListPresetListViewModel","processGetListPreset","ListPresetViewModel","processDeleteListPreset","processToggleClearedAll","ListSharedClient","processCheckPreset","processPreauthenticateSharedFilter","processGetHtml","LookupClient","processGetTimeEntryTypes","TimeEntryTypeViewModel","processGetTimeZoneIds","processGetDatePattern","StStringSelectListItem","processGetTimePattern","processGetUserNowDateTime","NewsClient","processGetNews","NewsModel","processNewsClicked","OutgoingInvoiceClient","processGetSettingsViewModel","OutgoingInvoiceSettingsViewModel","processGetSettingsEditModel","OutgoingInvoiceSettingsEditModel","processGetCurrentLocalIncrementValue","processUpdateSettings","processGetNewPositionEditModel","OutgoingInvoicePositionEditModel","processGetPdfViaApiKey","processGetPdf","processGetXml","showEmployees","processGetActivityReportViaApiKey","processGetActivityReport","processGetSettingsLogo","processSendEmail","OutgoingInvoiceEditModel","processGetPositionsByTimeEntries","outgoingInvoiceId","processGetOutgoingInvoiceTimeEntries","OutgoingInvoiceTimeEntryModel","processGetViewModel","OutgoingInvoiceViewModel","processGetViewModelFromEditModel","PaymentClient","processCreateSetupIntent","setupIntentId","processConfirmSetupIntent","SetupIntentConfirmationModel","processGetStripePublicKey","ProjectClient","ProjectEditModel","processGetProjectAsCustomerEditModel","ProjectAsCustomerEditModel","ProjectViewModel","processGetAuthorizedProjectListByAppUser","AuthorizedProjectList","processGetTimeEntryViewModel","ProjectTimeEntryViewModel","processCheckFixedPriceChange","ProjectCheckFixedPriceChangeResult","processGetProjectBudgets","ProjectBudgetViewModel","processGetBudgetConsumption","processGetSelectListLastUsed","processGetSelectListForTimeTracking","processGetSelectListForProjectReport","processGetSelectListForProjectAssignment","topX","includeFillerProjects","processGetSelectListOnlyLastUsed","processToggleFinishProject","processToggleArchiveProject","processGetProjectReport","ProjectReportViewModel","ProjectFixedPriceReportClient","processGetUserOverviewReport","ProjectFixedPriceUserOverviewModel","processGetRevenueFteReport","ProjectFixedPriceRevenueFteModel","processGetDailyRateReport","ProjectFixedPriceDailyRateReportModel","ProjectStaffClient","ProjectStaffEditModel","processGetEmployees","ProjectStaffAppUserViewModel","processMergeByProject","processMergeByAppUser","ProjectTaskClient","ProjectTaskEditModel","processGetNewWithProjectId","dryRun","ProjectTaskViewModel","processGetSelectListGrouped","processGetSelectListForProject","projectTaskEditModel","PublicHolidayClient","PublicHolidayEditModel","PublicHolidayViewModel","processGetListForCurrentUser","processGetOverwrittenAsWorkdayDates","processOverwriteAsWorkday","PublicHolidayGroupClient","PublicHolidayGroupEditModel","processGetGroupedSelectList","PublicHolidayGroupViewModel","RateRuleClient","RateRuleEditModel","rateRuleId","processGetLookpus","RateRuleLookupModel","processGetRules","RateRuleViewModel","processGetCustomerProjectRates","RateRuleAmountListModel","processGetCustomerProjectRateRuleAmount","RateRuleAmountModel","processGetRateRuleAmount","processUpdateSortOrder","processDeleteAll","ReportContollerClient","ReportViewModel","last12Months","processGetBillableTargetReport","BillableTargetReportModel","RoleClient","RoleViewModel","StopwatchClient","processGetRunning","StopwatchViewModel","StopwatchEditModel","clientDateTime","processGetServerDiff","processStart","processStartForProject","processResume","processEdit","processStop","processStopAndGetTimeEntryEditModel","TimeEntryEditModel","SupportClient","processSendSupportRequest","TagClient","TagEditModel","TagViewModel","processGetListForTimeEntry","TeamOverviewClient","processGetTimeEntryStats","TeamOverviewTimeValidationModel","showOverallBalance","processGetTimeEntryStatsMonth","processSendTimeEntrySummaryMail","processDownloadMonthData","processDownloadYearData","processDownloadNightWorkData","TimeAccountClient","processGetTimeAccount","TimeAccountYearViewModel","processApproveOverTimeWeek","processGetTimeAccountSummary","TimeAccountSummaryModel","processGetTimeAccountUserViewModel","TimeAccountUserViewModel","processGetTimeAccountSummaryForTimeEntriesPage","TimeAccountSummaryTimeEntryPageModel","processGetTimeAccountTeamWeeklyOverview","TimeAccountTeamWeeklyOverviewModel","TimeAdjustmentClient","TimeAdjustmentEditModel","TimeAdjustmentViewModel","TimeEntryClient","processGetSelectLists","TimeEntrySelectLists","processGetPauseRulesForCurrentUser","TimeEntryPauseRuleModel","processGetPauseRules","processGetIsTimeFromToByProject","processGetPreviousDescriptions","cw","TimeEntryDay","timeEntryEditModel","processGetListForUser","processToggleCleared","processMoveTimeEntry","processCopyTimeEntry","processCopyLastWorkday","processCopyDayPreviousWeek","processUndelete","TimeEntryDayApprovalClient","processGetTeamOverviewApprovalModel","TeamOverviewApprovalModel","processGetTimeEntryDayApprovalEditModel","TimeEntryDayApprovalEditModel","processSetTimeEntryDayApproval","processGetNoOfOpenApprovals","TimeEntryExtraFieldMetadataClient","TimeEntryExtraFieldDataTypeSelectItem","TimeEntryExtraFieldMetadataEditModel","TimeEntryExtraFieldMetadataViewModel","TransferAccountClient","transferAccountModel","processTransferAccount","insertedFromApi","init","useOvertime","isUserAddable","DayOfWeek","toJSON","firstDayOfWeek","timePattern","stopWatchNotficationEnabled","timeEntryNotificationEnabled","useWorkHours","isAdmin","managerId","TimeEntryModeEnum","PauseMode","isVacationDay","currentYearNewVacationDays","AbsenceFilter","displayAllUsers","isOverlappingAbsence","notEnoughVacationDaysRemaining","YearDay","disableVacationCarryOver","logoBytes","logoMimeType","logoFileName","globalRate","descriptionMinChars","restrictTimeEntryInPast","restrictTimeEntryInFuture","basicTimeTrackingDefaultProjectId","PaymentStatusEnum","ContractStatusEnum","minUserCount","minUserCountBasic","payedUserCount","payedUserCountBasic","isUserCountUpdate","basePriceCentYearly","basePriceCentYearlyBasic","monthsToPay","basePrice","basePriceBasic","reverseCharge","vat","noInvoiceNeeded","invoiceData","licenseData","paymentData","PaymentDataViewModel","InvoiceListViewModel","contractStatus","paymentLastDigits","paymentPaidTill","paymentId","isPaid","SetupError","RightEnum","MenuColorEnum","SuccessButtonColorEnum","DeleteAccountEditModel","checkPhrase","useOutgoingInvoiceEmails","callSite","sentToAdmins","sentToAdminsDateTime","accounts","LeuteUndGeldBaseModel","version","paymentFreeUsers","paymentIntervalMonths","paymentBasePriceCent","paymentBasePriceCentYearly","paymentType","paymentBasePriceCentBasic","paymentBasePriceCentYearlyBasic","basicUserCount","accountPaymentBasicPerMonth","fullUserCount","accountPaymentFullPerMonth","accountPaymentPerMonth","accountPaymentPerYear","grossAmountEuro","UnpaidInvoiceAccountViewModel","lastStatusCheck","emailSentDateTime","SetInvoicePaidEditModel","LockAccountEditModel","payments","AccountPayment","yearlyPayments","UpcomingPaymentYearModel","UpcomingPaymentDayModel","UpcomingPaymentMonthModel","AppUserBillableTargetHistoryFilter","hasValidSetup","accountEmail","allowEntriesOnFreeDays","hasActiveProjectTasks","PaymentStatusViewModel","appColorPrimary","appColorSecondary","stopwatchUseLastDescription","AppColorEnum","hasPaidInAppStoreUntil","trialUntil","RoleEnum","timeZoneId","absenceRequestNotificationEnabled","AppUserChangePasswordEditModel","oldPassword","newPassword","newPasswordConfirm","AppUserFilter","roleEnum","RateRuleEnum","employeeNumber","externalUserId","featureFlagAppUserDepartmentInfoString","WorkHoursDay","isDeleted","AppUserHistoryFilter","AppUserInternalCostHistoryFilter","sort","AppUserVacationHistoryFilter","AccountRegisterModel","st3UserPresent","st2Email","AppUserLoginModel","ForgotPasswordModel","ResetPasswordModel","token","passwordAgain","taxNumberDe","commentForTimeTracking","BudgetUnitEnum","BudgetTimeFrameEnum","budgetTimeFrame","newProjectEditMode","newProjectEditModel","customerGuid","isCustomerProject","CustomerFilter","CustomerArchiveToggleCommand","invoicePdf","invoicePdfFileName","ResultRow","numberOfGroups","ExtraFieldHeaderColumn","extraFieldSumHeaderColumns","ResultFilterItem","revenueSumNotBillable","extraFieldSumColumns","ExtraFieldSumColumn","TimeEntryViewModel","TimeEntryTypeEnum","entryDateDisplayGroup","entryWeekDisplayGroup","entryMonthDisplayGroup","entryWeek","entryMonth","entryYear","durationMinutesNotBillable","durationHoursPause","rateAmountOverridden","rateAmountComment","projectIsArchived","projectIsFinished","projectCustomerProjectId","projectTaskIsArchived","projectTaskNameNullChecked","editType","TimeEntryExtraFieldViewModel","outgoingInvoiceNumber","TimeEntryWarning","isInvoiced","rowVersion","timeFromDt","timeToDt","nameTranslationKey","isStopwatch","TimeEntryWarningSeverity","severity","TimeEntryFilterTimeFrame","TimeEntryGroupingModel","TimeEntryFilter","TimeEntryListSettingsModel","isGrouped","TimeEntryFilterExtraField","previousTimeFrame","ValueTupleOfNullableDateTimeAndNullableDateTime","OutgoingInvoiceTimeEntryGroupEnum","item1","item2","ListColumnLayout","ExtraFieldColumnLayout","ListPresetEditModel","isImportant","companyName","contactEmail","contactPhone","defaultPositionText","useAutomaticInvoiceNo","logoText","invoiceIncrementValue","fromCompanyName","fromContactName","fromContactPhone","fromCity","fromZip","fromStreetAddress","fromCountry","toCountry","externalInvoiceId","emailCc","emailBcc","emailReplyTo","attachTimeSheet","OutgoingInvoiceStatusViewModel","OutgoingInvoiceStatusEnum","OutgoingInvoiceTimeEntryGroupFilter","OutgoingInvoicePositionViewModel","OutgoingInvoiceFilter","isSuccess","ProjectCheckFixedPriceChangeCommand","ProjectFilter","isFinished","onlyShowInTimeTracking","percentageOnly","budgetOverrunNotificationSent","budgetIsOverrun","ProjectFinishToggleCommand","ProjectArchiveToggleCommand","plannedStartDate","plannedEndDate","hoursBillable","anyEntryHasCost","TimeEntryReportViewModel","ReportTimeFrameModel","ProjectReportUserModel","projectCustomerId","projectCustomerName","durationHoursBillable","ProjectFixedPriceUserOverviewQuery","ProjectFixedPriceRevenueFteQuery","avgDailyRate","ProjectStaffFilter","ProjectTaskFilter","onlyGlobal","onlyProject","ProjectTaskSelectListForProjectQuery","repeatsEveryYearSameDay","PublicHolidayFilter","PublicHolidayGroupFilter","NestedEditModel","hasRules","RateRuleSelectListItem","RateRuleNestedViewModel","globalProjectTaskId","isGlobalRule","RateRuleAmountFilter","RateRuleSortOrderEditModel","ReportComparisonViewModel","billable","customerPieData","PieChartPoint","projectPieData","tagsPieData","previousValue","isPercentage","isPositive","comparisonValue","comparisonPercentage","previousPeriodFrom","previousPeriodTo","appUserModels","BillableTargetAppUserModel","monthData","BillableTargetAppUserMonthModel","durationMinutesBillable","billableTargetPercentage","billableTargetMinutes","targetAchievment","hasBillableTargetPercentage","isAverage","pausedTimeEntryId","invalidReason","useCurrentRateAmount","TimeEntryExtraFieldEditModel","timeEntryTypeId","isMigratedTimeEntryWithPause","additionalInsertAppUserIds","SupportRequestModel","subject","TagFilter","TeamOverviewTimeValidationMonthModel","appUserIntervalModels","TeamOverviewTimeValidationAppUserIntervalModel","dateIntervalFrom","dateIntervalTo","useTargetMinutes","appUserDayModels","TeamOverviewTimeValidationAppUserDayModel","AppUserDayViewModel","appUserCountryIsoCode","vacationDays","isApprovedAbsence","isSick","isWeekend","DayModifier","TimeEntryDayApprovalViewModel","dayLockedApproval","AppUserDayValidationRule","approvalAppUser","AppUserDayValidationRuleEnum","timeAccountMonthly","TimeAccountMonthly","adjustmentMinutes","timeAccountWeekly","TimeAccountWeekly","timeAccountDaily","TimeAccountDaily","TimeAccountBalance","durationMinutesAdjustment","AppUserHistoryViewModel","balanceWeek","WeekAppUserDay","TimeAccountSummaryQuery","TimeAccountTeamAppUserModel","WeekModel","TimeAccountTeamWeeklyOverviewWeekModel","weekEnd","TimeAccountTeamWeeklyOverviewQuery","TimeAccountWeekOvertimeApproveCommand","TimeEntrySelectListItemGroup","TimeEntrySelectListItem","userRates","globalRates","rates","maxDurationMinutesPerDay","TimeEntryPauseSingleRule","TeamOverviewApprovalAppUserModel","timeFrameModels","TeamOverviewApprovalAppUserTimeFrameModel","appUserDays","enumVal","TransferAccountModel","final","ApiException","isApiException","obj"],"mappings":"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","file":"js/app.ade25316.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0137fb42\":\"76c2e27e\",\"chunk-014f681d\":\"9807329d\",\"chunk-2d0c95e3\":\"aeb58380\",\"chunk-2d0de2b6\":\"18672865\",\"chunk-2d0e51be\":\"88c781e6\",\"chunk-2d2176e8\":\"4a919a1c\",\"chunk-2d2262aa\":\"4f8d6720\",\"chunk-476beab7\":\"b0becbe4\",\"chunk-4b349f44\":\"7829bd30\",\"chunk-6a516b56\":\"f22dd49b\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-6a516b56\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0137fb42\":\"31d6cfe0\",\"chunk-014f681d\":\"31d6cfe0\",\"chunk-2d0c95e3\":\"31d6cfe0\",\"chunk-2d0de2b6\":\"31d6cfe0\",\"chunk-2d0e51be\":\"31d6cfe0\",\"chunk-2d2176e8\":\"31d6cfe0\",\"chunk-2d2262aa\":\"31d6cfe0\",\"chunk-476beab7\":\"31d6cfe0\",\"chunk-4b349f44\":\"31d6cfe0\",\"chunk-6a516b56\":\"86677577\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSelect.vue?vue&type=style&index=0&id=e7abdfcc&prod&lang=scss&\"","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport LookupModule from '@/store/lookup-store';\r\nimport UserModule from '@/store/user-module';\r\nimport StopwatchModule from '@/store/stopwatch-store';\r\nimport TimeEntryModule from '@/store/time-entry-store';\r\nimport AccountModule from '@/store/account-module';\r\n\r\nVue.use(Vuex);\r\n\r\nexport interface RootState {\r\n lookupStateModule: LookupModule;\r\n userStateModule: UserModule;\r\n stopwatchStateModule: StopwatchModule;\r\n timeEntryStateModule: TimeEntryModule;\r\n accountStateModule: AccountModule;\r\n}\r\n\r\nexport default new Vuex.Store({});\r\n","module.exports = __webpack_public_path__ + \"img/SpikeTime_Gradient.287b495c.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTabs.vue?vue&type=style&index=0&id=4e818875&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StLoaderIcon.vue?vue&type=style&index=0&id=273755a6&prod&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-provider',{staticClass:\"w-full flex flex-col\",attrs:{\"name\":_vm.name,\"rules\":_vm.rules,\"immediate\":_vm.valImmediate},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"relative flex w-full flex-wrap items-stretch\"},[(_vm.label)?_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(_vm.label)))]):_vm._e(),_c('div',{staticClass:\"flex w-full\"},[_c('input',_vm._b({ref:\"inputfield\",staticClass:\"form-control\",class:[{ error: !!errors[0] }, _vm.inputClass, _vm.successButtonColor],attrs:{\"disabled\":_vm.disabled},domProps:{\"value\":_vm.currencyValue},on:{\"input\":_vm.input,\"blur\":_vm.inputCurrency,\"focus\":function($event){return $event.target.select()}}},'input',_vm.$attrs,false)),_c('div',{staticClass:\"form-control border-l-0 flex-shrink w-auto bg-gray-200 rounded-none\",class:{'bg-gray-300 border-gray-400': _vm.disabled}},[_vm._v(\" \"+_vm._s(_vm.currency)+\" \")])]),_c('span',{staticClass:\"text-red-500 text-sm\"},[_vm._v(_vm._s(errors[0]))])])]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport {UserStore} from '@/store/user-module';\nimport {successButtonColorClass} from '@/utlitities/color';\n\n@Component({\n inheritAttrs: false,\n})\nexport default class StCurrencyInput extends Vue {\n @Prop() label!: string;\n @Prop() name!: string;\n @Prop() rules!: string;\n @Prop() value!: any;\n @Prop() inputClass!: string;\n @Prop() valImmediate!: boolean;\n @Prop() focus!: boolean;\n @Prop() disabled!: boolean;\n\n get currency(){\n return UserStore?.userSettings?.currency ?? '';\n }\n\n mounted() {\n if (this.focus) (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n get successButtonColor(){\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\n }\n\n get currencyValue() {\n if (this.value != 0 && (!this.value || !this.value.toFixed)) {\n return this.value;\n }\n\n return this.value\n .toFixed(2)\n .replace('.', ',')\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.');\n }\n\n @Emit('input')\n inputCurrency(event: any) {\n this.$forceUpdate();\n\n let val = event.target.value;\n val = val.replaceAll('.', '');\n val = val.replace(',', '.');\n\n if (!parseFloat(val)) {\n return 0;\n }\n return parseFloat(val);\n }\n\n @Emit('input')\n input(event: any) {\n return event.currentTarget.value;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StCurrencyInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StCurrencyInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StCurrencyInput.vue?vue&type=template&id=48478ec0&\"\nimport script from \"./StCurrencyInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./StCurrencyInput.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import VueI18n from 'vue-i18n';\r\nimport Vue from 'vue';\r\n// @ts-ignore\r\nimport en from '../en.json';\r\n\r\nVue.use(VueI18n);\r\n\r\nconst languages = {\r\n en: en\r\n}\r\n\r\nconst message = Object.assign(languages);\r\n\r\nexport const i18n = new VueI18n({\r\n locale: 'de', // set locale\r\n fallbackLocale: 'de',\r\n silentFallbackWarn: true,\r\n silentTranslationWarn: true,\r\n messages: message,\r\n});\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StButtonRound.vue?vue&type=style&index=0&id=31adfadc&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StNotification.vue?vue&type=style&index=0&id=b8ac330e&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryGrouper.vue?vue&type=style&index=0&id=0750ffee&prod&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSliderItem.vue?vue&type=style&index=0&id=3fbc31ea&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StButton.vue?vue&type=style&index=0&id=78fcd04a&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccount.vue?vue&type=style&index=0&id=d146b49e&prod&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-normal inline-block py-2 px-4 rounded-full\",class:[_vm.bgClass, {'text-base py-4 px-6 shadow': _vm.large}, {'text-sm ': !_vm.large}]},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\n\r\n @Component({\r\n inheritAttrs: false,\r\n })\r\n export default class StBadge extends Vue {\r\n @Prop() large!: boolean;\r\n @Prop({default: 'text-white bg-green-500'}) bgClass!: string;\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StBadge.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StBadge.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StBadge.vue?vue&type=template&id=e7fdde8a&\"\nimport script from \"./StBadge.vue?vue&type=script&lang=ts&\"\nexport * from \"./StBadge.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-provider',{staticClass:\"w-full flex flex-col\",attrs:{\"name\":_vm.name,\"rules\":_vm.rules,\"immediate\":_vm.valImmediate},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('label',{staticClass:\"block\",class:{'form-group': _vm.label}},[(_vm.label)?_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(_vm.label)))]):_vm._e(),_c('div',{staticClass:\"flex w-full\"},[_c('input',_vm._b({ref:\"inputfield\",staticClass:\"form-control\",class:[{ error: !!errors[0], 'h-12': _vm.small }, _vm.inputClass, _vm.successButtonColor],attrs:{\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value},on:{\"input\":_vm.input,\"focus\":function($event){return _vm.mark()},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.$emit('keydownenter',$event)},\"blur\":function($event){return _vm.$emit('blur',$event)}}},'input',_vm.$attrs,false)),(_vm.hasAddonSlot)?_c('div',{staticClass:\"form-control flex items-center border-l-0 flex-shrink w-auto bg-gray-200 rounded-none\",class:{'bg-gray-300 border-gray-400': _vm.disabled, 'h-12': _vm.small}},[_vm._t(\"addon\")],2):_vm._e()]),_c('span',{staticClass:\"text-red-500 text-sm\"},[_vm._v(_vm._s(errors[0]))])])]}}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Emit, Prop, Vue } from \"vue-property-decorator\";\r\nimport { successButtonColorClass } from \"@/utlitities/color\";\r\nimport { UserStore } from \"@/store/user-module\";\r\n\r\n@Component({\r\n inheritAttrs: false\r\n})\r\nexport default class StInput2 extends Vue {\r\n @Prop() label!: string;\r\n @Prop() name!: string;\r\n @Prop() rules!: string;\r\n @Prop() value!: any;\r\n @Prop() inputClass!: string;\r\n @Prop() valImmediate!: boolean;\r\n @Prop() focus!: boolean;\r\n @Prop() markOnFocus!: boolean;\r\n @Prop() disabled!: boolean;\r\n @Prop() small!: boolean;\r\n\r\n mounted() {\r\n if (this.focus && (window.innerWidth > 960)) (this.$refs.inputfield as HTMLInputElement).focus();\r\n }\r\n\r\n get successButtonColor() {\r\n return successButtonColorClass(UserStore.userSettings.successButtonColor);\r\n }\r\n\r\n get hasAddonSlot() {\r\n return this.$slots.addon;\r\n }\r\n\r\n mark() {\r\n if (this.markOnFocus) {\r\n (this.$refs.inputfield as HTMLInputElement).select();\r\n }\r\n }\r\n\r\n @Emit(\"input\")\r\n input(event: any) {\r\n return event.currentTarget.value;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StInput2.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StInput2.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StInput2.vue?vue&type=template&id=14bbec7a&\"\nimport script from \"./StInput2.vue?vue&type=script&lang=ts&\"\nexport * from \"./StInput2.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/SpikeTime_Grey.628fcb69.png\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportAbraham.vue?vue&type=style&index=0&id=1f34fcf9&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRules.vue?vue&type=style&index=0&id=e82ba992&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryFilterComponent.vue?vue&type=style&index=0&id=a504c652&prod&lang=scss&\"","import {SuccessButtonColorEnum} from '@/services/api/nswag/stapiclient_generated';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\nexport function setPrimaryColor(primaryColor: string) {\r\n document.documentElement.style.setProperty('--bg-primary-normal', primaryColor);\r\n document.documentElement.style.setProperty('--text-primary-normal', pickTextColorClassBased(primaryColor));\r\n\r\n let primaryLight = lightenDarkenColor(primaryColor, 10);\r\n let primaryDark = lightenDarkenColor(primaryColor, -10);\r\n let primaryLighter = lightenDarkenColor(primaryColor, 20);\r\n let primaryDarker = lightenDarkenColor(primaryColor, -20);\r\n\r\n document.documentElement.style.setProperty('--bg-primary-lighter', primaryLighter);\r\n document.documentElement.style.setProperty('--text-primary-lighter', pickTextColorClassBased(primaryLighter));\r\n document.documentElement.style.setProperty('--bg-primary-light', primaryLight);\r\n document.documentElement.style.setProperty('--text-primary-light', pickTextColorClassBased(primaryLight));\r\n\r\n document.documentElement.style.setProperty('--bg-primary-dark', primaryDark);\r\n document.documentElement.style.setProperty('--text-primary-dark', pickTextColorClassBased(primaryDark));\r\n document.documentElement.style.setProperty('--bg-primary-darker', primaryDarker);\r\n document.documentElement.style.setProperty('--text-primary-darker', pickTextColorClassBased(primaryDarker));\r\n}\r\n\r\nexport function setSecondaryColor(secondaryColor: string) {\r\n document.documentElement.style.setProperty('--bg-secondary-normal', secondaryColor);\r\n document.documentElement.style.setProperty('--text-secondary-normal', pickTextColorClassBased(secondaryColor));\r\n\r\n let secondaryLighter = lightenDarkenColor(secondaryColor, 20);\r\n let secondaryLight = lightenDarkenColor(secondaryColor, 10);\r\n let secondarySlightlyDarker = lightenDarkenColor(secondaryColor, -8); // Ich versteck das hier mal ganz heimlich :D\r\n let secondaryDark = lightenDarkenColor(secondaryColor, -10);\r\n let secondaryDarker = lightenDarkenColor(secondaryColor, -20);\r\n\r\n document.documentElement.style.setProperty('--bg-secondary-lighter', secondaryLighter);\r\n document.documentElement.style.setProperty('--text-secondary-lighter', pickTextColorClassBased(secondaryLighter));\r\n document.documentElement.style.setProperty('--bg-secondary-light', secondaryLight);\r\n document.documentElement.style.setProperty('--text-secondary-light', pickTextColorClassBased(secondaryLight));\r\n\r\n document.documentElement.style.setProperty('--bg-secondary-dark', secondaryDark);\r\n document.documentElement.style.setProperty('--text-secondary-dark', pickTextColorClassBased(secondaryDark));\r\n document.documentElement.style.setProperty('--bg-secondary-darker', secondaryDarker);\r\n document.documentElement.style.setProperty('--text-secondary-darker', pickTextColorClassBased(secondaryDarker));\r\n\r\n if (secondaryColor.toLowerCase() == '#6ec06e') {\r\n document.documentElement.style.setProperty('--bg-secondary-slightlydarker', secondarySlightlyDarker);\r\n } else {\r\n document.documentElement.style.setProperty('--bg-secondary-slightlydarker', secondaryColor);\r\n }\r\n}\r\n\r\nfunction pickTextColorClassBased(hexcolor: string) {\r\n // If a leading # is provided, remove it\r\n if (hexcolor.slice(0, 1) === '#') {\r\n hexcolor = hexcolor.slice(1);\r\n }\r\n\r\n // If a three-character hexcode, make six-character\r\n if (hexcolor.length === 3) {\r\n hexcolor = hexcolor\r\n .split('')\r\n .map(function (hex) {\r\n return hex + hex;\r\n })\r\n .join('');\r\n }\r\n\r\n // Convert to RGB value\r\n let r = parseInt(hexcolor.substr(0, 2), 16);\r\n let g = parseInt(hexcolor.substr(2, 2), 16);\r\n let b = parseInt(hexcolor.substr(4, 2), 16);\r\n\r\n // Get YIQ ratio\r\n let yiq = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n // Check contrast\r\n return yiq >= 160 ? '#424242' : '#f4f4f4';\r\n}\r\n\r\nexport function isDarkColor(hexcolor: string){\r\n return pickTextColorClassBased(hexcolor) == '#f4f4f4';\r\n}\r\n\r\nexport function successButtonColorClass(successButtonColorEnum: SuccessButtonColorEnum){\r\n switch(successButtonColorEnum){\r\n case SuccessButtonColorEnum.Green:\r\n return '';\r\n case SuccessButtonColorEnum.Primary:\r\n return 'success-primary';\r\n case SuccessButtonColorEnum.Secondary:\r\n return 'success-secondary';\r\n }\r\n}\r\n\r\nfunction lightenDarkenColor(color: string, percent: number) {\r\n var R = parseInt(color.substring(1,3),16);\r\n var G = parseInt(color.substring(3,5),16);\r\n var B = parseInt(color.substring(5,7),16);\r\n\r\n R = parseInt((R * (100 + percent) / 100).toString());\r\n G = parseInt((G * (100 + percent) / 100).toString());\r\n B = parseInt((B * (100 + percent) / 100).toString());\r\n\r\n R = (R<255)?R:255;\r\n G = (G<255)?G:255;\r\n B = (B<255)?B:255;\r\n\r\n var RR = ((R.toString(16).length==1)?\"0\"+R.toString(16):R.toString(16));\r\n var GG = ((G.toString(16).length==1)?\"0\"+G.toString(16):G.toString(16));\r\n var BB = ((B.toString(16).length==1)?\"0\"+B.toString(16):B.toString(16));\r\n\r\n return \"#\"+RR+GG+BB;\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverview.vue?vue&type=style&index=0&id=52678893&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StCollapse.vue?vue&type=style&index=0&id=daefce46&prod&lang=scss&\"","import { vm } from '@/main';\r\nimport { i18n } from '@/localization';\r\nimport {ProjectBudgetViewModel} from '@/services/api/nswag/stapiclient_generated';\r\n\r\nexport function notifyError(messageTranslationKey: string) {\r\n vm.$notify({\r\n text: i18n.t(messageTranslationKey).toString(),\r\n data: {\r\n icon: 'fa-exclamation-triangle',\r\n class: 'bg-red-600 text-fifteen text-white',\r\n },\r\n });\r\n}\r\n\r\nexport function notifyWarning(messageTranslationKey: string) {\r\n vm.$notify({\r\n text: i18n.t(messageTranslationKey).toString(),\r\n data: {\r\n icon: 'fa-exclamation-triangle',\r\n class: 'bg-yellow-600 text-fifteen text-white',\r\n },\r\n });\r\n}\r\n\r\nexport function notifyDeletion(undoFunction: Function) {\r\n vm.$notify({\r\n text: i18n.t('Erfolgreich gelöscht').toString(),\r\n duration: 6000,\r\n data: {\r\n icon: 'fa-trash',\r\n class: 'bg-green-600 text-fifteen text-white',\r\n isDeletion: true,\r\n undoFunc: undoFunction,\r\n },\r\n });\r\n}\r\n\r\nexport function notifySuccess(messageTranslationKey: string) {\r\n vm.$notify({\r\n text: i18n.t(messageTranslationKey).toString(),\r\n data: {\r\n icon: 'fa-check',\r\n class: 'bg-green-600 text-fifteen text-white',\r\n },\r\n });\r\n}\r\n\r\nexport function notifyBudget(model: ProjectBudgetViewModel) {\r\n vm.$notify({\r\n text: '',\r\n duration: 4500,\r\n data: {\r\n isBudget: true,\r\n budget: model,\r\n class: 'bg-white'\r\n },\r\n });\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarHorizontal.vue?vue&type=style&index=0&id=184b8e0b&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Projects.vue?vue&type=style&index=0&id=121d38b5&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnpaidInvoices.vue?vue&type=style&index=0&id=37fd8564&prod&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StopwatchOldLayout.vue?vue&type=style&index=0&id=273e77d8&prod&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewColiquio.vue?vue&type=style&index=0&id=60e7e083&prod&lang=scss&scoped=true&\"","import {\r\n AbsenceClient,\r\n AbsenceTypeClient,\r\n AccountClient,\r\n AdminClient,\r\n AppUserBillableTargetHistoryClient,\r\n AppUserClient,\r\n AppUserHistoryClient,\r\n AppUserInternalCostHistoryClient,\r\n AppUserRightClient,\r\n AppUserVacationHistoryClient,\r\n InvoiceClient,\r\n ListClient,\r\n ListSharedClient,\r\n LookupClient,\r\n NewsClient,\r\n OutgoingInvoiceClient,\r\n PaymentClient,\r\n ProjectClient,\r\n ProjectFixedPriceReportClient,\r\n ProjectStaffClient,\r\n ProjectTaskClient,\r\n PublicHolidayClient,\r\n PublicHolidayGroupClient,\r\n RateRuleClient,\r\n ReportContollerClient,\r\n RoleClient,\r\n StopwatchClient,\r\n SupportClient,\r\n TagClient,\r\n TeamOverviewClient,\r\n TimeAccountClient,\r\n TimeAdjustmentClient,\r\n TimeEntryClient,\r\n TimeEntryDayApprovalClient,\r\n TimeEntryExtraFieldMetadataClient,\r\n TransferAccountClient,\r\n} from '@/services/api/nswag/stapiclient_generated';\r\nimport { AuthenticationClient, CustomerClient, ImpersonateClient } from '@/services/api/nswag/stapiclient_generated';\r\nimport axios from 'axios';\r\n\r\n// @ts-ignore\r\nconst apiBasePath = process.env.VUE_APP_APIURL.replace(/\\/+$/, '');\r\n\r\nexport const stAuthenticationApi = new AuthenticationClient(apiBasePath, axios);\r\nexport const stCustomerApi = new CustomerClient(apiBasePath, axios);\r\nexport const stImpersonationApi = new ImpersonateClient(apiBasePath, axios);\r\n\r\nexport const stProjectApi = new ProjectClient(apiBasePath, axios);\r\nexport const stProjectTaskApi = new ProjectTaskClient(apiBasePath, axios);\r\nexport const stRateRuleApi = new RateRuleClient(apiBasePath, axios);\r\nexport const stAppUserApi = new AppUserClient(apiBasePath, axios);\r\nexport const stAppUserHistoryApi = new AppUserHistoryClient(apiBasePath, axios);\r\nexport const stAppUserVacationHistoryApi = new AppUserVacationHistoryClient(apiBasePath, axios);\r\nexport const stAppUserInternalCostHistoryApi = new AppUserInternalCostHistoryClient(apiBasePath, axios);\r\nexport const stAppUserBillableTargetHistoryApi = new AppUserBillableTargetHistoryClient(apiBasePath, axios);\r\nexport const stAccountApi = new AccountClient(apiBasePath, axios);\r\nexport const stTimeEntryApi = new TimeEntryClient(apiBasePath, axios);\r\nexport const stTagApi = new TagClient(apiBasePath, axios);\r\nexport const stStopwatchApi = new StopwatchClient(apiBasePath, axios);\r\nexport const stLookupApi = new LookupClient(apiBasePath, axios);\r\nexport const stPublicHolidayGroupApi = new PublicHolidayGroupClient(apiBasePath, axios);\r\nexport const stPublicHolidayApi = new PublicHolidayClient(apiBasePath, axios);\r\nexport const stAbsenceApi = new AbsenceClient(apiBasePath, axios);\r\nexport const appUserRightApi = new AppUserRightClient(apiBasePath, axios);\r\nexport const roleApi = new RoleClient(apiBasePath, axios);\r\nexport const projectStaffApi = new ProjectStaffClient(apiBasePath, axios);\r\nexport const stListApi = new ListClient(apiBasePath, axios);\r\nexport const stListSharedApi = new ListSharedClient(apiBasePath, axios);\r\nexport const stReportApi = new ReportContollerClient(apiBasePath, axios);\r\nexport const stPaymentApi = new PaymentClient(apiBasePath, axios);\r\nexport const outgoingInvoiceApi = new OutgoingInvoiceClient(apiBasePath, axios);\r\nexport const timeEntryExtraFieldMetadataClient = new TimeEntryExtraFieldMetadataClient(apiBasePath, axios);\r\nexport const supportApi = new SupportClient(apiBasePath, axios);\r\nexport const stAdminApi = new AdminClient(apiBasePath, axios);\r\nexport const stInvoiceApi = new InvoiceClient(apiBasePath, axios);\r\nexport const stTransferAccountApi = new TransferAccountClient(apiBasePath, axios);\r\nexport const stNewsApi = new NewsClient(apiBasePath, axios);\r\nexport const stTimeAdjustmentApi = new TimeAdjustmentClient(apiBasePath, axios);\r\nexport const stTimeAccountApi = new TimeAccountClient(apiBasePath, axios);\r\nexport const stTeamOverviewApi = new TeamOverviewClient(apiBasePath, axios);\r\nexport const stTimeEntryDayApprovalApi = new TimeEntryDayApprovalClient(apiBasePath, axios);\r\nexport const stAbsenceTypeApi = new AbsenceTypeClient(apiBasePath, axios);\r\nexport const stProjectFixedPriceReportApi = new ProjectFixedPriceReportClient(apiBasePath, axios);\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=style&index=0&id=0ac25aa6&prod&lang=scss&\"","import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport { AppUserSettings, AppUserViewModel, PauseMode, RightEnum, TimeEntryModeEnum } from '@/services/api/nswag/stapiclient_generated';\r\nimport { stAppUserApi } from '@/services/st-api';\r\nimport { DateTime } from 'luxon';\r\nimport { clone } from '@/utlitities/helper';\r\nimport numeral from 'numeral';\r\nimport { isDarkColor, setPrimaryColor, setSecondaryColor } from '@/utlitities/color';\r\nimport { i18n } from '@/localization';\r\nimport { Settings } from 'luxon';\r\n\r\n@Module({ dynamic: true, store, name: 'UserModule', namespaced: true })\r\nexport default class UserModule extends VuexModule {\r\n public userSettingsInternal: AppUserSettings = new AppUserSettings();\r\n public dataLoaded: boolean = false;\r\n public isLoggedIn: boolean = false;\r\n public currentUser: AppUserViewModel = new AppUserViewModel();\r\n\r\n public templates: any[] = [\r\n {\r\n id: 'SpikeTime Clean',\r\n filename: '',\r\n isDark: false,\r\n },\r\n {\r\n id: 'Binding Dark',\r\n filename: \"url('/bg/binding_dark.png')\",\r\n isDark: false,\r\n textOnBackground: '#eee',\r\n },\r\n {\r\n id: 'Brickwall',\r\n filename: \"url('/bg/brickwall.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Congruent Outline',\r\n filename: \"url('/bg/congruent_outline.png')\",\r\n isDark: false,\r\n textOnBackground: '#fff',\r\n },\r\n {\r\n id: 'Fresh Snow',\r\n filename: \"url('/bg/fresh_snow.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Geometry',\r\n filename: \"url('/bg/geometry.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Giftly',\r\n filename: \"url('/bg/giftly.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Green Cup',\r\n filename: \"url('/bg/green_cup.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Grey washed wall',\r\n filename: \"url('/bg/grey_wash_wall.png')\",\r\n isDark: false,\r\n textOnBackground: '#eee',\r\n },\r\n {\r\n id: 'Hoffmann',\r\n filename: \"url('/bg/hoffmann.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Photography',\r\n filename: \"url('/bg/photography.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Purty Wood',\r\n filename: \"url('/bg/purty_wood.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Other Wood',\r\n filename: \"url('/bg/retina_wood.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Ricepaper',\r\n filename: \"url('/bg/ricepaper_v3.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Sativa',\r\n filename: \"url('/bg/sativa.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Tileable Wood',\r\n filename: \"url('/bg/tileable_wood_texture.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Tree bark',\r\n filename: \"url('/bg/tree_bark.png')\",\r\n isDark: false,\r\n },\r\n {\r\n id: 'Whitewall',\r\n filename: \"url('/bg/whitewall_3.png')\",\r\n isDark: false,\r\n },\r\n ];\r\n\r\n get primaryColorIsDark() {\r\n return isDarkColor(this.userSettings.mainColor ?? '#357ebd');\r\n }\r\n\r\n get secondaryColorIsDark() {\r\n return isDarkColor(this.userSettings.secondaryColor ?? '#6ec06e');\r\n }\r\n\r\n get useManualPause() {\r\n return this.userSettings.pauseMode == PauseMode.Manual;\r\n }\r\n\r\n get useAutoPause() {\r\n return this.userSettings.pauseMode == PauseMode.Auto;\r\n }\r\n\r\n get usePauseAtTimeEntry() {\r\n return this.userSettings.pauseMode == PauseMode.TimeEntry && this.userSettings.timeEntryMode != TimeEntryModeEnum.Duration;\r\n }\r\n\r\n get userSettings() {\r\n if (!this.userSettingsInternal?.appUserId) {\r\n return {};\r\n }\r\n\r\n let result = clone(this.userSettingsInternal);\r\n\r\n for (let rightEnumKey in RightEnum) {\r\n result[rightEnumKey.toString()] = this.userSettingsInternal.userRights?.some((x) => x.toString() == rightEnumKey);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n get userNowDateTime() {\r\n if (!this.userSettings?.userNowDateTime) {\r\n return DateTime.local();\r\n }\r\n return DateTime.fromISO(this.userSettings.userNowDateTime);\r\n }\r\n\r\n get userNowDateString() {\r\n return this.userNowDateTime.toFormat('yyyy-MM-dd');\r\n }\r\n\r\n @Mutation\r\n setUserSettings(data: AppUserSettings) {\r\n this.userSettingsInternal = data;\r\n this.isLoggedIn = true;\r\n this.dataLoaded = true;\r\n }\r\n\r\n @Mutation\r\n setCurrentUser(data: AppUserViewModel) {\r\n this.currentUser = data;\r\n }\r\n\r\n @Mutation\r\n resetStore() {\r\n this.userSettingsInternal = new AppUserSettings();\r\n this.isLoggedIn = false;\r\n this.dataLoaded = false;\r\n }\r\n\r\n @Action\r\n async reloadStore() {\r\n await this.ensureUserData();\r\n }\r\n\r\n @Action\r\n async ensureUserData() {\r\n numeral.locale('de'); //TODO: usersettings!\r\n this.setCurrentUser(await stAppUserApi.getCurrentUser());\r\n this.setUserSettings(await stAppUserApi.getCurrentUserSettings());\r\n\r\n i18n.locale = this.userSettingsInternal.language!;\r\n numeral.locale(this.userSettingsInternal.language);\r\n Settings.defaultLocale = this.userSettingsInternal.language!;\r\n\r\n setPrimaryColor(this.userSettings.mainColor ?? '#357ebd');\r\n setSecondaryColor(this.userSettings.secondaryColor ?? '#6ec06e');\r\n\r\n const template = this.templates.find((_) => _.id == this.userSettings.templateName);\r\n\r\n if (template) {\r\n document.documentElement.style.setProperty('--background-image', template.filename);\r\n\r\n if (template.textOnBackground) {\r\n document.documentElement.style.setProperty('--text-on-background', template.textOnBackground);\r\n document.documentElement.style.setProperty('--text-on-background-lighter', template.textOnBackgroundLighter);\r\n } else {\r\n document.documentElement.style.setProperty('--text-on-background', 'initial');\r\n document.documentElement.style.setProperty('--text-on-background-lighter', 'initial');\r\n }\r\n } else {\r\n document.documentElement.style.setProperty('--background-image', '');\r\n }\r\n }\r\n}\r\n\r\nexport const UserStore = getModule(UserModule);\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenuItem.vue?vue&type=style&index=0&id=39d4b02a&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedPriceProjectReports.vue?vue&type=style&index=0&id=28c07a2c&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectReport.vue?vue&type=style&index=0&id=a477888c&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=7925eeaf&prod&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex items-center justify-between\"},[(!_vm.amountModel.overrideAmount)?[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"disabled\":true,\"value\":_vm.finalAmount}})],1),_c('span',{staticClass:\"pl-4\",staticStyle:{\"word-break\":\"break-all\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"rateRuleSourceText\")(_vm.finalSource))+\" \")])]),(!_vm.disabled)?_c('st-button-round',{attrs:{\"tooltip-text\":_vm.$t('Stundensatz überschreiben')},on:{\"click\":function($event){_vm.amountModel.overrideAmount = true}}},[_c('i',{staticClass:\"far fa-pencil\"})]):_vm._e()]:[_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"type\":\"text\"},model:{value:(_vm.amountModel.amount),callback:function ($$v) {_vm.$set(_vm.amountModel, \"amount\", $$v)},expression:\"amountModel.amount\"}})],1),(!_vm.disabled)?_c('st-button-round',{staticClass:\"ml-4\",attrs:{\"tooltip-text\":_vm.$t('Stundensatz entfernen')},on:{\"click\":_vm.setOverrideAmountFalse}},[_c('i',{staticClass:\"far fa-times\"})]):_vm._e()]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { RateRuleAmountFilter, RateRuleAmountModel, RateRuleEnum } from '@/services/api/nswag/stapiclient_generated';\nimport { UserStore } from '@/store/user-module';\nimport StCurrencyInput from '@/components/basic/StCurrencyInput.vue';\nimport { stRateRuleApi } from '@/services/st-api';\n\n@Component({\n components: {\n StCurrencyInput,\n },\n})\nexport default class StRatePicker extends Vue {\n @Prop() value!: RateRuleAmountModel;\n @Prop() label!: string;\n @Prop() inputClass!: string;\n @Prop() rateRuleAmountFilter!: RateRuleAmountFilter;\n @Prop() projectRuleAmount!: RateRuleAmountModel;\n @Prop() disabled!: boolean;\n\n get useRateRules() {\n return UserStore.userSettings.useRateRules;\n }\n\n get finalAmount() {\n return this.projectRuleAmount?.amount ?? this.amountModel.amount;\n }\n\n get finalSource() {\n if (!!this.projectRuleAmount) {\n if (this.projectRuleAmount.overrideAmount) {\n return RateRuleEnum.Project;\n } else {\n return this.projectRuleAmount.sourceRule;\n }\n }\n\n return this.amountModel.sourceRule;\n }\n\n async setOverrideAmountFalse() {\n let filter = RateRuleAmountFilter.fromJS(this.rateRuleAmountFilter);\n\n if (filter.projectTaskId || filter.projectTaskId == 0) {\n filter.projectTaskId = undefined;\n } else if (filter.projectId || filter.projectId == 0) {\n filter.projectId = undefined;\n } else if (filter.customerId || filter.customerId == 0) {\n filter.customerId = undefined;\n }\n\n let res = await stRateRuleApi.getCustomerProjectRateRuleAmount(filter);\n res.overrideAmount = false;\n this.amountModel = res;\n }\n\n get amountModel() {\n return this.value;\n }\n\n set amountModel(data: RateRuleAmountModel) {\n if (data) {\n this.$emit('input', data);\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StRatePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StRatePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StRatePicker.vue?vue&type=template&id=d917ff40&\"\nimport script from \"./StRatePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./StRatePicker.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnauthorizedLayout.vue?vue&type=style&index=0&id=0fb7e2d1&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlideIn.vue?vue&type=style&index=0&id=e1dac358&prod&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"relative flex w-full flex-wrap items-stretch\"},[_c('span',{staticClass:\"z-10 h-full font-normal absolute text-center text-gray-400 absolute bg-transparent rounded text-base items-center justify-center w-8 pl-4 py-3\",staticStyle:{\"top\":\"2px\"}},[(!_vm.displayLoading)?_c('i',{staticClass:\"far fa-search fa-lg\"}):_c('i',{staticClass:\"far fa-circle-notch fa-spin fa-lg\"})]),_c('input',_vm._b({ref:\"inputfield\",staticClass:\"block w-full border-gray-300 rounded-sm border text-gray-700 p-3 px-6 pl-14 shadow-sm focus:border-green-100 focus:ring focus:ring-green-200 focus:ring-opacity-20\",class:[_vm.inputClass],attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.input}},'input',_vm.$attrs,false))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\n\n@Component({\n inheritAttrs: false,\n})\nexport default class StSearch extends Vue {\n @Prop() value!: any;\n @Prop() inputClass!: string;\n @Prop() focus!: boolean;\n @Prop() displayLoading!: boolean;\n\n mounted() {\n if (this.focus) (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n @Emit('input')\n input(event: any) {\n return event.currentTarget.value;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StSearch.vue?vue&type=template&id=56c300d4&\"\nimport script from \"./StSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./StSearch.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettings.vue?vue&type=style&index=0&id=29bf4ee7&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItem.vue?vue&type=style&index=0&id=c84c38ba&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewApproval.vue?vue&type=style&index=0&id=3fe09ab6&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettings.vue?vue&type=style&index=0&id=3aafa00e&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefaultLayout.vue?vue&type=style&index=0&id=20851a24&prod&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\" Not found \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class NotFound extends Vue {}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=06348c99&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministratorLayout.vue?vue&type=style&index=0&id=29896129&prod&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('transition',{attrs:{\"name\":\"fade\",\"appear\":\"\"}},[(_vm.isOpen)?_c('div',{staticClass:\"backdrop\",on:{\"click\":function($event){return _vm.close()}}}):_vm._e()]),_c('div',{staticClass:\"slidein\",class:{ open: _vm.isOpen }},[_c('st-loading',{attrs:{\"delayLoading\":_vm.delayLoading,\"absolute\":true}}),_c('st-loading',{attrs:{\"loading\":_vm.loading,\"absolute\":true,\"overlay-class\":\"opacity-100\"}}),_c('h1',{staticClass:\"font-normal flex items-center\"},[_c('div',{staticClass:\"flex-grow text-lg font-bold\"},[_vm._t(\"header\")],2),_c('i',{staticClass:\"far fa-times justify-self-end cursor-pointer\",on:{\"click\":_vm.close}})]),_c('st-separator',{staticClass:\"pt-0\"}),_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\n\r\n@Component({\r\n components: { SlideIn }\r\n})\r\nexport default class SlideIn extends Vue {\r\n private isOpen: boolean = false;\r\n @Prop() loading!: boolean;\r\n @Prop() delayLoading!: boolean;\r\n\r\n open() {\r\n setTimeout(() => {\r\n this.isOpen = true;\r\n }, 100);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n setTimeout(() => {\r\n this.$emit(\"close\");\r\n }, 300);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlideIn.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlideIn.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlideIn.vue?vue&type=template&id=e1dac358&scoped=true&\"\nimport script from \"./SlideIn.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlideIn.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SlideIn.vue?vue&type=style&index=0&id=e1dac358&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e1dac358\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntry.vue?vue&type=style&index=0&id=00f87b3f&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItemHeader.vue?vue&type=style&index=0&id=73a1bc82&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StToggle.vue?vue&type=style&index=0&id=30c02574&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDatePicker.vue?vue&type=style&index=0&id=17b9fb51&prod&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-col relative\"},[_c('div',{staticClass:\"relative\"},[(_vm.singleCustomer)?_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Kunde\"))+\" \")]),_c('div',{staticClass:\"filter-control\"},[_vm._v(_vm._s(_vm.firstSelectedCustomer))])]):_vm._e(),(_vm.elementIsVisible('date'))?_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Zeitraum\"))+\" \")]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{attrs:{\"hide-options\":true,\"hide-search-box\":true,\"options\":['dummy', ''],\"value\":_vm.timeFrameSelectDummyValue},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.timeFrameLabel)+\" \")]},proxy:true},{key:\"dropdownUp\",fn:function(){return [_c('div',{staticClass:\"mt-2 h-auto bg-gray-100 p-4 z-10 w-full shadow origin-top-right right-0 transition\"},[_c('div',{staticClass:\"flex w-full justify-between\"},[_c('div',{staticClass:\"timeframe-choice\"},_vm._l((_vm.timeFrames),function(timeFrame){return _c('button',{key:timeFrame.Name,class:{ isActive: _vm.isTimeFrameActive(timeFrame) },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.selectTimeFrame(timeFrame)},\"mousedown\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"flex flex-col sm:flex-row sm:justify-between\"},[_c('div',[_vm._v(\" \"+_vm._s(timeFrame.Label)+\" \")]),_c('div',{staticClass:\"font-light\",staticStyle:{\"font-weight\":\"300\"}},[(timeFrame.Name !== 'All')?[_vm._v(_vm._s(_vm._f(\"formatDate\")(timeFrame.From))+\" - \"+_vm._s(_vm._f(\"formatDate\")(timeFrame.To))+\" \")]:_vm._e()],2)])])}),0)]),_c('hr',{staticClass:\"my-6 border-blue-500\"}),_c('div',{staticClass:\"flex flex-col sm:flex-row items-center px-3\"},[_c('div',{staticClass:\"text-left p-4 px-6 bg-white border font-bold mr-2\",class:{'text-gray-200 bg-blue-500':_vm.internalFilter.timeframe === 'Custom'}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Benutzerdefiniert\"))+\" \")]),_c('st-datepicker',{attrs:{\"value\":_vm.internalFilter.entryDateFrom},on:{\"input\":function($event){return _vm.internalFilterUpdated('entryDateFrom', $event, true)}}}),_c('div',{staticClass:\"px-4\"},[_vm._v(\"-\")]),_c('st-datepicker',{attrs:{\"value\":_vm.internalFilter.entryDateTo},on:{\"input\":function($event){return _vm.internalFilterUpdated('entryDateTo', $event, true)}}}),_c('st-button',{staticClass:\"blue font-bold mt-6 sm:mt-0 sm:ml-4 w-full sm:w-auto\",on:{\"click\":_vm.selectCustomTimeFrame}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Ok\"))+\" \")])],1)])]},proxy:true}],null,false,2323515488)})],1)]):_vm._e()]),(!_vm.showOnlyDate)?_c('div',{staticClass:\"filter-group w-full\"},[_c('div',{staticClass:\"filter-label\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Filtern nach\"))+\" \")]),_c('div',{staticClass:\"filter-control gap-8 lg:gap-0 flex-wrap\"},[(_vm.useProjectTimeTracking)?[(!_vm.singleCustomer && _vm.elementIsVisible('customerIds'))?_c('div',{staticClass:\"filter-chooser\",class:{ active: (_vm.internalFilter.customerIds && _vm.internalFilter.customerIds.length) || _vm.hasDisplayProp('customerIds') },on:{\"click\":function($event){return _vm.addFilter('customerIds')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Kunden\")))])]):_vm._e(),(_vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: (_vm.internalFilter.projectIds && _vm.internalFilter.projectIds.length) || _vm.hasDisplayProp('projectIds') },on:{\"click\":function($event){return _vm.addFilter('projectIds')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Projekte\")))])]):_vm._e(),(_vm.hasProjectTasks && _vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: (_vm.internalFilter.projectTaskIds && _vm.internalFilter.projectTaskIds.length) || _vm.hasDisplayProp('projectTaskIds') },on:{\"click\":function($event){return _vm.addFilter('projectTaskIds')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Leistungen\")))])]):_vm._e()]:_vm._e(),(_vm.hasMultipleUsers && _vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: (_vm.internalFilter.appUserIds && _vm.internalFilter.appUserIds.length) || _vm.hasDisplayProp('appUserIds') },on:{\"click\":function($event){return _vm.addFilter('appUserIds')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Benutzer\")))])]):_vm._e(),(_vm.useProjectTimeTracking)?[(_vm.hasTags && _vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: (_vm.internalFilter.tagIds && _vm.internalFilter.tagIds.length) || _vm.hasDisplayProp('tagIds') },on:{\"click\":function($event){return _vm.addFilter('tagIds')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Kategorien\")))])]):_vm._e(),(_vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: _vm.internalFilter.isBillable === false || _vm.internalFilter.isBillable === true || _vm.hasDisplayProp('isBillable') },on:{\"click\":function($event){return _vm.addFilter('isBillable')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Verrechenbarkeit\")))])]):_vm._e(),(_vm.hasOutgoingInvoices && _vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: _vm.internalFilter.hasOutgoingInvoice === false || _vm.internalFilter.hasOutgoingInvoice === true || _vm.hasDisplayProp('hasOutgoingInvoice') },on:{\"click\":function($event){return _vm.addFilter('hasOutgoingInvoice')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Abgerechnet\")))])]):_vm._e(),(_vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: _vm.internalFilter.isCleared === false || _vm.internalFilter.isCleared === true || _vm.hasDisplayProp('isCleared') },on:{\"click\":function($event){return _vm.addFilter('isCleared')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Abgeschlossen\")))])]):_vm._e()]:_vm._e(),(_vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: _vm.internalFilter.description || _vm.hasDisplayProp('description') },on:{\"click\":function($event){return _vm.addFilter('description')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Beschreibung\")))])]):_vm._e(),(_vm.extraFields.length && _vm.elementIsVisible(''))?_c('div',{staticClass:\"filter-chooser\",class:{ active: _vm.internalFilterExtraFieldsLength || _vm.hasDisplayProp('extrafields') },on:{\"click\":function($event){return _vm.addFilter('extrafields')}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Zusatzfelder\")))])]):_vm._e()],2)]):_vm._e(),(_vm.selectsLoaded)?_c('div',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(((_vm.internalFilter.customerIds && _vm.internalFilter.customerIds.length) || _vm.hasDisplayProp('customerIds')) && !_vm.singleCustomer),expression:\"((internalFilter.customerIds && internalFilter.customerIds.length) || hasDisplayProp('customerIds')) && !singleCustomer\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Kunden\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"customerSelect\",attrs:{\"grouped\":true,\"multiple\":true,\"options\":_vm.customers,\"placeholder\":_vm.$t('Alle'),\"value\":_vm.internalFilter.customerIds,\"labelProp\":\"description\",\"name\":\"Customer\",\"placeholderClass\":\"text-gray-700\"},on:{\"input\":function($event){return _vm.internalFilterUpdated('customerIds', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('customerIds')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.internalFilter.projectIds && _vm.internalFilter.projectIds.length) || _vm.hasDisplayProp('projectIds')),expression:\"(internalFilter.projectIds && internalFilter.projectIds.length) || hasDisplayProp('projectIds')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Projekte\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"projectSelect\",attrs:{\"grouped\":true,\"multiple\":true,\"options\":_vm.projects,\"placeholder\":_vm.$t('Alle'),\"value\":_vm.internalFilter.projectIds,\"placeholderClass\":\"text-gray-700\"},on:{\"input\":function($event){return _vm.internalFilterUpdated('projectIds', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('projectIds')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.internalFilter.projectTaskIds && _vm.internalFilter.projectTaskIds.length) || _vm.hasDisplayProp('projectTaskIds')),expression:\"(internalFilter.projectTaskIds && internalFilter.projectTaskIds.length) || hasDisplayProp('projectTaskIds')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Leistungen\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"projectTaskSelect\",attrs:{\"grouped\":true,\"multiple\":true,\"options\":_vm.projectTasks,\"placeholder\":_vm.$t('Alle'),\"value\":_vm.internalFilter.projectTaskIds,\"placeholderClass\":\"text-gray-700\"},on:{\"input\":function($event){return _vm.internalFilterUpdated('projectTaskIds', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('projectTaskIds')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.internalFilter.appUserIds && _vm.internalFilter.appUserIds.length) || _vm.hasDisplayProp('appUserIds')),expression:\"(internalFilter.appUserIds && internalFilter.appUserIds.length) || hasDisplayProp('appUserIds')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Benutzer\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"appUserSelect\",attrs:{\"multiple\":true,\"grouped\":true,\"options\":_vm.appUser,\"placeholder\":_vm.$t('Alle'),\"value\":_vm.internalFilter.appUserIds,\"labelProp\":\"description\",\"name\":\"AppUser\",\"placeholderClass\":\"text-gray-700\"},on:{\"input\":function($event){return _vm.internalFilterUpdated('appUserIds', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('appUserIds')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.internalFilter.tagIds && _vm.internalFilter.tagIds.length) || _vm.hasDisplayProp('tagIds')),expression:\"(internalFilter.tagIds && internalFilter.tagIds.length) || hasDisplayProp('tagIds')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Kategorien\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"tagSelect\",attrs:{\"multiple\":true,\"grouped\":true,\"options\":_vm.tags,\"placeholder\":_vm.$t('Alle'),\"value\":_vm.internalFilter.tagIds,\"labelProp\":\"description\",\"name\":\"Kategorie\",\"placeholderClass\":\"text-gray-700\"},on:{\"input\":function($event){return _vm.internalFilterUpdated('tagIds', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('tagIds')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.internalFilter.isBillable === false || _vm.internalFilter.isBillable === true || _vm.hasDisplayProp('isBillable')),expression:\"internalFilter.isBillable === false || internalFilter.isBillable === true || hasDisplayProp('isBillable')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Verrechenbarkeit\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"billableSelect\",attrs:{\"options\":_vm.billableOptions,\"value\":_vm.internalFilter.isBillable},on:{\"input\":function($event){return _vm.internalFilterUpdated('isBillable', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('isBillable')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.internalFilter.hasOutgoingInvoice === false || _vm.internalFilter.hasOutgoingInvoice === true || _vm.hasDisplayProp('hasOutgoingInvoice')),expression:\"internalFilter.hasOutgoingInvoice === false || internalFilter.hasOutgoingInvoice === true || hasDisplayProp('hasOutgoingInvoice')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Abgerechnet\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"invoicedSelect\",attrs:{\"options\":_vm.invoicedOptions,\"value\":_vm.internalFilter.hasOutgoingInvoice},on:{\"input\":function($event){return _vm.internalFilterUpdated('hasOutgoingInvoice', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('hasOutgoingInvoice')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.internalFilter.isCleared === false || _vm.internalFilter.isCleared === true || _vm.hasDisplayProp('isCleared')),expression:\"internalFilter.isCleared === false || internalFilter.isCleared === true || hasDisplayProp('isCleared')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Abgeschlossen\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{ref:\"clearedSelect\",attrs:{\"options\":_vm.clearedOptions,\"value\":_vm.internalFilter.isCleared},on:{\"input\":function($event){return _vm.internalFilterUpdated('isCleared', $event)}}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('isCleared')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.internalFilter.description || _vm.hasDisplayProp('description')),expression:\"internalFilter.description || hasDisplayProp('description')\"}]},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(_vm.$t(\"Beschreibung\")))]),_c('div',{staticClass:\"filter-control\"},[_c('st-input2',{ref:\"description\",model:{value:(_vm.descriptionFilter),callback:function ($$v) {_vm.descriptionFilter=$$v},expression:\"descriptionFilter\"}})],1)]),_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('description')}}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.internalFilterExtraFieldsLength || _vm.hasDisplayProp('extrafields')),expression:\"internalFilterExtraFieldsLength || hasDisplayProp('extrafields')\"}]},_vm._l((_vm.extraFields),function(item,index){return _c('div',{key:item.id,staticClass:\"flex items-center\"},[(item.dataType == _vm.TimeEntryExtraFieldDataTypeEnum.YesNo)?[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(item.description))]),_c('div',{staticClass:\"filter-control\"},[_c('st-select',{attrs:{\"options\":_vm.yesNoOptions,\"value\":_vm.getExtraFieldFilterText(item.id)},on:{\"input\":function($event){return _vm.setExtraFieldFilterText(item.id, $event)}}})],1)])]:[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label font-normal\"},[_vm._v(_vm._s(item.description))]),_c('div',{staticClass:\"filter-control\"},[_c('st-input2',{attrs:{\"value\":_vm.getExtraFieldFilterText(item.id)},on:{\"input\":function($event){return _vm.setExtraFieldFilterText(item.id, $event)}}})],1)])],(index === 0)?_c('i',{staticClass:\"ml-4 far fa-times fa-lg cursor-pointer\",on:{\"click\":function($event){return _vm.removeFilter('extrafields')}}}):_vm._e()],2)}),0)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {DateTime} from 'luxon';\r\nimport {TimeEntryFilterTimeFrame} from '@/services/api/nswag/stapiclient_generated';\r\n\r\nexport default class TimeFrame {\r\n From: DateTime;\r\n\r\n get IsoFrom(){\r\n return this.From.toFormat('yyyy-MM-dd');\r\n }\r\n\r\n To: DateTime;\r\n\r\n get IsoTo(){\r\n return this.To.toFormat('yyyy-MM-dd');\r\n }\r\n\r\n Name: TimeEntryFilterTimeFrame;\r\n Label: string;\r\n\r\n constructor(from: DateTime, to: DateTime, name: TimeEntryFilterTimeFrame, label: string) {\r\n this.From = from;\r\n this.To = to;\r\n this.Name = name;\r\n this.Label = label;\r\n }\r\n}\r\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\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\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport {\r\n AppUserFilter,\r\n CustomerFilter,\r\n ProjectFilter,\r\n ProjectTaskFilter,\r\n StSelectListItemGroup,\r\n TimeEntryExtraFieldDataTypeEnum,\r\n TimeEntryExtraFieldMetadataViewModel,\r\n TimeEntryFilter,\r\n TimeEntryFilterExtraField,\r\n TimeEntryFilterTimeFrame\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { DateTime } from \"luxon\";\r\nimport TimeFrame from \"@/components/timeentry-filter/timeframe\";\r\nimport {\r\n stAppUserApi,\r\n stCustomerApi,\r\n stProjectApi,\r\n stProjectTaskApi,\r\n stTagApi,\r\n timeEntryExtraFieldMetadataClient\r\n} from \"@/services/st-api\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\n\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport { FilterControl } from \"@/components/timeentry-filter/filterControl\";\r\n\r\n@Component({\r\n computed: {\r\n TimeEntryExtraFieldDataTypeEnum() {\r\n return TimeEntryExtraFieldDataTypeEnum\r\n }\r\n },\r\n components: { StInput2 }\r\n})\r\nexport default class TimeEntryFilterComponent extends Vue {\r\n @Prop() value!: TimeEntryFilter;\r\n @Prop() singleCustomer!: boolean;\r\n @Prop() filterControl?: FilterControl;\r\n timeFrameSelectDummyValue = \"dummy\";\r\n budgetUnit: string = \"Hours\";\r\n tags: StSelectListItemGroup[] = [];\r\n customers: StSelectListItemGroup[] = [];\r\n projects: StSelectListItemGroup[] = [];\r\n appUser: StSelectListItemGroup[] = [];\r\n projectTasks: StSelectListItemGroup[] = [];\r\n internalDateFrom: string = \"\";\r\n internalDateTo: string = \"\";\r\n selectsLoaded = false;\r\n projectFilter = ProjectFilter.fromJS({ includeViewOnlyProjects: true });\r\n customerFilter = CustomerFilter.fromJS({ includeViewOnlyCustomer: true });\r\n projectTaskFilter = ProjectTaskFilter.fromJS({});\r\n appUserFilter = AppUserFilter.fromJS({});\r\n tagFilter = AppUserFilter.fromJS({});\r\n internalDescriptionFilter = \"\";\r\n descriptionTimeout: any;\r\n timeFrames: TimeFrame[] = [];\r\n extraFields: TimeEntryExtraFieldMetadataViewModel[] = [];\r\n displayProps: string[] = [];\r\n\r\n get internalFilter() {\r\n return this.value;\r\n }\r\n\r\n @Watch(\"value.customerIds\")\r\n async internalCustomerIdsChanged() {\r\n if (this.singleCustomer) {\r\n await this.loadProjectSelect();\r\n }\r\n }\r\n\r\n @Watch(\"value.timeframe\")\r\n timeFrameChanged() {\r\n if (this.value.timeframe == TimeEntryFilterTimeFrame.Custom) {\r\n return;\r\n }\r\n const timeframe = this.timeFrames.find((_) => _.Name == this.internalFilter.timeframe);\r\n\r\n if (timeframe) {\r\n this.selectTimeFrame(timeframe);\r\n }\r\n }\r\n\r\n @Watch(\"internalFilter.extraFields\")\r\n internalFilterExtraFieldsChanged() {\r\n this.internalExtraFields = JSON.parse(JSON.stringify(this.internalFilter?.extraFields ?? []));\r\n }\r\n\r\n @Watch(\"internalFilter.description\")\r\n internalFilterDescriptionChanged() {\r\n this.internalDescriptionFilter = this.internalFilter.description ?? \"\";\r\n }\r\n\r\n created() {\r\n //Settings.now = () => new Date(2018, 4, 25).valueOf();\r\n this.createTimeFrames();\r\n }\r\n\r\n async mounted() {\r\n this.$emit(\"startLoading\");\r\n\r\n if (this.singleCustomer) {\r\n this.projectFilter.customerId = this.value!.customerIds![0];\r\n }\r\n\r\n await Promise.all([this.loadTagSelect(), this.loadCustomerSelect(), this.loadProjectSelect(),\r\n this.loadAppUserSelect(), this.loadProjecTaskSelect(), this.loadExtraFields()]);\r\n\r\n await this.$nextTick();\r\n this.timeFrameChanged();\r\n this.$emit(\"endLoading\");\r\n\r\n this.selectsLoaded = true;\r\n }\r\n\r\n get showOnlyDate(){\r\n if(!this.filterControl){\r\n return false;\r\n }\r\n\r\n return this.filterControl.showOnlyDate;\r\n }\r\n\r\n elementIsVisible(elem: string){\r\n if(!this.filterControl){\r\n return true;\r\n }\r\n\r\n if(this.filterControl?.showOnlyDate){\r\n return elem == 'date';\r\n }\r\n //Zeitraum == 'date'\r\n return (this.filterControl?.hiddenElements ?? []).indexOf(elem) == -1;\r\n }\r\n\r\n get useProjectTimeTracking() {\r\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\r\n }\r\n\r\n get internalFilterExtraFieldsLength() {\r\n return this.internalFilter.extraFields?.length ?? 0;\r\n }\r\n\r\n getExtraFieldFilterText(id: number) {\r\n return this.internalExtraFields.find(x => x.timeEntryExtraFieldMetadataId == id)?.searchText;\r\n }\r\n\r\n extraFieldTimeout: any;\r\n internalExtraFields: TimeEntryFilterExtraField[] = [];\r\n\r\n setExtraFieldFilterText(id: number, text: string) {\r\n\r\n this.internalExtraFields = JSON.parse(JSON.stringify(this.internalFilter?.extraFields ?? []));\r\n\r\n if (!this.getExtraFieldFilterText(id) && text) {\r\n this.internalExtraFields.push({\r\n timeEntryExtraFieldMetadataId: id,\r\n searchText: text\r\n } as TimeEntryFilterExtraField);\r\n }\r\n\r\n if (this.getExtraFieldFilterText(id) && !text) {\r\n this.internalExtraFields.splice(this.internalExtraFields.findIndex(x => x.timeEntryExtraFieldMetadataId == id), 1);\r\n }\r\n\r\n if (this.getExtraFieldFilterText(id) && text) {\r\n this.internalExtraFields.find(x => x.timeEntryExtraFieldMetadataId == id)!.searchText = text;\r\n }\r\n\r\n if (this.extraFieldTimeout) {\r\n clearTimeout(this.extraFieldTimeout);\r\n }\r\n\r\n this.extraFieldTimeout = setTimeout(() => this.internalFilterUpdated(\"extraFields\", this.internalExtraFields), 1000);\r\n }\r\n\r\n get hasOutgoingInvoices() {\r\n return UserStore.userSettings.hasOutgoingInvoices;\r\n }\r\n\r\n get hasTags() {\r\n return this.tags.length;\r\n }\r\n\r\n get hasProjectTasks() {\r\n return (this.projectTasks?.flatMap(x => x.items)?.length ?? 0);\r\n }\r\n\r\n get hasMultipleUsers() {\r\n return (this.appUser?.flatMap(x => x.items)?.length ?? 0) > 1;\r\n }\r\n\r\n get descriptionFilter() {\r\n return this.internalDescriptionFilter;\r\n }\r\n\r\n set descriptionFilter(val: string) {\r\n this.internalDescriptionFilter = val;\r\n\r\n if (this.descriptionTimeout) {\r\n clearTimeout(this.descriptionTimeout);\r\n }\r\n\r\n this.descriptionTimeout = setTimeout(() => this.internalFilterUpdated(\"description\", val), 1000);\r\n }\r\n\r\n get userNowDateTime() {\r\n return DateTime.fromISO(UserStore.userSettings.userNowDateTime);\r\n }\r\n\r\n get firstSelectedCustomer() {\r\n if (this.internalFilter?.customerIds?.length) {\r\n return this.customers?.flatMap((x) => x.items)?.find((x) => x!.id == this.internalFilter!.customerIds![0]!)?.description ?? \"\";\r\n }\r\n return \"\";\r\n }\r\n\r\n get datePattern() {\r\n return UserStore.userSettings.datePattern ?? \"dd.MM.yyyy\";\r\n }\r\n\r\n get timeFrameLabel() {\r\n if (!this.internalFilter) {\r\n return \"\";\r\n }\r\n\r\n const namedTimeFrame = this.timeFrames.find((_) => _.Name == this.internalFilter.timeframe);\r\n\r\n if (namedTimeFrame) {\r\n return namedTimeFrame.Label;\r\n } else {\r\n return (\r\n DateTime.fromISO(this.internalFilter.entryDateFrom!).toFormat(this.datePattern) + \" - \" + DateTime.fromISO(this.internalFilter.entryDateTo!).toFormat(this.datePattern)\r\n );\r\n }\r\n }\r\n\r\n get invoicedOptions(): any[] {\r\n return [\r\n { id: null, description: this.$t(\"Alle\") },\r\n { id: true, description: this.$t(\"Abgerechnet\") },\r\n { id: false, description: this.$t(\"Nicht abgerechnet\") }\r\n ];\r\n }\r\n\r\n get billableOptions(): any[] {\r\n return [\r\n { id: null, description: this.$t(\"Alle\") },\r\n { id: true, description: this.$t(\"Verrechenbar\") },\r\n { id: false, description: this.$t(\"Nicht verrechenbar\") }\r\n ];\r\n }\r\n\r\n get clearedOptions(): any[] {\r\n return [\r\n { id: null, description: this.$t(\"Alle\") },\r\n { id: true, description: this.$t(\"Abgeschlossen\") },\r\n { id: false, description: this.$t(\"Nicht abgeschlossen\") }\r\n ];\r\n }\r\n\r\n get yesNoOptions(): any[]{\r\n return [\r\n { id: null, description: this.$t(\"Alle\") },\r\n { id: 'true', description: this.$t(\"Ja\") },\r\n { id: 'false', description: this.$t(\"Nein\") }\r\n ];\r\n }\r\n\r\n get budgetUnitOptions() {\r\n return [\r\n { id: \"Currency\", description: UserStore.userSettings.currency },\r\n { id: \"Hours\", description: \"Stunden\" }\r\n ];\r\n }\r\n\r\n async loadExtraFields() {\r\n this.extraFields = (await timeEntryExtraFieldMetadataClient.getList()).filter(x => x.dataType != TimeEntryExtraFieldDataTypeEnum.Rating);\r\n }\r\n\r\n async loadCustomerSelect() {\r\n this.customers = await stCustomerApi.getSelectListForFilter(this.customerFilter);\r\n }\r\n\r\n async loadProjectSelect() {\r\n if (this.singleCustomer) {\r\n this.projectFilter.customerId = this.value!.customerIds![0];\r\n }\r\n this.projects = await stProjectApi.getSelectListForFilter(this.projectFilter);\r\n }\r\n\r\n async loadProjecTaskSelect() {\r\n this.projectTasks = await stProjectTaskApi.getSelectListForFilter(this.projectTaskFilter);\r\n }\r\n\r\n async loadAppUserSelect() {\r\n this.appUser = await stAppUserApi.getSelectListForFilter(this.appUserFilter);\r\n }\r\n\r\n async loadTagSelect() {\r\n this.tags = await stTagApi.getSelectListForFilter(this.tagFilter);\r\n }\r\n\r\n triggerTimeFrameSelectValueChange() {\r\n this.timeFrameSelectDummyValue = \"\";\r\n setTimeout(() => {\r\n this.timeFrameSelectDummyValue = \"dummy\";\r\n }, 100);\r\n }\r\n\r\n async internalFilterUpdated(prop: string, val: any, noApply: boolean = false) {\r\n let clone: any = { ...this.value, [prop]: val };\r\n this.$emit(\"input\", clone);\r\n if (!noApply) {\r\n await this.$nextTick();\r\n this.$emit(\"applyFilter\");\r\n }\r\n\r\n await this.$nextTick();\r\n if (!val || Array.isArray(val) && !val.length) {\r\n this.removeDisplayProp(prop);\r\n }\r\n }\r\n\r\n // START - TimeFrame handling\r\n createTimeFrames() {\r\n //TODO: $t\r\n this.timeFrames.push(new TimeFrame(this.userNowDateTime, this.userNowDateTime, TimeEntryFilterTimeFrame.Today, this.$t(\"Heute\").toString()));\r\n this.timeFrames.push(\r\n new TimeFrame(this.userNowDateTime.minus({ days: 1 }), this.userNowDateTime.minus({ days: 1 }), TimeEntryFilterTimeFrame.Yesterday, this.$t(\"Gestern\").toString())\r\n );\r\n\r\n this.timeFrames.push(\r\n new TimeFrame(this.userNowDateTime.startOf(\"week\"), this.userNowDateTime.endOf(\"week\"), TimeEntryFilterTimeFrame.ThisWeek, this.$t(\"Diese Woche\").toString())\r\n );\r\n\r\n this.timeFrames.push(\r\n new TimeFrame(\r\n this.userNowDateTime.startOf(\"week\").minus({ days: 7 }),\r\n this.userNowDateTime.endOf(\"week\").minus({ days: 7 }),\r\n TimeEntryFilterTimeFrame.LastWeek,\r\n this.$t(\"Letzte Woche\").toString()\r\n )\r\n );\r\n this.timeFrames.push(\r\n new TimeFrame(this.userNowDateTime.minus({ days: 6 }), this.userNowDateTime.minus({ days: 0 }), TimeEntryFilterTimeFrame.Last7, this.$t(\"Letzte 7 Tage\").toString())\r\n );\r\n\r\n this.timeFrames.push(\r\n new TimeFrame(this.userNowDateTime.minus({ days: 29 }), this.userNowDateTime.minus({ days: 0 }), TimeEntryFilterTimeFrame.Last30, this.$t(\"Letzte 30 Tage\").toString())\r\n );\r\n this.timeFrames.push(\r\n new TimeFrame(this.userNowDateTime.startOf(\"month\"), this.userNowDateTime.minus({ days: 0 }), TimeEntryFilterTimeFrame.Mtd, this.$t(\"Dieser Monat bis heute\").toString())\r\n );\r\n this.timeFrames.push(\r\n new TimeFrame(this.userNowDateTime.startOf(\"month\"), this.userNowDateTime.endOf(\"month\"), TimeEntryFilterTimeFrame.ThisMonth, this.$t(\"Dieser Monat (gesamt)\").toString())\r\n );\r\n\r\n this.timeFrames.push(\r\n new TimeFrame(\r\n this.userNowDateTime.minus({ months: 1 }).startOf(\"month\"),\r\n this.userNowDateTime.minus({ months: 1 }).endOf(\"month\"),\r\n TimeEntryFilterTimeFrame.LastMonth,\r\n this.$t(\"Letzter Monat\").toString()\r\n )\r\n );\r\n\r\n this.timeFrames.push(\r\n new TimeFrame(\r\n this.userNowDateTime.startOf(\"quarter\"),\r\n this.userNowDateTime.endOf(\"quarter\"),\r\n TimeEntryFilterTimeFrame.ThisQuarter,\r\n this.$t(\"Dieses Quartal\").toString()\r\n )\r\n );\r\n\r\n this.timeFrames.push(\r\n new TimeFrame(\r\n this.userNowDateTime.startOf(\"quarter\").minus({ days: 1 }).startOf(\"quarter\"),\r\n this.userNowDateTime.startOf(\"quarter\").minus({ days: 1 }).endOf(\"quarter\"),\r\n TimeEntryFilterTimeFrame.LastQuarter,\r\n this.$t(\"Letztes Quartal\").toString()\r\n )\r\n );\r\n\r\n\r\n this.timeFrames.push(new TimeFrame(this.userNowDateTime.startOf(\"year\"), this.userNowDateTime, TimeEntryFilterTimeFrame.Ytd, this.$t(\"Dieses Jahr bis heute\").toString()));\r\n this.timeFrames.push(\r\n new TimeFrame(this.userNowDateTime.startOf(\"year\"), this.userNowDateTime.endOf(\"year\"), TimeEntryFilterTimeFrame.ThisYear, this.$t(\"Dieses Jahr (gesamt)\").toString())\r\n );\r\n this.timeFrames.push(\r\n new TimeFrame(\r\n this.userNowDateTime.minus({ years: 1 }).startOf(\"year\"),\r\n this.userNowDateTime.minus({ years: 1 }).endOf(\"year\"),\r\n TimeEntryFilterTimeFrame.LastYear,\r\n this.$t(\"Letztes Jahr\").toString()\r\n )\r\n );\r\n this.timeFrames.push(new TimeFrame(DateTime.fromISO(\"2010-01-01\"), DateTime.fromISO(\"2030-01-01\"), TimeEntryFilterTimeFrame.All, this.$t(\"Alles\").toString()));\r\n }\r\n\r\n reset() {\r\n this.displayProps = [];\r\n }\r\n\r\n isTimeFrameActive(timeFrame: TimeFrame) {\r\n return this.internalFilter.timeframe == timeFrame.Name;\r\n }\r\n\r\n async selectCustomTimeFrame() {\r\n let clone: any = {\r\n ...this.value,\r\n timeframe: TimeEntryFilterTimeFrame.Custom\r\n };\r\n this.$emit(\"input\", clone);\r\n await this.$nextTick();\r\n this.$emit(\"applyFilter\");\r\n this.triggerTimeFrameSelectValueChange();\r\n }\r\n\r\n async selectTimeFrame(timeFrame: TimeFrame) {\r\n let clone: any = {\r\n ...this.value,\r\n entryDateFrom: timeFrame.IsoFrom,\r\n entryDateTo: timeFrame.IsoTo,\r\n timeframe: timeFrame.Name\r\n };\r\n this.$emit(\"input\", clone);\r\n await this.$nextTick();\r\n this.$emit(\"applyFilter\");\r\n this.triggerTimeFrameSelectValueChange();\r\n }\r\n\r\n async addFilter(name: string) {\r\n switch (name) {\r\n case \"customerIds\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.customerSelect as any).open();\r\n break;\r\n case \"projectIds\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.projectSelect as any).open();\r\n break;\r\n case \"appUserIds\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.appUserSelect as any).open();\r\n break;\r\n case \"tagIds\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.tagSelect as any).open();\r\n break;\r\n case \"projectTaskIds\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.projectTaskSelect as any).open();\r\n break;\r\n case \"description\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.description as any).click();\r\n break;\r\n case \"isBillable\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.billableSelect as any).open();\r\n break;\r\n case \"hasOutgoingInvoice\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.invoicedSelect as any).open();\r\n break;\r\n case \"isCleared\":\r\n this.displayProps.push(name);\r\n await this.$nextTick();\r\n (this.$refs.clearedSelect as any).open();\r\n break;\r\n case \"extrafields\":\r\n this.displayProps.push(name);\r\n break;\r\n }\r\n }\r\n\r\n hasDisplayProp(name: string) {\r\n return this.displayProps.indexOf(name) > -1;\r\n }\r\n\r\n removeDisplayProp(name: string) {\r\n let i = 0;\r\n while (i < this.displayProps.length) {\r\n if (this.displayProps[i] === name) {\r\n this.displayProps.splice(i, 1);\r\n } else {\r\n i++;\r\n }\r\n }\r\n }\r\n\r\n async removeFilter(name: string) {\r\n switch (name) {\r\n case \"description\":\r\n await this.internalFilterUpdated(name, \"\");\r\n this.internalDescriptionFilter = \"\";\r\n break;\r\n case \"isBillable\":\r\n await this.internalFilterUpdated(name, null);\r\n break;\r\n case \"hasOutgoingInvoice\":\r\n await this.internalFilterUpdated(name, null);\r\n break;\r\n case \"isCleared\":\r\n await this.internalFilterUpdated(name, null);\r\n break;\r\n default:\r\n await this.internalFilterUpdated(name, []);\r\n }\r\n }\r\n\r\n // END - TimeFrame handling\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryFilterComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryFilterComponent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntryFilterComponent.vue?vue&type=template&id=a504c652&\"\nimport script from \"./TimeEntryFilterComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntryFilterComponent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimeEntryFilterComponent.vue?vue&type=style&index=0&id=a504c652&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-popover',{attrs:{\"trigger\":'hover click',\"delay\":{ show: 250 }}},[_vm._t(\"icon\",function(){return [_c('i',{staticClass:\"far text-lg fa-question-circle text-gray-700\"})]}),_c('template',{slot:\"popover\"},[_c('div',{staticClass:\"rounded bg-white border p-4 text-gray-700\",class:{'whitespace-pre': _vm.preserveWhitespace},style:({maxWidth: _vm.maxWidth+'px'})},[_vm._t(\"default\",function(){return [_vm._v(\" Please insert explanation here... \")]})],2)])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\n\r\n @Component({\r\n inheritAttrs: false,\r\n })\r\n export default class StExplanation extends Vue {\r\n @Prop({default: 600})maxWidth!: number;\r\n @Prop({default: false})preserveWhitespace!: boolean;\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StExplanation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StExplanation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StExplanation.vue?vue&type=template&id=faa45cec&\"\nimport script from \"./StExplanation.vue?vue&type=script&lang=ts&\"\nexport * from \"./StExplanation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListExport.vue?vue&type=style&index=0&id=713f6b96&prod&lang=scss&\"","import { DateTime } from 'luxon';\r\nimport { UserStore } from '@/store/user-module';\r\nimport { FileResponse } from '@/services/api/nswag/stapiclient_generated';\r\nimport { stAccountApi } from '@/services/st-api';\r\nimport numeral from 'numeral';\r\n\r\nexport class ToggleHandler {\r\n private openIds: Array = [];\r\n\r\n public toggleMultiple(ids: Array) {\r\n ids.forEach((x) => this.toggle(x));\r\n }\r\n\r\n public toggle(id: number) {\r\n if (this.isOpen(id)) {\r\n this.openIds.splice(\r\n this.openIds.findIndex((x) => x == id),\r\n 1\r\n );\r\n } else {\r\n this.openIds.push(id);\r\n }\r\n }\r\n\r\n isOpen(id: number) {\r\n return this.openIds.some((x) => x == id);\r\n }\r\n}\r\n\r\nexport class ObjectEditor {\r\n data: T | null = null;\r\n originalData: T | null = null;\r\n editMode = false;\r\n isNew = false;\r\n\r\n constructor(_data: T) {\r\n this.data = _data;\r\n this.originalData = JSON.parse(JSON.stringify(this.data));\r\n }\r\n\r\n get val() {\r\n return this.data!;\r\n }\r\n\r\n set val(data: T) {\r\n this.data = data;\r\n }\r\n\r\n reset() {\r\n this.data = JSON.parse(JSON.stringify(this.originalData));\r\n this.editMode = false;\r\n }\r\n}\r\n\r\nexport async function getLogo(file: FileResponse) {\r\n let res = { logo: '', logoBase64: '' };\r\n if (!!file?.data?.size) {\r\n res.logo = URL.createObjectURL(file.data);\r\n\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file.data);\r\n const base64Data = await new Promise((resolve) => {\r\n reader.onloadend = () => {\r\n resolve(reader.result as string);\r\n };\r\n });\r\n\r\n res.logoBase64 = base64Data;\r\n }\r\n\r\n return res;\r\n}\r\n\r\nexport function dateEqual(dateTime: DateTime, dateTime2: DateTime) {\r\n return dateTime?.year === dateTime2?.year && dateTime?.month === dateTime2?.month && dateTime?.day === dateTime2?.day;\r\n}\r\n\r\nexport function dateGreaterEqual(dateTime: DateTime, dateTime2: DateTime) {\r\n return dateTime?.year >= dateTime2?.year && dateTime?.month >= dateTime2?.month && dateTime?.day >= dateTime2?.day;\r\n}\r\n\r\nexport function dateSmallerEqual(dateTime: DateTime, dateTime2: DateTime) {\r\n return dateTime?.year <= dateTime2?.year && dateTime?.month <= dateTime2?.month && dateTime?.day <= dateTime2?.day;\r\n}\r\n\r\nexport function padZero(timeInt: number) {\r\n return timeInt < 10 ? '0' + timeInt.toString() : timeInt.toString();\r\n}\r\n\r\nexport function getHours(durationMinutes: number, showPlusSign: boolean = false, showPlusMinusSign: boolean = false) {\r\n let hoursInt;\r\n let minutesInt;\r\n\r\n const isNegative = durationMinutes < 0;\r\n\r\n durationMinutes = Math.abs(durationMinutes);\r\n\r\n hoursInt = Math.floor(durationMinutes / 60);\r\n minutesInt = Math.abs(durationMinutes - hoursInt * 60);\r\n\r\n let sign = isNegative ? '-' : '';\r\n\r\n if (!isNegative && showPlusSign) {\r\n sign = '+';\r\n }\r\n\r\n if (!hoursInt && !minutesInt) {\r\n if (showPlusMinusSign) {\r\n sign = '±';\r\n } else {\r\n sign = '';\r\n }\r\n }\r\n\r\n return sign + padZero(hoursInt) + ':' + padZero(minutesInt);\r\n}\r\n\r\nexport function getHoursFromSeconds(durationSeconds: number) {\r\n let hoursInt;\r\n let minutesInt;\r\n let secondsInt;\r\n\r\n hoursInt = Math.floor(durationSeconds / 60 / 60);\r\n minutesInt = Math.floor((durationSeconds - hoursInt * 60 * 60) / 60);\r\n secondsInt = Math.abs(durationSeconds - hoursInt * 60 * 60 - minutesInt * 60);\r\n\r\n return padZero(hoursInt) + ':' + padZero(minutesInt) + ':' + padZero(secondsInt);\r\n}\r\n\r\nexport function nthIndex(str: string, pat: string, n: number) {\r\n let L = str.length,\r\n i = -1;\r\n while (n-- && i++ < L) {\r\n i = str.indexOf(pat, i);\r\n if (i < 0) {\r\n break;\r\n }\r\n }\r\n return i;\r\n}\r\n\r\nexport function startOfMonth(date: DateTime) {\r\n return DateTime.fromFormat('1.' + date.toFormat('M.yyyy'), 'd.M.yyyy', { zone: 'utc' });\r\n}\r\n\r\nexport function endOfMonth(date: DateTime) {\r\n const firstOfMonth = startOfMonth(date);\r\n\r\n return firstOfMonth.plus({ months: 1 }).minus({ days: 1 });\r\n}\r\n\r\nexport function startOfWeek(date: DateTime) {\r\n let weekdayNumber = parseInt(date.toFormat('E'));\r\n weekdayNumber = weekdayNumber === 7 ? 0 : weekdayNumber;\r\n\r\n const startOfWeek = UserStore.userSettings?.firstDayOfWeekInt ?? 1;\r\n const diff = (7 + (weekdayNumber - startOfWeek)) % 7;\r\n return date.minus({ days: diff });\r\n}\r\n\r\nexport function endOfWeek(date: DateTime) {\r\n return startOfWeek(date.plus({ days: 7 })).minus({ days: 1 });\r\n}\r\n\r\nexport function DtFromIso(dateISO: string) {\r\n return DateTime.fromISO(dateISO, { zone: 'utc' });\r\n}\r\n\r\nexport function GetElemByRef(ref: any) {\r\n if (ref.$el) {\r\n return ref.$el;\r\n }\r\n\r\n return ref;\r\n}\r\n\r\nexport function DateForEach(dateFrom: DateTime, dateTo: DateTime) {\r\n let res: DateTime[] = [];\r\n for (let start = dateFrom; start <= dateTo; start = start.plus({ days: 1 })) {\r\n res.push(start);\r\n }\r\n\r\n return res;\r\n}\r\n\r\nexport function clone(item: any) {\r\n return JSON.parse(JSON.stringify(item));\r\n}\r\n\r\nexport function roundToTwo(num: number) {\r\n //@ts-ignore\r\n return +(Math.round(num + 'e+2') + 'e-2');\r\n}\r\n\r\nexport function formatCentToEuro(value: number) {\r\n numeral.locale('de'); //TODO: usersettings!\r\n return numeral(value / 100).format('0,0.00');\r\n}\r\n\r\nexport function formatDate(value: any, formatString: string = '') {\r\n if (!value) {\r\n return;\r\n }\r\n if (value) {\r\n let dt = value;\r\n if (!DateTime.isDateTime(value)) {\r\n dt = DateTime.fromISO(value);\r\n }\r\n\r\n if (formatString) {\r\n return dt.toFormat(formatString);\r\n }\r\n\r\n return dt.toFormat(UserStore.userSettings.datePattern ?? 'dd.MM.yyyy');\r\n }\r\n}\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=0e97a460&prod&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"flex justify-start items-center st-toggle\"},[(_vm.type === 'left')?_c('span',{staticClass:\"text-gray-700 text-md\",class:{'cursor-pointer': !_vm.disabled},on:{\"click\":_vm.toggle}},[_vm._t(\"default\")],2):_vm._e(),_c('div',{staticClass:\"flex justify-between items-center relative\",class:{'ml-4': _vm.type === 'left', 'mr-4': _vm.type === 'right',\n 'cursor-pointer ': !_vm.disabled, 'cursor-not-allowed': _vm.disabled},on:{\"click\":_vm.toggle}},[(_vm.disabled)?_c('div',{staticClass:\"absolute bg-gray-300 opacity-50 z-10 rounded-full\",staticStyle:{\"top\":\"0\",\"left\":\"0\",\"bottom\":\"0\",\"right\":\"0\"}}):_vm._e(),_c('div',{staticClass:\"w-16 h-10 flex items-center bg-gray-300 rounded-full p-2 duration-300 ease-in-out\",class:[_vm.successButtonColor ,_vm.value ? _vm.bgClass : '']},[_c('div',{staticClass:\"w-8 h-8 bg-white rounded-full shadow-md transform duration-300 ease-in-out\",class:{ 'translate-x-10': _vm.value,}})])]),(_vm.type === 'right')?_c('span',{staticClass:\"text-gray-700 text-md\",class:{'cursor-pointer': !_vm.disabled},on:{\"click\":_vm.toggle}},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\r\nimport {successButtonColorClass} from '@/utlitities/color';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n @Component({})\r\n export default class StToggle extends Vue {\r\n @Prop() value!: boolean;\r\n @Prop({default: 'green'}) bgClass!: string\r\n @Prop({default: 'left'}) type!: string;\r\n @Prop() disabled!: boolean;\r\n\r\n get successButtonColor(){\r\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\r\n }\r\n\r\n toggle() {\r\n if(this.disabled){\r\n return;\r\n }\r\n this.$emit('input', !this.value);\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StToggle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StToggle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StToggle.vue?vue&type=template&id=30c02574&\"\nimport script from \"./StToggle.vue?vue&type=script&lang=ts&\"\nexport * from \"./StToggle.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StToggle.vue?vue&type=style&index=0&id=30c02574&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-provider',{staticClass:\"w-full flex flex-col\",attrs:{\"name\":_vm.name,\"rules\":_vm.rules,\"immediate\":_vm.valImmediate},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('label',{staticClass:\"block\",class:{'form-group': _vm.label}},[(_vm.label)?_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(_vm.label)))]):_vm._e(),(_vm.isNative || _vm.disabled)?_c('textarea',_vm._b({ref:\"inputfield\",staticClass:\"form-control\",class:[{ error: !!errors[0] }, _vm.inputClass, _vm.successButtonColor],attrs:{\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value},on:{\"input\":_vm.input}},'textarea',_vm.$attrs,false)):_c('textarea-autosize',_vm._b({ref:\"inputfield\",staticClass:\"form-control\",class:[{ error: !!errors[0] }, _vm.inputClass, _vm.successButtonColor],attrs:{\"value\":_vm.value},nativeOn:{\"input\":function($event){return _vm.input.apply(null, arguments)},\"blur\":function($event){return _vm.$emit('blur')},\"focus\":function($event){return _vm.$emit('focus')},\"click\":function($event){return _vm.$emit('click')},\"keydown\":function($event){return _vm.$emit('keydown', $event)}}},'textarea-autosize',_vm.$attrs,false)),_c('span',{staticClass:\"text-red-500 text-sm\"},[_vm._v(_vm._s(errors[0]))])],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport {successButtonColorClass} from '@/utlitities/color';\nimport {UserStore} from '@/store/user-module';\n\n@Component({\n inheritAttrs: false,\n})\nexport default class StTextarea extends Vue {\n @Prop() label!: string;\n @Prop() name!: string;\n @Prop() rules!: string;\n @Prop() value!: any;\n @Prop() inputClass!: string;\n @Prop() valImmediate!: boolean;\n @Prop() focus!: boolean;\n @Prop() isNative!: boolean;\n @Prop() disabled!: boolean;\n\n mounted() {\n if (this.focus) (this.$refs.inputfield as HTMLInputElement).focus();\n\n if(!this.isNative){\n (this.$refs.inputfield as any).resize();\n }\n }\n\n get successButtonColor(){\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\n }\n\n focusNative(){\n\n ((this.$refs.inputfield as any).$el as any).focus()\n }\n\n @Emit('input')\n input(event: any) {\n return event.currentTarget.value;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTextarea.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTextarea.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StTextarea.vue?vue&type=template&id=5351b5a1&\"\nimport script from \"./StTextarea.vue?vue&type=script&lang=ts&\"\nexport * from \"./StTextarea.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleEdit.vue?vue&type=style&index=0&id=60889847&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=style&index=0&id=3966a590&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewTimeAccount.vue?vue&type=style&index=0&id=5ed46cea&prod&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.users.length > 1)?_c('div',{staticClass:\"flex justify-end items-center w-full\",class:{'pb-4': !_vm.noPadding}},[(_vm.isDifferentUser)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Sie bearbeiten die Zeiten eines anderen Mitarbeiters')),expression:\"$t('Sie bearbeiten die Zeiten eines anderen Mitarbeiters')\"}],staticClass:\"far text-lg fa-exclamation-triangle text-orange-600 mr-4\"}):_vm._e(),_c('div',{staticClass:\"flex w-full\",staticStyle:{\"min-width\":\"300px\"}},[_c('st-select',{attrs:{\"options\":_vm.users,\"idProp\":\"id\",\"labelProp\":\"description\",\"labelIcon\":\"far fa-user\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar className = ref.className;\nvar option = ref.option;\nreturn [_c('div',{staticClass:\"text-base font-normal pl-8\",class:[className]},[_vm._v(\" \"+_vm._s(option.text)+\" \")])]}}],null,false,13077203),model:{value:(_vm.selectedUserId),callback:function ($$v) {_vm.selectedUserId=$$v},expression:\"selectedUserId\"}}),(_vm.isDifferentUser)?_c('st-button-round',{staticClass:\"ml-4\",attrs:{\"no-margin\":true,\"tooltip-text\":_vm.$t('Zurücksetzen')},on:{\"click\":_vm.resetUser}},[_c('i',{staticClass:\"far fa-undo\"})]):_vm._e()],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { AppUserFilter, RightEnum, StSelectListItem } from '@/services/api/nswag/stapiclient_generated';\nimport { stAppUserApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\n\n@Component({\n components: {},\n})\nexport default class UserSelect extends Vue {\n @Prop() value!: number;\n @Prop() rightEnum!: RightEnum;\n @Prop() noPadding!: boolean;\n users: StSelectListItem[] = [];\n\n async mounted() {\n await this.loadUsers();\n }\n\n get isDifferentUser() {\n return this.selectedUserId != UserStore.currentUser.id;\n }\n\n get selectedUserId() {\n return this.value;\n }\n\n set selectedUserId(id: number) {\n this.$emit('input', id);\n }\n\n get canEditTimeEntriesForEmployees() {\n return UserStore.userSettings[this.rightEnum];\n }\n\n resetUser() {\n this.selectedUserId = UserStore.currentUser.id!;\n }\n\n async loadUsers() {\n if (this.canEditTimeEntriesForEmployees) {\n this.users = (await stAppUserApi.getList(AppUserFilter.fromJS({ isArchived: false }))).map((_) => {\n const item = new StSelectListItem();\n item.id = _.id;\n item.description = _.name;\n return item;\n });\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserSelect.vue?vue&type=template&id=6ea147b2&\"\nimport script from \"./UserSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserSelect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSelectButton.vue?vue&type=style&index=0&id=28e13c0c&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthLayout.vue?vue&type=style&index=0&id=42892b44&prod&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/SpikeTime_White.79da6c4b.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdvContract.vue?vue&type=style&index=0&id=5aec8d05&prod&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceTimeEntries.vue?vue&type=style&index=0&id=14c0b2f6&prod&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSettingsSeparator.vue?vue&type=style&index=0&id=21e9c678&prod&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('notifications',{attrs:{\"position\":\"bottom right\",\"width\":\"\",\"animation-type\":\"css\",\"animation-name\":\"v-fade-left\"},scopedSlots:_vm._u([{key:\"body\",fn:function(ref){\nvar item = ref.item;\nvar close = ref.close;\nreturn [_c('st-notification',{attrs:{\"item\":item,\"close-func\":close}})]}}])}),_c(_vm.layout,{tag:\"component\"},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"py-4 px-6 mt-4 rounded-md font-normal notification-shadow\",class:_vm.item.data.class},[(_vm.item.data.isBudget)?_c('div',{staticClass:\"rounded-lg\",staticStyle:{\"width\":\"350px\"}},[_c('div',{staticClass:\"flex justify-between\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.budgetModel.projectName))]),_c('div',[_vm._v(\"Budgetverbrauch\")])]),_c('st-progress',{attrs:{\"budgetMode\":true,\"progress\":_vm.budgetModel.percentage},scopedSlots:_vm._u([{key:\"badgeText\",fn:function(){return [(_vm.budgetModel.budget !== 0)?_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.budgetModel.actualValue,'0,0'))+\" \"+_vm._s(_vm.$t('von'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.budgetModel.budget,'0,0'))+\" \"),(_vm.budgetModel.budgetUnit.toLowerCase() === 'hours')?_c('span',[_vm._v(\"h\")]):(_vm.budgetModel.budgetUnit.toLowerCase() === 'hoursbillable')?_c('span',[_vm._v(\"h (verrechenbar)\")]):_c('span',[_vm._v(_vm._s(_vm.currency))])]):_vm._e()]},proxy:true}],null,false,300706175)})],1):_c('div',{staticClass:\"flex items-center\"},[_c('i',{staticClass:\"fa mr-4\",class:_vm.item.data.icon}),_c('div',[_vm._v(_vm._s(_vm.item.text))]),(_vm.item.data.isDeletion)?_c('div',{staticClass:\"ml-4\"},[_c('st-button',{staticClass:\"small green\",on:{\"click\":_vm.undoDeletion}},[_vm._v(_vm._s(_vm.$t('Rückgängig')))])],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"relative pt-1\",class:_vm.barClass},[_c('div',{staticClass:\"flex mb-2 items-center justify-between\"},[_c('span',{staticClass:\"badge text-sm font-semibold inline-block py-1 px-4 rounded-full\"},[_vm._t(\"badgeText\")],2),_c('div',{staticClass:\"text-right\"},[_c('span',{staticClass:\"progress text-sm font-semibold inline-block\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.progress,\"0\"))+\" %\")])])]),_c('div',{staticClass:\"bar overflow-hidden h-6 mb-4 text-sm flex rounded\"},[_c('div',{staticClass:\"shadow-none flex flex-col text-center whitespace-nowrap text-white justify-center\",style:({ width: _vm.progressInternal + '%' })})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Prop, Vue, Watch} from 'vue-property-decorator';\r\n\r\n @Component({\r\n components: {},\r\n })\r\n export default class StProgress extends Vue {\r\n @Prop() progress!: number;\r\n @Prop() badgeText!: string;\r\n @Prop() budgetMode!: boolean;\r\n\r\n private progressInternal: number = 0;\r\n\r\n @Watch('progress')\r\n changeProgress()\r\n {\r\n setTimeout(() => {\r\n this.progressInternal = this.progress > 100 ? 100 : this.progress;\r\n }, 10);\r\n }\r\n\r\n mounted()\r\n {\r\n setTimeout(() => {\r\n this.progressInternal = this.progress > 100 ? 100 : this.progress;\r\n }, 10);\r\n }\r\n\r\n get barClass() {\r\n if (!this.budgetMode) return {'good': true};\r\n\r\n if (this.progress <= 80) return {'good': true};\r\n if (this.progress > 80 && this.progress <= 95) return {'medium': true};\r\n if (this.progress > 95) return {'bad': true};\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StProgress.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StProgress.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StProgress.vue?vue&type=template&id=10e85939&scoped=true&\"\nimport script from \"./StProgress.vue?vue&type=script&lang=ts&\"\nexport * from \"./StProgress.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StProgress.vue?vue&type=style&index=0&id=10e85939&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10e85939\",\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport {ProjectBudgetViewModel} from '@/services/api/nswag/stapiclient_generated';\nimport {UserStore} from '@/store/user-module';\nimport StProgress from '@/components/basic/StProgress.vue';\n\n@Component({\n components: {StProgress},\n})\nexport default class StNotification extends Vue {\n @Prop() item: any;\n @Prop() closeFunc: any;\n\n undoDeletion() {\n this.item.data.undoFunc();\n this.closeFunc();\n }\n\n get budgetModel(): ProjectBudgetViewModel | null {\n if (this.item.data.isBudget)\n {\n return this.item.data.budget as ProjectBudgetViewModel;\n }\n\n return null;\n }\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StNotification.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StNotification.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StNotification.vue?vue&type=template&id=b8ac330e&\"\nimport script from \"./StNotification.vue?vue&type=script&lang=ts&\"\nexport * from \"./StNotification.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StNotification.vue?vue&type=style&index=0&id=b8ac330e&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport StNotification from '@/components/basic/StNotification.vue';\n\n@Component({\n components: {StNotification},\n})\nexport default class App extends Vue {\n private default_layout: string = 'default';\n\n windowWidth: number = window.innerWidth;\n\n\n\n get layout() {\n return (this.$route.meta.layout || this.default_layout) + '-layout';\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=0e97a460&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=0e97a460&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t(\"Kunden und Projekte\"))+\" \"),(_vm.showArchived)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t(\"Archiv\"))+\")\")]):_vm._e()]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t(\"Anlage und Bearbeitung von Kunden und Projekten\")))])]),(_vm.canEditCustomersAndProjects)?_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-address-card\"},on:{\"click\":_vm.createNewCustomer}},[_vm._v(_vm._s(_vm.$t(\"Neuen Kunde anlegen\"))+\" \")]):_vm._e()],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header flex-col md:flex-row items-start md:items-center\"},[_c('div',{staticClass:\"md:w-1/2 flex\"},[_c('st-search',{staticClass:\"modifiable-search\",attrs:{\"display-loading\":_vm.searchTextHasBeenSetRecently,\"type\":\"text\",\"placeholder\":_vm.$t('Suche...')},model:{value:(_vm.search.val),callback:function ($$v) {_vm.$set(_vm.search, \"val\", $$v)},expression:\"search.val\"}}),_c('st-select-button',{staticClass:\"text-gray-700\",attrs:{\"options\":_vm.searchModeOptions},model:{value:(_vm.searchMode),callback:function ($$v) {_vm.searchMode=$$v},expression:\"searchMode\"}})],1),_c('div',{staticClass:\"flex items-center mt-6 md:mt-0\"},[_c('st-toggle',{staticClass:\"hidden sm:flex\",model:{value:(_vm.showProjectTasks),callback:function ($$v) {_vm.showProjectTasks=$$v},expression:\"showProjectTasks\"}},[_c('div',{staticClass:\"text-onbgsecondary-normal\"},[_vm._v(_vm._s(_vm.$t(\"Projektleistungen anzeigen\")))])]),_c('div',{staticClass:\"ml-8\"}),_c('st-toggle',{attrs:{\"value\":_vm.showArchived},on:{\"input\":_vm.toggleShowArchived}},[_c('div',{staticClass:\"text-onbgsecondary-normal\"},[_vm._v(_vm._s(_vm.$t(\"Archiv anzeigen\")))])])],1)]),_c('div',{staticClass:\"st-list-content relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',[(!_vm.filteredCustomers.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-address-card\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t(\"Keine Kunden gefunden\")))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t(\"Bitte die Suche anpassen, oder einen neuen Kunden anlegen\")))])]):_vm._e(),_vm._l((_vm.filteredCustomers),function(customer,index){return _c('div',{key:customer.id,staticClass:\"st-list-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.editCustomer(customer)}}},[_c('div',{staticClass:\"st-list-item-content items-center\",class:{'disabled': _vm.customerIsReadonly(customer)}},[_c('div',{staticClass:\"col-span-6 md:col-span-4 flex items-center\"},[_c('i',{staticClass:\"far fa-address-card fa-lg fa-fw\"}),_c('div',{staticClass:\"st-list-item-header flex flex-col\"},[_c('div',{staticClass:\"pb-2 break-word\"},[_vm._v(_vm._s(customer.name))]),(customer.hasNoProjects)?_c('div',{staticClass:\"text-sm font-normal\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Zeiten werden direkt auf den Kunden gebucht\"))+\" \")]):_c('div',{staticClass:\"text-sm font-normal\"},[_vm._v(\" \"+_vm._s(customer.noOfActiveProjects)+\" \"+_vm._s(_vm.$t(\"aktive Projekte\"))+\" / \"+_vm._s(customer.noOfArchivedProjects)+\" \"+_vm._s(_vm.$t(\"archivierte Projekte\"))+\" \")])])]),(_vm.showArchived && !customer.isArchived)?_c('div',{staticClass:\"hidden md:col-span-4 font-bold md:flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Aktiver Kunde\"))+\" \")]):[(customer.hasNoProjects)?[(_vm.getCustomerProject(customer).isFixedPrice)?_c('div',{staticClass:\"hidden md:col-span-4 md:flex items-center gap-x-2\"},[_c('st-badge',[_vm._v(_vm._s(_vm.$t('Festpreisprojekt'))+\" \"),_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.getCustomerProject(customer).fixedPrice)))])]),(_vm.getCustomerProject(customer).finishedDate)?[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('abgeschlossen am: ')+_vm.formatDate(_vm.getCustomerProject(customer).finishedDate)),expression:\"$t('abgeschlossen am: ')+formatDate(getCustomerProject(customer).finishedDate)\"}],staticClass:\"far fa-lock-alt\"})]:_vm._e()],2):_c('div',{staticClass:\"hidden md:col-span-4 md:block\"},[_c('project-budget',{attrs:{\"project\":_vm.getDummyCustomerProject(customer),\"has-budget\":_vm.hasBudget(_vm.getDummyCustomerProject(customer)),\"can-view-budget\":_vm.canViewBudget(_vm.getDummyCustomerProject(customer)),\"budget-loading\":_vm.budgetLoading,\"budget\":_vm.getBudgetModel(_vm.getDummyCustomerProject(customer))}})],1)]:_c('div',{staticClass:\"hidden md:block md:col-span-4\"}),_c('div',{staticClass:\"hidden md:col-span-2 md:flex items-center justify-self-end\"},[(customer.hasNoProjects && _vm.getCustomerProject(customer).isFixedPrice)?[(_vm.canViewRates && _vm.getCustomerProject(customer).activeFixedPriceRate)?_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(_vm.getCustomerProject(customer).activeFixedPriceRate))+\" / h \")]):_vm._e()]:[(customer.amountModel.overrideAmount && _vm.canViewRates)?_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(customer.amountModel.amount))+\" / h \")]):_vm._e()]],2),_c('div',{staticClass:\"col-span-6 md:col-span-2 flex items-center justify-end\"},[(customer.hasNoProjects)?[(_vm.canViewProjectReport && !_vm.getCustomerProject(customer).isFixedPrice)?_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Projektbericht')},on:{\"click\":function($event){_vm.projectReport(_vm.getDummyCustomerProject(customer))}}},[_c('i',{staticClass:\"far fa-project-diagram\"})]):_vm._e()]:[(!customer.isArchived && _vm.canEditCustomersAndProjects)?_c('st-button-round',{staticClass:\"success\",attrs:{\"tooltipText\":_vm.$t('Neues Projekt')},on:{\"click\":function($event){return _vm.newProject(customer.id)}}},[_c('i',{staticClass:\"far fa-plus\"})]):_vm._e()],(_vm.canEditCustomersAndProjects)?_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t(_vm.customerIsReadonly(customer) ? 'Ansehen': 'Bearbeiten')},on:{\"click\":function($event){return _vm.editCustomer(customer)}}},[(_vm.customerIsReadonly(customer))?_c('i',{staticClass:\"far fa-eye\"}):_c('i',{staticClass:\"far fa-pencil\"})]):_vm._e(),(_vm.canEditCustomersAndProjects && customer.hasNoProjects && _vm.getCustomerProject(customer).isFixedPrice)?_c('st-button-round',{attrs:{\"loading\":_vm.finishProjectLoadingId === _vm.getCustomerProject(customer).id,\"tooltipText\":_vm.$t(_vm.getCustomerProject(customer).finishedDate ? 'Öffnen' : 'Abschließen')},on:{\"click\":function($event){_vm.toggleProjectFinish(_vm.getCustomerProject(customer).id)}}},[(_vm.getCustomerProject(customer).finishedDate)?_c('i',{staticClass:\"far fa-lock-alt\"}):_c('i',{staticClass:\"far fa-lock-open-alt\"})]):_vm._e(),(_vm.canEditCustomersAndProjects)?_c('st-button-round',{attrs:{\"loading\":_vm.archiveCustomerLoadingId === customer.id,\"tooltipText\":_vm.$t(customer.isArchived ? 'Aktivieren' : 'Archivieren')},on:{\"click\":function($event){return _vm.toggleCustomerArchive(customer.id)}}},[(customer.isArchived)?_c('i',{staticClass:\"far fa-inbox-out\"}):_c('i',{staticClass:\"far fa-inbox-in\"})]):_vm._e(),(_vm.canEditCustomersAndProjects)?_c('st-delete-button',{attrs:{\"loading\":_vm.delCustomerLoading},on:{\"delete\":function($event){return _vm.customerDelete(customer.id)}}},[_c('i',{staticClass:\"far fa-trash\"})]):_vm._e()],2)]],2),(customer.projects.length && !customer.hasNoProjects)?_c('div',{staticClass:\"border-t\"},_vm._l((customer.projects.filter(function (_){ return !_.isBasicTimeTrackingDefaultProject; })),function(project,index){return _c('div',{key:project.id,on:{\"click\":function($event){$event.stopPropagation();return _vm.editProject(project)}}},[_c('project-single',{attrs:{\"project\":project,\"can-view-budget\":_vm.canViewBudget(project),\"has-budget\":_vm.hasBudget(project),\"show-project-tasks\":_vm.showProjectTasks,\"budget\":_vm.getBudgetModel(project),\"archive-loading\":_vm.archiveProjectLoadingId === project.id,\"finish-loading\":_vm.finishProjectLoadingId === project.id,\"del-loading\":_vm.delProjectLoading,\"budget-loading\":_vm.budgetLoading},on:{\"toggleArchive\":function($event){return _vm.toggleProjectArchive(project.id)},\"toggleFinish\":function($event){return _vm.toggleProjectFinish(project.id)},\"projectDelete\":function($event){return _vm.projectDelete(project.id)}}})],1)}),0):_vm._e()])})],2)],1)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.editProject(_vm.project)}}},[_c('div',{staticClass:\"py-6 st-list-item-content\",class:{'disabled': _vm.project.isReadonly}},[_c('div',{staticClass:\"flex items-center col-span-8 md:col-span-4\"},[_c('div',{staticClass:\"pl-16\"}),_c('i',{staticClass:\"far fa-file-alt fa-lg fa-fw\"}),_c('span',{staticClass:\"st-list-item-header font-bold text-base break-word\"},[_vm._v(_vm._s(_vm.project.name)+\" \"),(_vm.useCustomerProjectId && _vm.project.customerProjectId)?[_vm._v(\"(\"+_vm._s(_vm.project.customerProjectId)+\")\")]:_vm._e()],2)]),(_vm.project.isFixedPrice)?_c('div',{staticClass:\"hidden md:col-span-4 md:flex items-center gap-x-2\"},[_c('st-badge',[_vm._v(_vm._s(_vm.$t('Festpreisprojekt'))+\" \"),_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.project.fixedPrice)))])]),(_vm.project.finishedDate)?[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('abgeschlossen am: ')+_vm.formatDate(_vm.project.finishedDate)),expression:\"$t('abgeschlossen am: ')+formatDate(project.finishedDate)\"}],staticClass:\"far fa-lock-alt\"})]:_vm._e()],2):_c('div',{staticClass:\"hidden md:col-span-4 md:block items-center\"},[_c('project-budget',{attrs:{\"project\":_vm.project,\"canViewBudget\":_vm.canViewBudget,\"hasBudget\":_vm.project.hasBudget,\"budget\":_vm.budget,\"budgetLoading\":_vm.budgetLoading}})],1),_c('div',{staticClass:\"hidden md:flex md:col-span-2 items-center justify-end\"},[(_vm.project.isFixedPrice)?[(_vm.canViewRates && _vm.project.activeFixedPriceRate)?_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(_vm.project.activeFixedPriceRate))+\" / h \")]):_vm._e()]:[(_vm.canViewRates && _vm.project.amountModel.overrideAmount)?_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(_vm.project.amountModel.amount))+\" / h \")]):_vm._e()]],2),_c('div',{staticClass:\"col-span-4 md:col-span-2 flex items-center justify-end\"},[(_vm.canViewProjectReport && !_vm.project.isFixedPrice)?_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Projektbericht')},on:{\"click\":function($event){return _vm.projectReport(_vm.project)}}},[_c('i',{staticClass:\"far fa-project-diagram\"})]):_vm._e(),(_vm.canEditCustomersAndProjects)?_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t(_vm.project.isReadonly ? 'Ansehen' : 'Bearbeiten')},on:{\"click\":function($event){return _vm.editProject(_vm.project)}}},[(_vm.project.isReadonly)?_c('i',{staticClass:\"far fa-eye\"}):_c('i',{staticClass:\"far fa-pencil\"})]):_vm._e(),(_vm.canEditCustomersAndProjects && _vm.project.isFixedPrice)?_c('st-button-round',{attrs:{\"loading\":_vm.finishLoading,\"tooltipText\":_vm.$t(_vm.project.finishedDate ? 'Öffnen' : 'Abschließen')},on:{\"click\":function($event){return _vm.toggleFinish(_vm.project.id)}}},[(_vm.project.finishedDate)?_c('i',{staticClass:\"far fa-lock-alt\"}):_c('i',{staticClass:\"far fa-lock-open-alt\"})]):_vm._e(),(_vm.canEditCustomersAndProjects)?_c('st-button-round',{attrs:{\"loading\":_vm.archiveLoading,\"tooltipText\":_vm.$t(_vm.project.isArchived ? 'Aktivieren' : 'Archivieren')},on:{\"click\":function($event){return _vm.toggleArchive(_vm.project.id)}}},[(_vm.project.isArchived)?_c('i',{staticClass:\"far fa-inbox-out\"}):_c('i',{staticClass:\"far fa-inbox-in\"})]):_vm._e(),(_vm.canEditCustomersAndProjects)?_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.projectDelete(_vm.project.id)}}},[_c('i',{staticClass:\"far fa-trash\"})]):_vm._e()],1)]),_vm._l((_vm.project.projectTasks),function(projectTask){return (_vm.showProjectTasks)?_c('div',{key:projectTask.id,staticClass:\"py-6 st-list-item-content cursor-auto hover:bg-white\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',{staticClass:\"col-span-4 flex items-center font-bold text-base\"},[_c('div',{staticClass:\"pl-24\"}),_c('i',{staticClass:\"far fa-lightbulb fa-fw\"}),_c('span',{staticClass:\"ml-4 break-word\"},[_vm._v(\" \"+_vm._s(projectTask.name)+\" \")])]),_c('div',{staticClass:\"col-span-4\"}),_c('div',{staticClass:\"col-span-2 flex items-center justify-end\"},[(projectTask.amountModel.overrideAmount && _vm.canViewRates)?_c('span',[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(projectTask.amountModel.amount))+\" / h\")]):_vm._e()]),_c('div',{staticClass:\"cols-span-2\"})]):_vm._e()})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.budgetLoading)?_c('div',{staticClass:\"hidden md:block\"},[(_vm.project.budget > 0)?_c('st-progress',{key:_vm.project.id,attrs:{\"progress\":0,\"budgetMode\":true},scopedSlots:_vm._u([{key:\"badgeText\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('Berechne...'))+\" \")]},proxy:true}],null,false,402630279)}):_vm._e()],1):_c('div',{staticClass:\"hidden md:flex items-center\"},[(_vm.hasBudget && _vm.canViewBudget)?[_c('div',{staticClass:\"flex-grow\"},[_c('st-progress',{key:_vm.budget.projectId,attrs:{\"progress\":_vm.budget.percentage,\"budgetMode\":true},scopedSlots:_vm._u([{key:\"badgeText\",fn:function(){return [(_vm.canViewRates || _vm.budget.budgetUnit.toLowerCase() != 'currency')?[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.budget.actualValue,'0,0'))+\" \"+_vm._s(_vm.$t('von'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.budget.budget,'0,0'))+\" \"),(_vm.budget.budgetUnit.toLowerCase() === 'hours')?_c('span',[_vm._v(\"h\")]):(_vm.budget.budgetUnit.toLowerCase() === 'hoursbillable')?_c('span',[_vm._v(\"h \"+_vm._s(_vm.$t('(verrechenbar)')))]):_c('span',[_vm._v(_vm._s(_vm.currency))])]:[_vm._v(\" \"+_vm._s(_vm.$t('Prozentual'))+\" \")]]},proxy:true}],null,false,1975148107)})],1),_c('div',{staticClass:\"w-12 flex justify-end\"},[(_vm.project.notifyOnBudgetOverrun)?_c('st-explanation',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('i',{staticClass:\"far fa-envelope\"})]},proxy:true}],null,false,2065516605)},[_vm._v(\" \"+_vm._s(_vm.$t('Administratoren werden bei erreichen des eingestellten kritischen Budgetwerts per E-Mail informiert.'))+\" \")]):_vm._e()],1)]:_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ProjectBudgetViewModel, ProjectViewModel } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport StProgress from \"@/components/basic/StProgress.vue\";\r\n\r\n@Component({\r\n components: {\r\n StProgress\r\n },\r\n})\r\nexport default class ProjectBudget extends Vue {\r\n @Prop() project!: ProjectViewModel;\r\n @Prop() budgetLoading!: boolean;\r\n @Prop() canViewBudget!: boolean;\r\n @Prop() hasBudget!: boolean;\r\n @Prop() budget!: ProjectBudgetViewModel;\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n get canViewRates(): boolean {\r\n return UserStore.userSettings.CanViewRates;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudget.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudget.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectBudget.vue?vue&type=template&id=1badbca0&\"\nimport script from \"./ProjectBudget.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectBudget.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Emit, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ProjectBudgetViewModel, ProjectViewModel } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport StProgress from \"@/components/basic/StProgress.vue\";\r\nimport ProjectBudget from \"@/views/Projects/ProjectBudget.vue\";\r\nimport { formatDate } from \"@/utlitities/helper\";\r\nimport StBadge from '@/components/basic/StBadge.vue';\r\n\r\n@Component({\r\n methods: { formatDate },\r\n components: {\r\n StBadge,\r\n StProgress,\r\n ProjectBudget\r\n }\r\n})\r\nexport default class ProjectSingle extends Vue {\r\n\r\n @Prop() project!: ProjectViewModel;\r\n @Prop() budgetLoading!: boolean;\r\n @Prop() canViewBudget!: boolean;\r\n @Prop() hasBudget!: boolean;\r\n @Prop() budget!: ProjectBudgetViewModel;\r\n @Prop() showProjectTasks!: boolean;\r\n @Prop() archiveLoading!: boolean;\r\n @Prop() finishLoading!: boolean;\r\n @Prop() delLoading!: boolean;\r\n @Prop() isDummyCustomerProject!: boolean;\r\n\r\n get canViewRates() {\r\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\r\n }\r\n\r\n get canViewProjectReport() {\r\n return UserStore.userSettings.CanViewTimeEntriesForEmployees;\r\n }\r\n\r\n get canEditCustomersAndProjects() {\r\n return UserStore.userSettings.CanEditCustomersAndProjects;\r\n }\r\n\r\n get useCustomerProjectId() {\r\n return UserStore.userSettings.featureFlagCustomerProjectId;\r\n }\r\n\r\n editProject(item: ProjectViewModel) {\r\n if (this.canEditCustomersAndProjects) {\r\n let params: any = { customerid: item.customerId!.toString(), projectid: item.id!.toString() };\r\n let name = 'EditProject';\r\n\r\n if(item.isReadonly){\r\n params.readonly = true;\r\n name = 'ViewProject';\r\n }\r\n\r\n this.$router.push({\r\n name: name,\r\n params: params\r\n });\r\n }\r\n }\r\n\r\n projectReport(item: ProjectViewModel) {\r\n this.$router.push({\r\n name: \"ProjectReport\",\r\n params: { customerid: item.customerId!.toString(), projectid: item.id!.toString() }\r\n });\r\n }\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n @Emit(\"toggleFinish\")\r\n toggleFinish(id: number) {\r\n return id;\r\n }\r\n\r\n @Emit(\"toggleArchive\")\r\n toggleArchive(id: number) {\r\n return id;\r\n }\r\n\r\n @Emit(\"projectDelete\")\r\n projectDelete(id: number) {\r\n return id;\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSingle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSingle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectSingle.vue?vue&type=template&id=24ddffef&\"\nimport script from \"./ProjectSingle.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectSingle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export class DebouncedText{\r\n text: string = '';\r\n timeout: any = null;\r\n hasBeenSetRecently: boolean = false;\r\n\r\n get val(){\r\n return this.text;\r\n }\r\n\r\n set val(val: string){\r\n if(this.timeout){\r\n clearTimeout(this.timeout);\r\n }\r\n\r\n this.timeout = setTimeout(()=>{\r\n this.hasBeenSetRecently = true;\r\n\r\n setTimeout(() => {\r\n this.hasBeenSetRecently = false;\r\n }, 1000)\r\n\r\n this.text = val;\r\n },500);\r\n }\r\n}\r\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\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\n\n\n\n\n\r\nimport { Vue } from \"vue-property-decorator\";\r\nimport Component from \"vue-class-component\";\r\nimport {\r\n CustomerArchiveToggleCommand,\r\n CustomerFilter,\r\n CustomerViewModel,\r\n ProjectArchiveToggleCommand,\r\n ProjectBudgetViewModel,\r\n ProjectFilter,\r\n ProjectFinishToggleCommand,\r\n ProjectViewModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stCustomerApi, stProjectApi } from \"@/services/st-api\";\r\nimport StToggle from \"@/components/basic/StToggle.vue\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport StSearch from \"@/components/basic/StSearch.vue\";\r\nimport StProgress from \"@/components/basic/StProgress.vue\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\nimport StBadge from \"@/components/basic/StBadge.vue\";\r\nimport { DialogResponse } from \"vue-tailwind/dist/components/TDialog\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport ProjectSingle from \"@/views/Projects/ProjectSingle.vue\";\r\nimport ProjectBudget from \"@/views/Projects/ProjectBudget.vue\";\r\nimport { formatDate } from \"@/utlitities/helper\";\r\nimport {DebouncedText} from '@/utlitities/debounced-text';\r\n\r\nComponent.registerHooks([\"beforeRouteUpdate\"]);\r\n\r\n@Component({\r\n methods: { formatDate },\r\n components: {\r\n StBadge,\r\n StProgress,\r\n StSearch,\r\n StInput2,\r\n StToggle,\r\n ProjectSingle,\r\n ProjectBudget\r\n }\r\n})\r\nexport default class Projects extends Vue {\r\n customers: CustomerViewModel[] = [];\r\n projectBudgets: ProjectBudgetViewModel[] = [];\r\n search: DebouncedText = new DebouncedText();\r\n private budgetLoading: boolean = true;\r\n private showArchived: boolean = false;\r\n searchMode: \"customer\" | \"project\" = \"project\";\r\n searchModeOptions = [\r\n { text: \"Projekte\", value: \"project\", icon: \"far fa-file-alt\" },\r\n { text: \"Kunden\", value: \"customer\", icon: \"far fa-address-card\" }\r\n ];\r\n showProjectTasks: boolean = false;\r\n\r\n delCustomerLoading: boolean = false;\r\n delProjectLoading: boolean = false;\r\n archiveCustomerLoadingId = 0;\r\n archiveProjectLoadingId = 0;\r\n finishProjectLoadingId = 0;\r\n\r\n loading = true;\r\n delayLoading = false;\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n\r\n await this.loadBudget();\r\n }\r\n\r\n get searchTextHasBeenSetRecently() {\r\n return this.search.hasBeenSetRecently;\r\n }\r\n\r\n async beforeRouteUpdate(to: any, from: any, next: any) {\r\n next();\r\n if (to.name == \"Projects\") {\r\n try {\r\n let projectId = (from as any).params?.projectid;\r\n if ((from as any).name == \"EditCustomer\") {\r\n let customerId = (from as any).params?.id;\r\n const customer = this.customers.find(x => x.id == customerId);\r\n if (customer?.hasNoProjects) {\r\n projectId = this.getDummyCustomerProject(customer).id;\r\n }\r\n }\r\n this.delayLoading = true;\r\n\r\n await this.loadData();\r\n\r\n if (projectId) {\r\n const projectFilter: ProjectFilter = ProjectFilter.fromJS({ id: projectId });\r\n let budgetIndex = this.projectBudgets.findIndex((x) => x.projectId == projectId);\r\n\r\n const apiBudgetModels = await stProjectApi.getProjectBudgets(projectFilter);\r\n const hasApiBudget = apiBudgetModels.length && (apiBudgetModels[0]?.budget ?? 0) > 0;\r\n\r\n if (hasApiBudget) {\r\n if (budgetIndex > -1) {\r\n this.projectBudgets[budgetIndex] = apiBudgetModels[0];\r\n } else {\r\n this.projectBudgets.push(apiBudgetModels[0]);\r\n }\r\n } else {\r\n if (budgetIndex > -1) {\r\n this.projectBudgets.splice(budgetIndex, 1);\r\n }\r\n }\r\n }\r\n } finally {\r\n this.delayLoading = false;\r\n }\r\n }\r\n }\r\n\r\n getCustomerProject(customer: CustomerViewModel) {\r\n if (!customer.hasNoProjects || !customer.projects.length) {\r\n return ProjectViewModel.fromJS({ projects: [] });\r\n }\r\n\r\n return customer.projects[0];\r\n }\r\n\r\n get canEditCustomersAndProjects() {\r\n return UserStore.userSettings.CanEditCustomersAndProjects;\r\n }\r\n\r\n async toggleShowArchived() {\r\n try {\r\n this.loading = true;\r\n this.showArchived = !this.showArchived;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n getDummyCustomerProject(customer: CustomerViewModel) {\r\n return customer.projects![0]!;\r\n }\r\n\r\n getBudgetModel(project: ProjectViewModel) {\r\n if (!project?.id) {\r\n return;\r\n }\r\n\r\n const budget = this.projectBudgets.find(x => x.projectId == project.id);\r\n\r\n if (!budget) {\r\n return;\r\n }\r\n\r\n return budget;\r\n }\r\n\r\n hasBudget(project: ProjectViewModel) {\r\n return project?.hasBudget ?? false;\r\n }\r\n\r\n get canViewRates() {\r\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\r\n }\r\n\r\n get canViewProjectReport() {\r\n return UserStore.userSettings.CanViewTimeEntriesForEmployees;\r\n }\r\n\r\n canViewBudget(project: ProjectViewModel) {\r\n const budgetModel = this.getBudgetModel(project);\r\n\r\n return !!budgetModel;\r\n }\r\n\r\n async loadData() {\r\n const filter: CustomerFilter = CustomerFilter.fromJS({\r\n isArchived: this.showArchived,\r\n showArchivedProjects: this.showArchived\r\n });\r\n this.customers = await stCustomerApi.getList(filter);\r\n }\r\n\r\n async loadBudget() {\r\n this.budgetLoading = true;\r\n const projectFilter: ProjectFilter = ProjectFilter.fromJS({ isArchived: this.showArchived });\r\n this.projectBudgets = await stProjectApi.getProjectBudgets(projectFilter);\r\n this.budgetLoading = false;\r\n }\r\n\r\n get filteredCustomers(): CustomerViewModel[] {\r\n if (!this.search.val) {\r\n return this.customers.filter(_ => !_.isBasicTimeTrackingDefaultCustomer);\r\n }\r\n\r\n if (this.searchMode == \"project\") {\r\n return this.customers.filter(_ => !_.isBasicTimeTrackingDefaultCustomer)\r\n .map((c) => {\r\n c = CustomerViewModel.fromJS({ ...c });\r\n c.projects = c.projects?.filter((p) => p.name?.toLowerCase().indexOf(this.search.val.toLowerCase()) != -1);\r\n return c;\r\n }, this)\r\n .filter((c) => c.projects?.length);\r\n } else {\r\n return this.customers.filter((_) => _.name?.toLowerCase().indexOf(this.search.val.toLowerCase()) != -1);\r\n }\r\n }\r\n\r\n customerIsReadonly(customer: CustomerViewModel) {\r\n return customer.hasNoProjects && this.getCustomerProject(customer).isReadonly;\r\n }\r\n\r\n createNewCustomer() {\r\n this.$router.push({ name: \"EditCustomer\", params: { id: \"0\" } });\r\n }\r\n\r\n editCustomer(customer: CustomerViewModel) {\r\n let params : any = { id: customer.id.toString() }\r\n let name = 'EditCustomer'\r\n\r\n if(this.customerIsReadonly(customer)){\r\n params.readonly = true;\r\n name = 'ViewCustomer';\r\n }\r\n\r\n if (this.canEditCustomersAndProjects) {\r\n this.$router.push({ name: name, params: params });\r\n }\r\n }\r\n\r\n editProject(item: ProjectViewModel) {\r\n if (this.canEditCustomersAndProjects) {\r\n this.$router.push({\r\n name: \"EditProject\",\r\n params: { customerid: item.customerId!.toString(), projectid: item.id!.toString() }\r\n });\r\n }\r\n }\r\n\r\n projectReport(item: ProjectViewModel) {\r\n this.$router.push({\r\n name: \"ProjectReport\",\r\n params: { customerid: item.customerId!.toString(), projectid: item.id!.toString() }\r\n });\r\n }\r\n\r\n newProject(customerid: number) {\r\n this.$router.push({ name: \"EditProject\", params: { customerid: customerid.toString(), projectid: \"0\" } });\r\n }\r\n\r\n async toggleProjectFinish(id: number) {\r\n try {\r\n this.finishProjectLoadingId = id;\r\n await stProjectApi.toggleFinishProject(ProjectFinishToggleCommand.fromJS({ projectId: id }));\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gespeichert\");\r\n\r\n } finally {\r\n this.finishProjectLoadingId = 0;\r\n }\r\n }\r\n\r\n async toggleProjectArchive(id: number) {\r\n try {\r\n this.archiveProjectLoadingId = id;\r\n await stProjectApi.toggleArchiveProject(ProjectArchiveToggleCommand.fromJS({ projectId: id }));\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gespeichert\");\r\n\r\n } finally {\r\n this.archiveProjectLoadingId = 0;\r\n }\r\n }\r\n\r\n async toggleCustomerArchive(id: number) {\r\n try {\r\n this.archiveCustomerLoadingId = id;\r\n await stCustomerApi.toggleArchiveCustomer(CustomerArchiveToggleCommand.fromJS({ customerId: id }));\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gespeichert\");\r\n } finally {\r\n this.archiveCustomerLoadingId = 0;\r\n }\r\n }\r\n\r\n async projectDelete(id: number) {\r\n try {\r\n this.delProjectLoading = true;\r\n const result = await stProjectApi.delete(id, false);\r\n if (result.confirmationNeeded) {\r\n const res: DialogResponse = await this.$dialog.confirm({\r\n title: this.$t(\"Bestätigung\").toString(),\r\n text: result.message,\r\n variant: \"danger\",\r\n okButtonText: this.$t(\"Löschen\").toString(),\r\n cancelButtonText: this.$t(\"Abbrechen\").toString()\r\n });\r\n if (res.isOk) {\r\n await stProjectApi.delete(id, true);\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } else {\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } finally {\r\n this.delProjectLoading = false;\r\n }\r\n }\r\n\r\n async customerDelete(id: number) {\r\n try {\r\n this.delCustomerLoading = true;\r\n const result = await stCustomerApi.delete(id, false);\r\n if (result.confirmationNeeded) {\r\n const res: DialogResponse = await this.$dialog.confirm({\r\n title: this.$t(\"Bestätigung\").toString(),\r\n text: result.message,\r\n variant: \"danger\",\r\n okButtonText: this.$t(\"Löschen\").toString(),\r\n cancelButtonText: this.$t(\"Abbrechen\").toString()\r\n });\r\n if (res.isOk) {\r\n await stCustomerApi.delete(id, true);\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } else {\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } finally {\r\n this.delCustomerLoading = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Projects.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Projects.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Projects.vue?vue&type=template&id=121d38b5&\"\nimport script from \"./Projects.vue?vue&type=script&lang=ts&\"\nexport * from \"./Projects.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Projects.vue?vue&type=style&index=0&id=121d38b5&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-observer',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"mt-8 text-xl font-bold\"},[_vm._v(_vm._s(_vm.$t('Anmelden')))]),_c('form',{staticClass:\"max-w-2xl\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.submit)}}},[_c('st-input2',{staticClass:\"mt-8\",attrs:{\"name\":\"Email\",\"label\":\"E-Mail\",\"type\":\"email\",\"rules\":\"required|email\"},model:{value:(_vm.loginModel.email),callback:function ($$v) {_vm.$set(_vm.loginModel, \"email\", $$v)},expression:\"loginModel.email\"}}),_c('div',{staticClass:\"mt-8 relative\"},[_c('st-input2',{attrs:{\"name\":\"Passwort\",\"label\":\"Passwort\",\"type\":_vm.passwordType,\"rules\":\"required\"},model:{value:(_vm.loginModel.password),callback:function ($$v) {_vm.$set(_vm.loginModel, \"password\", $$v)},expression:\"loginModel.password\"}}),_c('a',{staticClass:\"toggle-password cursor-pointer\",on:{\"click\":_vm.togglePasswordType}},[_c('i',{class:{ fas: true, 'fa-eye': !_vm.passwordShown, 'fa-eye-slash': _vm.passwordShown }})])],1),_c('div',[_vm._v(\" \"+_vm._s(_vm.st2Link)+\" \")]),_c('div',{staticClass:\"text-right mt-8\"},[_c('router-link',{staticClass:\"text-green-500 hover:underline\",attrs:{\"to\":\"/forgotpassword\"}},[_vm._v(_vm._s(_vm.$t('Passwort vergessen')))])],1),_c('st-button',{staticClass:\"green w-full rounded mt-8 text-center\",attrs:{\"type\":\"submit\",\"disabled\":invalid,\"loading\":_vm.loading}},[_c('i',{staticClass:\"far fa-key\"}),_vm._v(\" \"+_vm._s(_vm.$t('Anmelden'))+\" \")])],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Action, getModule, Module, Mutation, MutationAction, VuexModule } from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport { TimeEntryTypeViewModel } from '@/services/api/nswag/stapiclient_generated';\r\nimport { stLookupApi } from '@/services/st-api';\r\n\r\n@Module({ dynamic: true, store, name: 'LookupModule', namespaced: true })\r\nexport default class LookupModule extends VuexModule {\r\n public timeEntryTypes: TimeEntryTypeViewModel[] = [];\r\n public isLoaded = false;\r\n\r\n @Mutation\r\n setTimeEntryTypes(types: TimeEntryTypeViewModel[]) {\r\n this.timeEntryTypes = types;\r\n }\r\n\r\n @Mutation\r\n reset() {\r\n this.isLoaded = false;\r\n }\r\n\r\n @Mutation\r\n setIsLoaded(data: boolean) {\r\n this.isLoaded = data;\r\n }\r\n\r\n @Action\r\n async initializeStore() {\r\n try {\r\n this.setTimeEntryTypes(await stLookupApi.getTimeEntryTypes());\r\n this.setIsLoaded(true);\r\n } catch {\r\n this.setIsLoaded(false);\r\n }\r\n }\r\n}\r\n\r\nexport const LookupStore = getModule(LookupModule);\r\n","import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport { StopwatchViewModel } from '@/services/api/nswag/stapiclient_generated';\r\nimport { stStopwatchApi } from '@/services/st-api';\r\nimport { DateTime } from 'luxon';\r\nimport { notifyError } from '@/utlitities/notifications';\r\n\r\n@Module({ dynamic: true, store, name: 'StopwatchModule', namespaced: true })\r\nexport default class StopwatchModule extends VuexModule {\r\n public StopwatchModel: StopwatchViewModel = new StopwatchViewModel();\r\n public IsValid: boolean = false;\r\n public Timer: any;\r\n\r\n public isLoaded = false;\r\n public now: DateTime = DateTime.utc();\r\n serverDiffSeconds: number = 0;\r\n\r\n get IsRunning() {\r\n return !!this.StopwatchModel?.id;\r\n }\r\n\r\n get RunningSeconds() {\r\n let start = DateTime.fromISO(this.StopwatchModel.stopwatchStartDateTimeUtc as string, { zone: 'utc' });\r\n let diff = this.now.diff(start, 'seconds');\r\n if (diff.seconds <= 0) {\r\n return 0;\r\n }\r\n\r\n return Math.floor(diff.seconds);\r\n }\r\n\r\n @Mutation\r\n setIsLoaded(data: boolean) {\r\n this.isLoaded = data;\r\n }\r\n\r\n @Mutation\r\n setIsValid(data: boolean) {\r\n this.IsValid = data;\r\n }\r\n\r\n @Mutation\r\n public setStopwatchModel(data: StopwatchViewModel) {\r\n this.StopwatchModel = data;\r\n\r\n if (this.Timer) {\r\n clearInterval(this.Timer);\r\n }\r\n\r\n if (!!data?.id) {\r\n this.now = DateTime.utc().plus({ seconds: this.serverDiffSeconds });\r\n this.Timer = setInterval(() => {\r\n this.now = DateTime.utc().plus({ seconds: this.serverDiffSeconds });\r\n }, 1000);\r\n }\r\n }\r\n\r\n @Mutation\r\n public reset() {\r\n this.StopwatchModel = new StopwatchViewModel();\r\n this.IsValid = false;\r\n this.isLoaded = false;\r\n }\r\n\r\n @Mutation setServerDiff(seconds: number) {\r\n this.serverDiffSeconds = seconds;\r\n }\r\n\r\n @Action\r\n async loadServerDiff() {\r\n this.setServerDiff(await stStopwatchApi.getServerDiff(DateTime.utc().toISO()));\r\n }\r\n\r\n @Action\r\n public async loadStopwatch() {\r\n await this.loadServerDiff();\r\n let stopwatch = await stStopwatchApi.getRunning();\r\n\r\n if (stopwatch) {\r\n this.setStopwatchModel(stopwatch);\r\n } else {\r\n this.setStopwatchModel(new StopwatchViewModel());\r\n }\r\n }\r\n\r\n @Action\r\n public async startStopwatchForProject(projectId: number) {\r\n await this.loadServerDiff();\r\n\r\n if (await stStopwatchApi.getRunning()) {\r\n notifyError('Es läuft bereits eine Stoppuhr');\r\n await this.loadStopwatch();\r\n } else {\r\n await stStopwatchApi.startForProject(projectId);\r\n this.setStopwatchModel(await stStopwatchApi.getRunning());\r\n }\r\n }\r\n\r\n @Action\r\n public async resumeStopwatch(timeEntryId: number) {\r\n await this.loadServerDiff();\r\n\r\n await stStopwatchApi.resume(timeEntryId);\r\n this.setStopwatchModel(await stStopwatchApi.getRunning());\r\n }\r\n\r\n @Action\r\n async stopStopwatch() {\r\n if (!(await stStopwatchApi.getRunning())) {\r\n notifyError('Es läuft keine Stoppuhr');\r\n await this.loadStopwatch();\r\n } else {\r\n await stStopwatchApi.stop();\r\n this.setStopwatchModel(new StopwatchViewModel());\r\n }\r\n }\r\n\r\n @Action\r\n async deleteStopwatch() {\r\n if (!(await stStopwatchApi.getRunning())) {\r\n notifyError('Es läuft keine Stoppuhr');\r\n await this.loadStopwatch();\r\n } else {\r\n await stStopwatchApi.delete();\r\n this.setStopwatchModel(new StopwatchViewModel());\r\n }\r\n }\r\n\r\n @Action\r\n public async initializeStore() {\r\n try {\r\n await this.loadServerDiff();\r\n let stopwatch = await stStopwatchApi.getRunning();\r\n\r\n if (stopwatch) {\r\n this.setStopwatchModel(stopwatch);\r\n }\r\n\r\n this.setIsLoaded(true);\r\n } catch {\r\n this.setIsLoaded(false);\r\n }\r\n }\r\n}\r\n\r\nexport const StopwatchStore = getModule(StopwatchModule);\r\n","import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport { stAccountApi } from '@/services/st-api';\r\nimport { PaymentStatusViewModel} from '@/services/api/nswag/stapiclient_generated';\r\nimport {getLogo} from '@/utlitities/helper';\r\n\r\n@Module({ dynamic: true, store, name: 'AccountModule', namespaced: true })\r\nexport default class AccountModule extends VuexModule {\r\n public logo: string = '';\r\n public base64Logo: string = '';\r\n public isLoaded: boolean = false;\r\n public paymentStatus: PaymentStatusViewModel = PaymentStatusViewModel.fromJS({});\r\n\r\n @Mutation\r\n setLogo(data: string) {\r\n this.logo = data;\r\n }\r\n\r\n @Mutation\r\n setIsLoaded(data: boolean) {\r\n this.isLoaded = data;\r\n }\r\n\r\n @Mutation\r\n setBase64Logo(data: string) {\r\n this.base64Logo = data;\r\n }\r\n\r\n @Mutation\r\n public reset() {\r\n this.logo = '';\r\n this.isLoaded = false;\r\n }\r\n\r\n @Action\r\n async reloadStore() {\r\n await this.loadLogo();\r\n this.setIsLoaded(true);\r\n }\r\n\r\n @Action\r\n async loadLogo() {\r\n let logoRes = await getLogo(await stAccountApi.getLogo());\r\n\r\n this.setLogo(logoRes.logo);\r\n this.setBase64Logo(logoRes.logoBase64);\r\n }\r\n}\r\n\r\nexport const AccountStore = getModule(AccountModule);\r\n","import {Action, getModule, Module, Mutation, VuexModule} from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport {stAbsenceApi} from '@/services/st-api';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Module({ dynamic: true, store, name: 'AbsenceModule', namespaced: true })\r\nexport default class AbsenceModule extends VuexModule {\r\n public openAbsenceRequestCount: number = 0;\r\n\r\n @Mutation\r\n setOpenAbsenceRequestCount(data: number) {\r\n this.openAbsenceRequestCount = data;\r\n }\r\n\r\n @Action\r\n async getOpenAbsenceRequestCount() {\r\n if (UserStore.userSettings.CanApproveAbsences) {\r\n let result = await stAbsenceApi.getOpenAbsenceRequestCount();\r\n this.setOpenAbsenceRequestCount(result);\r\n }\r\n }\r\n}\r\n\r\nexport const AbsenceStore = getModule(AbsenceModule);\r\n","import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport { UserStore } from '@/store/user-module';\r\nimport { stTimeEntryDayApprovalApi } from '@/services/st-api';\r\nimport { TeamOverviewApprovalModel } from '@/services/api/nswag/stapiclient_generated';\r\nimport { DateTime } from 'luxon';\r\n\r\n@Module({ dynamic: true, store, name: 'ApprovalModule', namespaced: true })\r\nexport default class ApprovalModule extends VuexModule {\r\n public openApprovalRequestCount: number = 0;\r\n model: TeamOverviewApprovalModel = TeamOverviewApprovalModel.fromJS({});\r\n date: DateTime = UserStore.userNowDateTime;\r\n\r\n @Mutation\r\n setModel(data: TeamOverviewApprovalModel) {\r\n this.model = data;\r\n }\r\n\r\n @Mutation\r\n setDate(data: DateTime) {\r\n this.date = data;\r\n }\r\n\r\n @Mutation\r\n setOpenApprovalRequestCount(data: number) {\r\n this.openApprovalRequestCount = data;\r\n }\r\n\r\n @Action\r\n async getModel() {\r\n this.setModel(await stTimeEntryDayApprovalApi.getTeamOverviewApprovalModel(this.date.toFormat('yyyy-MM-dd')));\r\n }\r\n\r\n @Action\r\n async getOpenApprovalRequestCount() {\r\n if (UserStore.userSettings.featureFlagTimeApproval && UserStore.userSettings.CanApproveTimeEntryDays) {\r\n let result = await stTimeEntryDayApprovalApi.getNoOfOpenApprovals();\r\n this.setOpenApprovalRequestCount(result);\r\n }\r\n }\r\n}\r\n\r\nexport const ApprovalStore = getModule(ApprovalModule);\r\n","import { UserStore } from '@/store/user-module';\r\nimport { LookupStore } from '@/store/lookup-store';\r\nimport { StopwatchStore } from '@/store/stopwatch-store';\r\nimport { AccountStore } from '@/store/account-module';\r\nimport { AbsenceStore } from '@/store/absence-store';\r\nimport { ApprovalStore } from '@/store/approval-store';\r\n\r\nexport async function reloadGlobalData() {\r\n if (!UserStore.dataLoaded) {\r\n //TODO: sicherstellen, dass geänderte Einstellungen neu geladen werden.\r\n await UserStore.ensureUserData();\r\n }\r\n\r\n if (UserStore.isLoggedIn && !AccountStore.isLoaded) {\r\n // console.log('load acc')\r\n await AccountStore.reloadStore();\r\n }\r\n\r\n if (UserStore.isLoggedIn && !LookupStore.isLoaded) {\r\n // console.log('load lookup')\r\n await LookupStore.initializeStore();\r\n }\r\n\r\n if (UserStore.isLoggedIn && !StopwatchStore.isLoaded) {\r\n // console.log('load stopwatch')\r\n await StopwatchStore.initializeStore();\r\n }\r\n\r\n await AbsenceStore.getOpenAbsenceRequestCount();\r\n await ApprovalStore.getOpenApprovalRequestCount();\r\n}\r\n\r\nexport function resetGlobalData() {\r\n UserStore.resetStore();\r\n LookupStore.reset();\r\n StopwatchStore.reset();\r\n AccountStore.reset();\r\n}\r\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { AppUserLoginModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAuthenticationApi } from '@/services/st-api';\nimport { resetGlobalData } from '@/store/global-data-helper';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport axios from 'axios';\nimport {notifyError} from '@/utlitities/notifications';\n\n@Component({\n components: {\n StInput2,\n },\n})\nexport default class Login extends Vue {\n private loginModel: AppUserLoginModel = AppUserLoginModel.fromJS({});\n private loading: boolean = false;\n passwordShown = false;\n st2Link = '';\n fromHp: boolean = false;\n\n created() {\n this.fromHp = !!this.$route.params.fromhp;\n }\n\n get passwordType() {\n return this.passwordShown ? 'text' : 'password';\n }\n\n mounted() {\n stAuthenticationApi.logout();\n resetGlobalData();\n }\n\n togglePasswordType() {\n this.passwordShown = !this.passwordShown;\n }\n\n async submit() {\n this.loading = true;\n try {\n if (this.fromHp) {\n let preLoginCheck = await stAuthenticationApi.prelogin(this.loginModel.email as string);\n\n if (preLoginCheck.st2AccountName) {\n let loginInfo: any = {};\n loginInfo.AccountName = preLoginCheck.st2AccountName;\n loginInfo.Username = this.loginModel.email;\n loginInfo.Password = this.loginModel.password;\n loginInfo.Issue = true;\n\n const uninterceptedAxiosInstance = axios.create();\n\n try {\n let result = await uninterceptedAxiosInstance.post('https://www.spiketime.de/api/login', loginInfo, {withCredentials: false});\n //Vue.$plausible.trackEvent('loginSpikeTimeV2');\n window.location.href = `https://${preLoginCheck.st2AccountName}.spiketime.de/app/Account/SpecialLogin?c=${result.data.ch}`;\n } catch(err)\n {\n notifyError(\"Unbekannter Benutzer oder falsches Passwort\");\n }\n } else {\n await stAuthenticationApi.login(this.loginModel);\n //Vue.$plausible.trackEvent('login');\n await this.$router.push('/');\n }\n } else {\n await stAuthenticationApi.login(this.loginModel);\n //Vue.$plausible.trackEvent('login');\n await this.$router.push('/');\n }\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=7925eeaf&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=7925eeaf&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.requestSent)?_c('vv-observer',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"mt-8 text-xl font-bold\"},[_vm._v(_vm._s(_vm.$t('Passwort vergessen')))]),_c('form',{staticClass:\"max-w-2xl\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.submit)}}},[_c('st-input2',{staticClass:\"mt-8\",attrs:{\"name\":\"Email\",\"label\":\"E-Mail\",\"type\":\"email\",\"rules\":\"required|email\"},model:{value:(_vm.forgotPasswordModel.email),callback:function ($$v) {_vm.$set(_vm.forgotPasswordModel, \"email\", $$v)},expression:\"forgotPasswordModel.email\"}}),_c('div',{staticClass:\"text-right mt-8\"},[_c('router-link',{staticClass:\"text-green-500 hover:underline\",attrs:{\"to\":\"/login\"}},[_vm._v(_vm._s(_vm.$t('Zurück zum Login')))])],1),_c('st-button',{staticClass:\"green w-full rounded mt-8 text-center\",attrs:{\"type\":\"submit\",\"disabled\":invalid,\"loading\":_vm.loading}},[_vm._v(_vm._s(_vm.$t('Passwort zurücksetzen')))])],1)]}}],null,false,42938601)}):_c('div',[_c('div',{staticClass:\"mt-8 text-xl font-bold\"},[_vm._v(_vm._s(_vm.$t('E-Mail gesendet')))]),_c('span',[_vm._v(_vm._s(_vm.$t('Ein Link zum Zurücksetzen des Passworts wurde versendet, sofern die E-Mail bei uns registriert ist.')))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { stAuthenticationApi } from '@/services/st-api';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport { ForgotPasswordModel } from '@/services/api/nswag/stapiclient_generated';\n\n@Component({\n components: {\n StInput2,\n },\n})\nexport default class ForgotPassword extends Vue {\n requestSent = false;\n forgotPasswordModel: ForgotPasswordModel = new ForgotPasswordModel();\n loading: boolean = false;\n\n async submit() {\n this.loading = true;\n try {\n await stAuthenticationApi.forgotPassword(this.forgotPasswordModel);\n this.requestSent = true;\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPassword.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPassword.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ForgotPassword.vue?vue&type=template&id=7d18444c&\"\nimport script from \"./ForgotPassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./ForgotPassword.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Leistungen'))+\" \"),(_vm.showArchived)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('Archiv'))+\")\")]):_vm._e()]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Anlage und Bearbeitung von Leistungen')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-lightbulb\"},on:{\"click\":function($event){return _vm.editProjectTask(0)}}},[_vm._v(_vm._s(_vm.$t('Neue Leistung')))])],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/2 lg:w-1/3\"},[_c('st-search',{attrs:{\"type\":\"text\",\"placeholder\":\"Suche...\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('st-toggle',{model:{value:(_vm.showArchived),callback:function ($$v) {_vm.showArchived=$$v},expression:\"showArchived\"}},[_c('div',{staticClass:\"text-onbgsecondary-normal\"},[_vm._v(_vm._s(_vm.$t('Archiv anzeigen')))])])],1),_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{attrs:{\"name\":\"fade\"}},[_c('div',[_c('div',{attrs:{\"name\":\"boing\"}},[(!_vm.filteredProjectTasks.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-lightbulb\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Leistungen gefunden')))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Bitte die Suche anpassen, oder eine neue Leistung anlegen')))])]):_vm._e()]),_c('div',{staticClass:\"relative\",attrs:{\"name\":\"list\",\"tag\":\"span\"}},_vm._l((_vm.filteredProjectTasks),function(projectTask){return _c('div',{key:projectTask.id,staticClass:\"st-list-item relative\",on:{\"click\":function($event){return _vm.editProjectTask(projectTask.id)}}},[_c('div',{staticClass:\"st-list-item-content\"},[_c('div',{staticClass:\"col-span-6 sm:col-span-8 flex items-center\"},[_c('i',{staticClass:\"far fa-lightbulb fa-lg fa-fw\"}),_c('span',{staticClass:\"st-list-item-header\"},[_vm._v(\" \"+_vm._s(projectTask.name)+\" \")])]),_c('div',{staticClass:\"hidden sm:flex col-span-2 flex items-center justify-self-end\"},[(_vm.canViewRates && projectTask.amountModel.overrideAmount)?_c('div',{staticClass:\"flex\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(projectTask.amountModel.amount))+\" / h \")]),_c('st-explanation',{staticClass:\"ml-4\"},[_vm._v(\" Stundensätze, die bei den Leistungen definiert sind haben \"),_c('br'),_vm._v(\" immer Vorrang vor Kunden- oder Projektstundensätzen. \"),_c('br'),_c('br'),_vm._v(\" Wird diese Leistung ausgewählt, dann gilt dieser \"),_c('br'),_vm._v(\" Stundensatz - unabhängig davon, ob für den Kunden \"),_c('br'),_vm._v(\" oder das Projekt ein anderer Stundensatz definiert wurde. \")])],1):_vm._e()]),_c('div',{staticClass:\"col-span-6 sm:col-span-2 flex justify-end items-center\"},[_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editProjectTask(projectTask.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),(!projectTask.isArchived)?_c('st-button-round',{attrs:{\"loading\":_vm.archivedLoadingId === projectTask.id,\"tooltipText\":_vm.$t('Archivieren')},on:{\"click\":function($event){return _vm.toggleArchive(projectTask.id)}}},[_c('i',{staticClass:\"far fa-inbox-in\"})]):_vm._e(),(projectTask.isArchived)?_c('st-button-round',{attrs:{\"loading\":_vm.archivedLoadingId === projectTask.id,\"tooltipText\":_vm.$t('Aktivieren')},on:{\"click\":function($event){return _vm.toggleArchive(projectTask.id)}}},[_c('i',{staticClass:\"far fa-inbox-out\"})]):_vm._e(),_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.projectTaskDelete(projectTask.id)}}})],1)])])}),0)])])],1)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { ProjectTaskFilter, ProjectTaskViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stProjectTaskApi } from '@/services/st-api';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StSearch from '@/components/basic/StSearch.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport { orderBy } from 'lodash';\nimport { DialogResponse } from 'vue-tailwind/dist/components/TDialog';\nimport {UserStore} from '@/store/user-module';\n\nComponent.registerHooks(['beforeRouteUpdate']);\n\n@Component({\n components: {\n StBadge,\n StToggle,\n StSearch,\n StInput2,\n },\n})\nexport default class ProjectTasks extends Vue {\n items: ProjectTaskViewModel[] = [];\n search: string = '';\n\n delLoading: boolean = false;\n archivedLoadingId = 0;\n showArchived: boolean = false;\n\n loading = false;\n delayLoading = false;\n\n async mounted() {\n try {\n this.loading = true;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n next();\n if (to.name == 'ProjectTasks') {\n try {\n this.delayLoading = true;\n await this.loadData();\n } finally {\n this.delayLoading = false;\n }\n }\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n @Watch('showArchived')\n async changeShowArchived() {\n this.loading = true;\n await this.loadData();\n this.loading = false;\n }\n\n async toggleArchive(id: number) {\n try {\n this.archivedLoadingId = id;\n const item = await stProjectTaskApi.get(id);\n item.isArchived = !item.isArchived;\n await stProjectTaskApi.put(id, item);\n await this.loadData();\n\n if (item.isArchived) {\n notifySuccess('Erfolgreich archiviert');\n } else {\n notifySuccess('Erfolgreich aktiviert');\n }\n } finally {\n this.archivedLoadingId = 0;\n }\n }\n\n get filteredProjectTasks() {\n return orderBy(\n this.items.filter((_) => _.name?.toLowerCase().indexOf(this.search.toLowerCase()) != -1),\n 'name'\n );\n }\n\n editProjectTask(id: number) {\n this.$router.push({ name: 'ProjectTaskEdit', params: { id: id.toString() } });\n }\n\n async loadData() {\n const filter: ProjectTaskFilter = ProjectTaskFilter.fromJS({ isArchived: this.showArchived });\n this.items = await stProjectTaskApi.getList(filter);\n this.loading = false;\n }\n\n async projectTaskDelete(id: number) {\n try {\n this.delLoading = true;\n const result = await stProjectTaskApi.delete(id, false, false);\n if (result.confirmationNeeded) {\n const res: DialogResponse = await this.$dialog.confirm({\n title: this.$t('Bestätigung').toString(),\n text: result.message,\n variant: 'danger',\n okButtonText: this.$t('Löschen').toString(),\n cancelButtonText: this.$t('Abbrechen').toString()\n });\n if (res.isOk) {\n await stProjectTaskApi.delete(id, true, false);\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } else {\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } finally {\n this.delLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasks.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTasks.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectTasks.vue?vue&type=template&id=10668276&\"\nimport script from \"./ProjectTasks.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectTasks.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"rate-rules\"},[_c('div',{staticClass:\"st-page-header\"},[_c('h1',[_vm._v(\"Stundensätze\")]),(_vm.useRateRules)?_c('st-button',{staticClass:\"green\",attrs:{\"icon\":\"far fa-money-bill-alt\"},on:{\"click\":function($event){return _vm.getNewRule(_vm.globalRule)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Neue Stundensatzregel'))+\" \")]):_vm._e()],1),_c('st-list-item',{attrs:{\"editMode\":_vm.globalRule.editMode},scopedSlots:_vm._u([{key:\"edit\",fn:function(){return [(_vm.globalRule.editMode)?_c('st-edit-form',{attrs:{\"submitFunc\":_vm.submit},on:{\"editEnd\":function($event){_vm.globalRule.editMode = false}}},[_c('st-form-item-wrap',{attrs:{\"label\":\"Globaler Stundensatz\"}},[_c('st-input',{attrs:{\"inputClass\":\"xxl:w-1/4 lg:w-1/2\",\"rules\":\"required\",\"name\":\"Globaler Stundensatz\",\"type\":\"currency\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.currency)+\" \")]},proxy:true}],null,false,4065231833),model:{value:(_vm.globalRule.editModel.amount),callback:function ($$v) {_vm.$set(_vm.globalRule.editModel, \"amount\", $$v)},expression:\"globalRule.editModel.amount\"}})],1)],1):_vm._e()]},proxy:true}])},[_c('st-list-item-wrap',{attrs:{\"type\":\"rate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"flex items-center justify-between\"},[_c('div',{staticClass:\"flex-grow\"},[_c('i',{staticClass:\"far fa-money-bill-alt mr-6\"}),_vm._v(_vm._s(_vm.$t('Globaler Stundensatz'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.globalRule.amount)+\" \"+_vm._s(_vm.currency)+\" \")])])]},proxy:true},{key:\"buttons\",fn:function(){return [(!_vm.globalRule.editMode)?_c('st-button',{staticClass:\"small white\",attrs:{\"icon\":\"far fa-pencil\"},on:{\"click\":function($event){return _vm.loadEditModel(_vm.globalRule)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Bearbeiten'))+\" \")]):_vm._e()]},proxy:true}])})],1),_c('st-list-wrap',{staticClass:\"mt-4\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"flex justify-between\"},[_c('span',[_vm._v(_vm._s(_vm.$t('Stundensatzregeln')))])])]},proxy:true}])},[(!_vm.useRateRules)?_c('rate-rule-item',{attrs:{\"parentRateRule\":_vm.globalRule},on:{\"reload\":_vm.loadData},scopedSlots:_vm._u([(_vm.newRule.editMode)?{key:\"newGlobalChild\",fn:function(){return [_c('st-collapse',{attrs:{\"visible\":_vm.newRule.editMode,\"noCloseAnimation\":\"\"}},[_c('st-list-item',{staticClass:\"ml-10 mt-4\",attrs:{\"editMode\":_vm.newRule.editMode},scopedSlots:_vm._u([{key:\"edit\",fn:function(){return [_c('rate-rule-edit',{attrs:{\"item\":_vm.newRule.editModel},on:{\"reload\":_vm.loadData,\"editEnd\":function($event){_vm.newRule.editMode = false}}})]},proxy:true}],null,false,1679266133)},[_vm._v(\" \"+_vm._s(_vm.$t('Neue Stundensatzregel'))+\" \")])],1)]},proxy:true}:null],null,true)}):_c('div',{staticClass:\"alert alert-blue\"},[_vm._v(\" \"+_vm._s(_vm.$t('Die Option \"Stundensatzregeln\" ist deaktiviert. Abweichende Stundensätze können auf der Seite Kunden / Projekte gepflegt werden.'))+\" \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.item)?_c('st-edit-form',{staticClass:\"rate-rule-edit\",attrs:{\"submitFunc\":_vm.submit,\"type\":\"rate\"},on:{\"editEnd\":function($event){return _vm.$emit('editEnd')},\"reload\":function($event){return _vm.$emit('reload')}},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"grid grid-cols-16 w-full h-full flex\"},[_c('div',{staticClass:\"col-span-4\"},[(_vm.filterCustomers)?_c('st-button',{staticClass:\"white w-full mb-4\",on:{\"click\":function($event){_vm.filterCustomers = false}}},[_vm._v(_vm._s(_vm.$t('Projektfilter entfernen')))]):_c('st-button',{staticClass:\"green w-full mb-4\",on:{\"click\":function($event){_vm.filterCustomers = true}}},[_vm._v(_vm._s(_vm.$t('Projekte filtern')))])],1),_c('div',{staticClass:\"col-span-1\"}),(_vm.settings.useProjectTasks)?_c('div',{staticClass:\"col-span-4\"},[(_vm.filterProjectTasks)?_c('st-button',{staticClass:\"white w-full mb-4\",on:{\"click\":function($event){_vm.filterProjectTasks = false}}},[_vm._v(_vm._s(_vm.$t('Leistungsfilter entfernen')))]):_c('st-button',{staticClass:\"green w-full mb-4\",on:{\"click\":function($event){_vm.filterProjectTasks = true}}},[_vm._v(_vm._s(_vm.$t('Leistungen filtern')))])],1):_vm._e(),_c('div',{staticClass:\"col-span-1\"}),_c('div',{staticClass:\"col-span-4\"},[(_vm.filterAppUsers)?_c('st-button',{staticClass:\"white w-full mb-4\",on:{\"click\":function($event){_vm.filterAppUsers = false}}},[_vm._v(_vm._s(_vm.$t('Mitarbeiterfilter entfernen')))]):_c('st-button',{staticClass:\"green w-full mb-4\",on:{\"click\":function($event){_vm.filterAppUsers = true}}},[_vm._v(_vm._s(_vm.$t('Mitarbeiter filtern')))])],1),_c('div',{staticClass:\"col-span-2\"}),(!_vm.settings.useProjectTasks)?_c('div',{staticClass:\"col-span-4\"}):_vm._e(),(_vm.noFilterSelected)?[_c('div',{staticClass:\"col-span-14 select-container flex items-center\"},[_c('div',{staticClass:\"alert alert-blue w-full\"},[_c('span',{staticClass:\"text-xl\"},[_vm._v(_vm._s(_vm.$t('Keine Stundensatzregel definiert')))]),_c('br'),_c('span',[_vm._v(_vm._s(_vm.$t('Bitte wählen Sie Ihre Filterkriterien aus und definieren dann welcher Stundensatz dafür gelten soll.')))])])])]:_vm._e(),(!_vm.noFilterSelected)?[_c('div',{staticClass:\"col-span-4\"},[_c('div',{staticClass:\"select-container\",class:{'flex items-center justify-around': !_vm.filterCustomers}},[(_vm.filterCustomers)?_c('div',{staticClass:\"text-sm font-bold sc-header\"},[_vm._v(_vm._s(_vm.$t('Kunden'))+\" / \"+_vm._s(_vm.$t('Projekte')))]):_vm._e(),_c('div',{class:{'active sc-body': _vm.filterCustomers}},[(_vm.filterCustomers)?_c('rate-rule-select-nested',{attrs:{\"items\":_vm.lookups.customerProjects},model:{value:(_vm.item.customerIds),callback:function ($$v) {_vm.$set(_vm.item, \"customerIds\", $$v)},expression:\"item.customerIds\"}}):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Alle Projekte'))+\" \")])],1)])]),_c('div',{staticClass:\"col-span-1\"}),(_vm.settings.useProjectTasks)?_c('div',{staticClass:\"col-span-4\"},[_c('div',{staticClass:\"select-container\",class:{'flex items-center justify-around': !_vm.filterProjectTasks}},[(_vm.filterProjectTasks)?_c('span',{staticClass:\"text-sm font-bold sc-header\"},[_vm._v(_vm._s(_vm.$t('Leistungen')))]):_vm._e(),_c('div',{class:{'active sc-body': _vm.filterProjectTasks}},[(_vm.filterProjectTasks)?_c('rate-rule-select',{attrs:{\"items\":_vm.lookups.projectTasks},model:{value:(_vm.item.projectTaskIds),callback:function ($$v) {_vm.$set(_vm.item, \"projectTaskIds\", $$v)},expression:\"item.projectTaskIds\"}}):_c('div',[(_vm.settings.useProjectTasks)?_c('span',[_vm._v(_vm._s(_vm.$t('Alle Leistungen')))]):_c('span',{staticClass:\"text-gray-500\"},[_vm._v(_vm._s(_vm.$t('Leistungen nicht verwendet')))])])],1)])]):_vm._e(),_c('div',{staticClass:\"col-span-1\"}),_c('div',{staticClass:\"col-span-4\"},[_c('div',{staticClass:\"select-container\",class:{'flex items-center justify-around': !_vm.filterAppUsers}},[(_vm.filterAppUsers)?_c('span',{staticClass:\"text-sm font-bold sc-header\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter')))]):_vm._e(),_c('div',{class:{'active sc-body': _vm.filterAppUsers}},[(_vm.filterAppUsers)?_c('rate-rule-select',{attrs:{\"items\":_vm.lookups.appUsers},model:{value:(_vm.item.appUserIds),callback:function ($$v) {_vm.$set(_vm.item, \"appUserIds\", $$v)},expression:\"item.appUserIds\"}}):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Alle Mitarbeiter'))+\" \")])],1)])]),(!_vm.settings.useProjectTasks)?_c('div',{staticClass:\"col-span-4\"}):_vm._e(),_c('div',{staticClass:\"col-span-2 pl-10\"},[_c('div',{staticClass:\"select-container flex items-center\"},[_c('st-input',{attrs:{\"type\":\"currency\",\"name\":\"Stundensatz\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.currency)+\" \")]},proxy:true}],null,false,4065231833),model:{value:(_vm.item.amount),callback:function ($$v) {_vm.$set(_vm.item, \"amount\", $$v)},expression:\"item.amount\"}})],1)])]:_vm._e()],2)]},proxy:true},{key:\"buttons\",fn:function(ref){\nvar buttonState = ref.buttonState;\nreturn [_c('div',{staticClass:\"mt-10 form-row-right\"},[(!buttonState.loading)?_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$emit('editEnd')}}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]):_vm._e(),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"disabled\":buttonState.invalid || _vm.ruleIsInvalid,\"loading\":buttonState.loading}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(_vm._s(_vm.$t('Speichern')))])],1)]}}],null,false,2166604774)}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.items),function(item){return _c('div',{staticClass:\"my-2 flex items-center\"},[_c('st-checkbox',{attrs:{\"name\":item.description,\"disabled\":item.isDisabled || (item.isArchived && !_vm.selected(item)),\"value\":_vm.selected(item)},on:{\"input\":function($event){item.isDisabled ? null : _vm.input(item)}}}),(item.isArchived)?_c('i',{staticClass:\"far fa-folder\"}):_vm._e()],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\nimport {RateRuleSelectListItem, StSelectListItem} from '@/services/api/nswag/stapiclient_generated';\n\n@Component({\n components: {\n },\n})\nexport default class RateRuleSelect extends Vue {\n @Prop()items!: RateRuleSelectListItem[];\n @Prop()value!: Array;\n\n selected(item: RateRuleSelectListItem){\n return this.value.some(x=>x == item.id)\n }\n\n @Emit('input')\n input(item: RateRuleSelectListItem){\n const selected = !this.selected(item);\n\n let result = JSON.parse(JSON.stringify(this.value));\n\n if(selected){\n result.push(item.id!);\n }else{\n result.splice(result.findIndex((x: number)=>x == item.id!),1);\n }\n\n return result;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RateRuleSelect.vue?vue&type=template&id=5b375ae2&\"\nimport script from \"./RateRuleSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./RateRuleSelect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.items),function(item){return _c('div',[_c('span',{staticClass:\"form-control st-checkbox flex items-center cursor-pointer\",on:{\"click\":function($event){return _vm.custToggleHandler.toggle(item.id)}}},[(!_vm.custToggleHandler.isOpen(item.id))?_c('i',{staticClass:\"fa fa-caret-down text-xl mr-4\"}):_c('i',{staticClass:\"fa fa-caret-up text-xl mr-4\"}),_c('span',[_vm._v(_vm._s(item.description))]),(item.isArchived)?_c('i',{staticClass:\"far fa-folder ml-2\"}):_vm._e()]),_c('st-collapse',{attrs:{\"visible\":_vm.custToggleHandler.isOpen(item.id)}},[_c('div',{staticClass:\"form-control st-checkbox flex items-center cursor-pointer ml-10 my-2\",class:{'disabled': _vm.allProjectsDisabled(item) || (item.isArchived && !_vm.allProjectsSelected(item.id))},on:{\"click\":function($event){!_vm.allProjectsDisabled(item) && (!item.isArchived || _vm.allProjectsSelected(item.id)) ? _vm.toggleSelectAllProjects(item) : null}}},[_c('div',{staticClass:\"flex items-center\"},[(_vm.allProjectsSelected(item.id))?_c('i',{staticClass:\"far fa-check-square text-xl mr-4\"}):_c('i',{staticClass:\"far fa-square text-xl mr-4\"}),_c('span',{staticClass:\"font-bold select-none\"},[_vm._v(_vm._s(_vm.$t('Alle Projekte')))])])]),(!_vm.allProjectsSelected(item.id))?_c('rate-rule-select',{staticClass:\"ml-10\",attrs:{\"items\":item.childItems,\"value\":_vm.selectedProjectIds(item.id)},on:{\"input\":function($event){return _vm.selectProject(item.id, $event)}}}):_vm._e()],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\nimport {NestedEditModel, RateRuleSelectListItem, StSelectListItem} from '@/services/api/nswag/stapiclient_generated';\nimport RateRuleSelect from '@/views/RateRules/RateRuleSelect.vue';\nimport {ToggleHandler} from '@/utlitities/helper';\n\n@Component({\n components: {\n RateRuleSelect\n },\n})\nexport default class RateRuleProjectSelect extends Vue {\n @Prop()items!: RateRuleSelectListItem[];\n @Prop()value!: Array;\n\n custToggleHandler: ToggleHandler = new ToggleHandler();\n\n filterResult(result:Array){\n return result.filter(x=> x.allSelected || x.nestedIds!.length > 0)\n }\n\n mounted(){\n this.custToggleHandler.toggleMultiple(this.value.map(x=>x.id!));\n }\n\n allProjectsDisabled(customer: RateRuleSelectListItem){\n return customer.disabledParentNotSelected\n || customer.disabledChildSelected\n || (customer.childItems && customer.childItems!.some(x=>x.disabledParentNotSelected));\n }\n\n @Emit('input')\n selectProject(customerId: number, projectIds: number[]){\n let result:Array = JSON.parse(JSON.stringify(this.value));\n\n let customer: NestedEditModel = NestedEditModel.fromJS({id: customerId, allSelected: false, nestedIds: []});\n\n if(result.some(x=>x.id == customerId)){\n customer = result.find(x=>x.id == customerId)!;\n customer.nestedIds = projectIds.map(x=> {return NestedEditModel.fromJS({id:x})});\n }else{\n customer.nestedIds = projectIds.map(x=> {return NestedEditModel.fromJS({id:x})});\n result.push(customer);\n }\n\n return this.filterResult(result);\n }\n\n selectedProjectIds(customerId: number){\n if(!this.value.find(x=>x.id == customerId)){\n return [];\n }\n\n return this.value.find(x=>x.id == customerId)!.nestedIds!.map(x=>x.id);\n }\n\n toggleSelectAllProjects(customer : RateRuleSelectListItem){\n const selected = !this.allProjectsSelected(customer.id!);\n\n let result:Array = JSON.parse(JSON.stringify(this.value));\n\n let newCustomer: NestedEditModel = NestedEditModel.fromJS({id: customer.id!, nestedIds: []});\n\n if(result.some(x=>x.id == customer.id!)){\n newCustomer = result.find(x=>x.id == customer.id!)!;\n newCustomer.allSelected = selected;\n }else{\n newCustomer.allSelected = selected;\n result.push(newCustomer);\n }\n\n return this.$emit('input', this.filterResult(result));\n }\n\n allProjectsSelected(customerId :number){\n return this.value.some(x=>x.id == customerId && x.allSelected);\n }\n}\n","import {\r\n NestedEditModel,\r\n RateRuleEditModel,\r\n RateRuleLookupModel,\r\n RateRuleSelectListItem\r\n} from '@/services/api/nswag/stapiclient_generated';\r\n\r\nfunction addRangeFromLookup(resultArray: number[] | null | undefined, lookupArray: RateRuleSelectListItem[] | null | undefined){\r\n if(!resultArray || !lookupArray){\r\n return;\r\n }\r\n\r\n resultArray.push.apply(resultArray, lookupArray\r\n .filter(x=>x.disabledChildSelected)\r\n .filter(x=>resultArray.indexOf(x.id!)<0).map(x=>x.id!));\r\n}\r\n\r\n//Child Rule filtert auf ungefiltertes Parent Element\r\n//Wenn dann Parent \"geöffnet\" wird, müssen die items gesetzt werden\r\nexport module RateRuleEditValidation{\r\n export function SetItemsParentNotSelected(item: RateRuleEditModel, lookups: RateRuleLookupModel){\r\n addRangeFromLookup(item.appUserIds, lookups.appUsers)\r\n addRangeFromLookup(item.projectTaskIds, lookups.projectTasks)\r\n\r\n if(item.customerIds && lookups.customerProjects){\r\n lookups.customerProjects.filter(x=>x.disabledChildSelected).forEach(x=>{\r\n if(item.customerIds?.some(y=>y.id == x.id)){\r\n item.customerIds.find(x=>x.id)!.allSelected = true;\r\n }else{\r\n const newItem: NestedEditModel = NestedEditModel.fromJS({id: x.id, allSelected: true, nestedIds: []});\r\n item.customerIds!.push(newItem);\r\n }\r\n });\r\n\r\n lookups.customerProjects.filter(x=>!x.disabledChildSelected).forEach(x=>{\r\n if(x.childItems?.some(z=>z.disabledChildSelected)) {\r\n let customer = item.customerIds?.find(y=>y.id == x.id);\r\n\r\n if(!customer){\r\n item.customerIds!.push(NestedEditModel.fromJS({id: x.id, allSelected: false, nestedIds: []}));\r\n customer = item.customerIds!.find(y=>y.id == x.id)!;\r\n }\r\n\r\n addRangeFromLookup(customer.nestedIds?.map(x=>x.id!) ?? [], x.childItems);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleProjectSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleProjectSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RateRuleProjectSelect.vue?vue&type=template&id=9e239ba2&\"\nimport script from \"./RateRuleProjectSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./RateRuleProjectSelect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('rate-rule-select-nested-inner',{model:{value:(_vm.selectEditModels),callback:function ($$v) {_vm.selectEditModels=$$v},expression:\"selectEditModels\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.selectEditModels),function(item){return _c('div',{staticClass:\"my-2\"},[_c('div',{staticClass:\"flex items-center\"},[(item.childItems.length)?_c('div',{staticClass:\"cursor-pointer w-8 flex items-center\",on:{\"click\":function($event){item.isOpen = !item.isOpen}}},[(!item.isOpen)?_c('i',{staticClass:\"fa fa-caret-right text-xl\"}):_c('i',{staticClass:\"fa fa-caret-down text-xl\"})]):_c('div',{staticClass:\"w-8\"}),_c('half-selected-checkbox',{attrs:{\"name\":item.description,\"half-selected\":!_vm.allChildrenSelected(item),\"disabled\":item.isDisabled || (item.isArchived && !item.selected),\"value\":item.selected},on:{\"input\":function($event){item.isDisabled ? null : _vm.parentToggle(item)}}}),(item.isArchived)?_c('i',{staticClass:\"far fa-folder\"}):_vm._e()],1),(item.isOpen)?_c('div',{staticClass:\"ml-6\"},[_c('rate-rule-select-nested-inner',{on:{\"input\":function($event){return _vm.childToggled(item)}},model:{value:(item.childItems),callback:function ($$v) {_vm.$set(item, \"childItems\", $$v)},expression:\"item.childItems\"}})],1):_vm._e()])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"form-control st-checkbox flex items-center cursor-pointer w-fit-content\",class:{'disabled': _vm.disabled},on:{\"click\":_vm.input}},[(_vm.getValue)?[(_vm.halfSelected)?_c('i',{staticClass:\"far fa-minus-square text-xl mr-4\"}):_c('i',{staticClass:\"far fa-check-square text-xl mr-4\"})]:_c('i',{staticClass:\"far fa-square text-xl mr-4\"}),_c('span',{staticClass:\"select-none\"},[_vm._v(_vm._s(_vm.$t(_vm.name)))])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class HalfSelectedCheckbox extends Vue {\r\n @Prop()name!: string;\r\n @Prop()value!: boolean;\r\n @Prop()inputClass!: string;\r\n @Prop()disabled!: boolean;\r\n @Prop()halfSelected!: boolean;\r\n\r\n get getValue(){\r\n if(!this.value)\r\n return false;\r\n\r\n return this.value;\r\n }\r\n\r\n input(){\r\n if(this.disabled){\r\n return;\r\n }\r\n const returnVal = this.value;\r\n this.$emit('input',!returnVal);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HalfSelectedCheckbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HalfSelectedCheckbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HalfSelectedCheckbox.vue?vue&type=template&id=636cb2a2&\"\nimport script from \"./HalfSelectedCheckbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./HalfSelectedCheckbox.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\r\nimport {Component, Emit, Prop, Vue, Watch} from 'vue-property-decorator';\r\nimport {NestedEditModel, RateRuleSelectListItem} from '@/services/api/nswag/stapiclient_generated';\r\nimport HalfSelectedCheckbox from '@/views/RateRules/RateRuleSelectNested/HalfSelectedCheckbox.vue';\r\n\r\ninterface RRSelectListItem extends RateRuleSelectListItem{\r\n selected: boolean;\r\n isOpen: boolean;\r\n childItems: RRSelectListItem[];\r\n}\r\n\r\n@Component({\r\n components: {\r\n RateRuleSelectNestedInner, HalfSelectedCheckbox\r\n },\r\n})\r\nexport default class RateRuleSelectNestedInner extends Vue {\r\n @Prop() value!:RRSelectListItem[];\r\n\r\n get selectEditModels(){\r\n return this.value;\r\n }\r\n\r\n allChildrenSelectedRecursive(childItems: RRSelectListItem[]): boolean{\r\n let allSelected = true;\r\n childItems.forEach(x=>{\r\n if(!x.selected || !this.allChildrenSelectedRecursive(x.childItems)){\r\n allSelected = false;\r\n }\r\n })\r\n return allSelected;\r\n }\r\n\r\n allChildrenSelected(item: RRSelectListItem){\r\n return this.allChildrenSelectedRecursive(item.childItems);\r\n }\r\n\r\n @Emit('input')\r\n childToggled(item: RRSelectListItem){\r\n item.selected = item.childItems.some(x=>x.selected);\r\n let result = JSON.parse(JSON.stringify(this.value));\r\n\r\n result[result.findIndex((x: any) => x.id == item.id)] = item;\r\n\r\n return result;\r\n }\r\n\r\n setChildItems(childItems: RRSelectListItem[], selected: boolean){\r\n childItems?.forEach((x: RRSelectListItem)=>{\r\n x.selected = selected\r\n this.setChildItems(x.childItems, selected);\r\n })\r\n }\r\n\r\n @Emit('input')\r\n parentToggle(item: RRSelectListItem){\r\n item.selected = !item.selected;\r\n this.setChildItems(item.childItems, item.selected);\r\n\r\n let result = JSON.parse(JSON.stringify(this.value));\r\n\r\n result[result.findIndex((x: any) => x.id == item.id)] = item;\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleSelectNestedInner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleSelectNestedInner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RateRuleSelectNestedInner.vue?vue&type=template&id=2e49bdc1&\"\nimport script from \"./RateRuleSelectNestedInner.vue?vue&type=script&lang=ts&\"\nexport * from \"./RateRuleSelectNestedInner.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\r\nimport {Component, Emit, Prop, Vue, Watch} from 'vue-property-decorator';\r\nimport {\r\n IRateRuleSelectListItem,\r\n NestedEditModel,\r\n RateRuleSelectListItem\r\n} from '@/services/api/nswag/stapiclient_generated';\r\nimport RateRuleSelectNestedInner from '@/views/RateRules/RateRuleSelectNested/RateRuleSelectNestedInner.vue';\r\n\r\nclass RRSelectListItem extends RateRuleSelectListItem{\r\n selected: boolean | undefined;\r\n isOpen: boolean | undefined\r\n childItems: RRSelectListItem[] | undefined;\r\n}\r\n\r\n@Component({\r\n components: {\r\n RateRuleSelectNestedInner\r\n },\r\n})\r\nexport default class RateRuleSelectNested extends Vue {\r\n @Prop()items!: RateRuleSelectListItem[];\r\n @Prop()value!: Array;\r\n\r\n selectEditModels: RRSelectListItem[] = [];\r\n\r\n mounted(){\r\n this.selectEditModels = this.getSelectEditModels(this.items, this.value);\r\n }\r\n\r\n getSelectEditModels(selectItems: RateRuleSelectListItem[], editItems: NestedEditModel[]): RRSelectListItem[]{\r\n return selectItems.map(x=>{\r\n let res: any = {\r\n ...x,\r\n childItems: this.getSelectEditModels(x.childItems ?? [], editItems.find(y=>y.id == x.id)?.nestedIds ?? []),\r\n selected: editItems.some(y=>y.id == x.id),\r\n isOpen: false,\r\n };\r\n return res;\r\n });\r\n }\r\n\r\n allChildrenSelectedRecursive(childItems: RRSelectListItem[]): boolean{\r\n let allSelected = true;\r\n childItems.forEach(x=>{\r\n if(!x.selected || !this.allChildrenSelectedRecursive(x.childItems!)){\r\n allSelected = false;\r\n }\r\n })\r\n return allSelected;\r\n }\r\n\r\n allChildrenSelected(item: RRSelectListItem){\r\n return this.allChildrenSelectedRecursive(item.childItems!);\r\n }\r\n\r\n getEditModels(selectEditModels: RRSelectListItem[]):Array{\r\n return selectEditModels.filter(x=>x.selected).map(x=>{\r\n\r\n let editModels = this.getEditModels(x.childItems!);\r\n let allSelected = this.allChildrenSelected(x);\r\n\r\n return NestedEditModel.fromJS({\r\n id: x.id,\r\n nestedIds: editModels,\r\n allSelected: allSelected\r\n })\r\n });\r\n }\r\n\r\n @Watch('selectEditModels' )\r\n selectEditModelsChanged(){\r\n this.$emit('input', this.getEditModels(this.selectEditModels));\r\n }\r\n\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleSelectNested.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleSelectNested.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RateRuleSelectNested.vue?vue&type=template&id=87520b26&\"\nimport script from \"./RateRuleSelectNested.vue?vue&type=script&lang=ts&\"\nexport * from \"./RateRuleSelectNested.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\nimport {Component, Prop, Vue, Watch} from 'vue-property-decorator';\nimport {\n RateRuleEditModel,\n RateRuleLookupModel,\n} from '@/services/api/nswag/stapiclient_generated';\nimport RateRuleSelect from '@/views/RateRules/RateRuleSelect.vue';\nimport RateRuleProjectSelect from '@/views/RateRules/RateRuleProjectSelect.vue';\nimport {RateRuleEditValidation} from '@/views/RateRules/RateRuleEditValidation';\nimport {stRateRuleApi} from '@/services/st-api';\nimport {UserStore} from '@/store/user-module';\nimport RateRuleSelectNested from '@/views/RateRules/RateRuleSelectNested/RateRuleSelectNested.vue';\n\n@Component({\n components: {\n RateRuleSelect, RateRuleProjectSelect, RateRuleSelectNested\n },\n})\nexport default class RateRuleEdit extends Vue {\n @Prop()item!:RateRuleEditModel;\n\n lookups:RateRuleLookupModel = RateRuleLookupModel.fromJS({});\n\n filterCustomers:boolean = false;\n filterProjectTasks:boolean = false;\n filterAppUsers:boolean = false;\n\n get currency(){\n return this.settings.currency;\n }\n\n get settings(){\n return UserStore.userSettings;\n }\n\n get noFilterSelected(){\n return (!this.filterCustomers && !this.filterProjectTasks && !this.filterAppUsers)\n }\n\n get ruleIsInvalid(){\n return (!this.item.customerIds?.length && !this.item.appUserIds?.length && !this.item.projectTaskIds?.length);\n }\n\n private async loadLookups(){\n this.lookups = (await stRateRuleApi.getLookpus(this.item.parentRateRuleId!, this.item.id!));\n this.setFilterBools();\n\n //Child Rule filtert auf ungefiltertes Parent Element\n //Wenn dann Parent \"geöffnet\" wird, müssen die items gesetzt werden\n RateRuleEditValidation.SetItemsParentNotSelected(this.item, this.lookups);\n }\n\n private setFilterBools(){\n this.filterCustomers = !!this.item.customerIds && this.item.customerIds.length > 0;\n this.filterProjectTasks = !!this.item.projectTaskIds && this.item.projectTaskIds.length > 0;\n this.filterAppUsers = !!this.item.appUserIds && this.item.appUserIds.length > 0;\n }\n\n @Watch('item')\n async itemChanged(){\n if(this.item){\n await this.loadLookups();\n }\n }\n\n // @Watch('item.customerIds')\n // test(){\n // console.log(this.item.customerIds)\n // }\n\n async mounted(){\n if(this.item){\n await this.loadLookups();\n }\n }\n\n async submit(){\n\n if(!this.filterCustomers){\n this.item.customerIds = [];\n }\n\n if(!this.filterAppUsers){\n this.item.appUserIds = [];\n }\n\n if(!this.filterProjectTasks){\n this.item.projectTaskIds = [];\n }\n\n this.item.customerIds?.forEach(x=>x.allSelected?x.nestedIds =[]:null);\n\n if(this.item.id == 0){\n await stRateRuleApi.post(this.item);\n }else{\n await stRateRuleApi.put(this.item.id, this.item);\n }\n\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RateRuleEdit.vue?vue&type=template&id=60889847&\"\nimport script from \"./RateRuleEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./RateRuleEdit.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RateRuleEdit.vue?vue&type=style&index=0&id=60889847&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('draggable',{attrs:{\"+\":\"\",\"disabled\":_vm.sortDisabled(_vm.rateRules),\"group\":_vm.parentRateRule.id,\"handle\":\".handle\"},model:{value:(_vm.rateRules),callback:function ($$v) {_vm.rateRules=$$v},expression:\"rateRules\"}},[_vm._l((_vm.rateRules),function(item){return _c('st-list-item',{key:item.id,class:{'ml-10 shadow-none': !_vm.parentIsGlobalRule},attrs:{\"editMode\":item.editMode},scopedSlots:_vm._u([{key:\"edit\",fn:function(){return [_c('rate-rule-edit',{attrs:{\"item\":item.editModel},on:{\"editEnd\":function($event){item.editMode = false},\"reload\":function($event){return _vm.$emit('reload')}}})]},proxy:true},{key:\"nested\",fn:function(){return [_c('rate-rule-item',{attrs:{\"parentRateRule\":item},on:{\"delete\":_vm.deleteItem,\"reload\":function($event){return _vm.$emit('reload')}}}),_c('st-collapse',{attrs:{\"visible\":item.newRateRuleEditMode,\"noCloseAnimation\":\"\"}},[_c('st-list-item',{attrs:{\"editMode\":item.newRateRuleEditMode},scopedSlots:_vm._u([{key:\"edit\",fn:function(){return [_c('rate-rule-edit',{attrs:{\"item\":item.newRateRuleEditModel},on:{\"editEnd\":function($event){item.newRateRuleEditMode = false},\"reload\":function($event){return _vm.$emit('reload')}}})]},proxy:true}],null,true)},[_vm._v(\" \"+_vm._s(_vm.$t('Neue Stundensatzregel'))+\" \")])],1)]},proxy:true}],null,true)},[_c('st-list-item-wrap',{attrs:{\"type\":\"rate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"grid grid-cols-16 w-full h-full flex items-center text-sm\"},[_c('div',{staticClass:\"col-span-4 flex handle cursor-pointer\"},[_c('div',{staticClass:\"flex items-center\"},[(!_vm.sortDisabled(_vm.rateRules))?_c('i',{staticClass:\"fa fa-arrows-alt-v handle mr-8 cursor-pointer\"}):_vm._e()]),_c('div',{staticClass:\"flex flex-col\"},[(_vm.firstColumnHeader(item).type === 'customers')?_vm._l((_vm.firstColumnHeader(item).data),function(customer){return _c('span',[_c('i',{staticClass:\"mr-6\",class:_vm.firstColumnHeader(item).icon}),_c('span',[_vm._v(_vm._s(customer.name))]),(customer.nestedNames)?[(customer.allSelected)?_c('span',[_vm._v(\" (\"+_vm._s(_vm.$t('Alle Projekte'))+\")\")]):_c('span',[_vm._v(\" (\"+_vm._s(customer.nestedNames.length)+\" \"),(customer.nestedNames.length === 1)?_c('span',[_vm._v(_vm._s(_vm.$t('Projekt')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Projekte')))]),_vm._v(\")\")])]:_vm._e()],2)}):_vm._e()],2)]),_c('div',{staticClass:\"col-span-1 text-center\"},[(_vm.secondColumnHeader(item).type)?_c('span',[_vm._v(\"+\")]):_vm._e()]),_c('div',{staticClass:\"col-span-4 flex flex-col\"},_vm._l((_vm.secondColumnHeader(item).data),function(header){return _c('span',[_c('i',{staticClass:\"mr-6\",class:_vm.secondColumnHeader(item).icon}),_c('span',[_vm._v(_vm._s(header))])])}),0),_c('div',{staticClass:\"col-span-1 text-center\"},[(_vm.thirdColumnHeader(item).type)?_c('span',[_vm._v(\"+\")]):_vm._e()]),_c('div',{staticClass:\"col-span-4 flex flex-col\"},_vm._l((_vm.thirdColumnHeader(item).data),function(header){return _c('span',[_c('i',{staticClass:\"mr-6\",class:_vm.thirdColumnHeader(item).icon}),_vm._v(\" \"+_vm._s(header)+\" \")])}),0),_c('div',{staticClass:\"col-span-2 text-right\"},[_vm._v(\" \"+_vm._s(item.amount)+\" \"+_vm._s(_vm.currency)+\" \")])])]},proxy:true},{key:\"buttons\",fn:function(){return [(!item.editMode)?_c('st-button',{key:item.id,staticClass:\"green small mr-8\",attrs:{\"disabled\":item.isDisabled,\"tooltip\":item.disabledReason},on:{\"click\":function($event){return _vm.getNewRule(item)}}},[_vm._v(_vm._s(_vm.$t('Ausnahme hinzufügen'))+\" \")]):_vm._e(),(!item.editMode)?[_c('st-button',{staticClass:\"small white mr-8\",attrs:{\"disabled\":item.isDisabled,\"tooltip\":item.disabledReason,\"icon\":\"far fa-pencil\"},on:{\"click\":function($event){return _vm.loadEditModel(item)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Bearbeiten'))+\" \")]),_c('div',[_c('st-confirm-button',{attrs:{\"btn-class\":\"small white\",\"icon\":\"far fa-trash-alt\"},on:{\"confirm\":function($event){return _vm.deleteItem(item.id)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Löschen'))+\" \")])],1)]:_vm._e()]},proxy:true}],null,true)})],1)}),_vm._t(\"newGlobalChild\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\r\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\r\nimport {\r\n DeleteResultModel,\r\n RateRuleEditModel,\r\n RateRuleSortOrderEditModel,\r\n RateRuleViewModel\r\n} from '@/services/api/nswag/stapiclient_generated';\r\nimport RateRuleEdit from '@/views/RateRules/RateRuleEdit.vue';\r\nimport {stRateRuleApi} from '@/services/st-api';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {\r\n RateRuleEdit, RateRuleItem\r\n },\r\n})\r\nexport default class RateRuleItem extends Vue {\r\n @Prop() parentRateRule!: RateRuleViewModel;\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n get rateRules() {\r\n return this.parentRateRule.childRateRules;\r\n }\r\n\r\n set rateRules(value) {\r\n value?.forEach((x, index) => {\r\n x.sortOrder = index + 1;\r\n });\r\n\r\n const models = value?.map(x => {\r\n const item: RateRuleSortOrderEditModel = RateRuleSortOrderEditModel.fromJS({id: x.id, sortOrder: x.sortOrder})\r\n return item;\r\n });\r\n\r\n if (models) {\r\n stRateRuleApi.updateSortOrder(models);\r\n }\r\n\r\n this.parentRateRule.childRateRules = value;\r\n }\r\n\r\n get parentIsGlobalRule() {\r\n return this.parentRateRule.isGlobal;\r\n }\r\n\r\n editModeAnyChild(rateRules: RateRuleViewModel[] | null | undefined): boolean {\r\n return rateRules?.some(x => x.editMode || this.editModeAnyChild(x.childRateRules)) ?? false;\r\n }\r\n\r\n sortDisabled(rateRules: RateRuleViewModel[] | null | undefined) {\r\n return this.editModeAnyChild(rateRules)\r\n || rateRules?.length == 1;\r\n }\r\n\r\n firstColumnHeader(item: RateRuleViewModel) {\r\n if (item.customerNames && item.customerNames.length > 0) {\r\n return {type: 'customers', data: item.customerNames, icon: 'far fa-address-card'};\r\n }\r\n\r\n return {type: 'customers', data: [{name: this.$t('Alle Kunden')}], icon: 'far fa-address-card'};\r\n }\r\n\r\n secondColumnHeader(item: RateRuleViewModel) {\r\n if (item.projectTaskNames && item.projectTaskNames.length > 0) {\r\n return {type: 'projectTasks', data: item.projectTaskNames, icon: 'far fa-lightbulb'};\r\n }\r\n\r\n return {type: 'projectTasks', data: [this.$t('Alle Leistungen')], icon: 'far fa-lightbulb'};\r\n }\r\n\r\n thirdColumnHeader(item: RateRuleViewModel) {\r\n if (item.appUserNames && item.appUserNames.length > 0) {\r\n return {type: 'appUsers', data: item.appUserNames, icon: 'far fa-user'};\r\n }\r\n return {type: 'appUsers', data: [this.$t('Alle Mitarbeiter')], icon: 'far fa-user'};\r\n }\r\n\r\n async deleteItem(id: number): Promise {\r\n try {\r\n const resp = (await stRateRuleApi.delete(id));\r\n\r\n if (resp.confirmationNeeded) {\r\n return resp;\r\n }\r\n\r\n this.$emit('reload');\r\n return resp;\r\n } finally {\r\n }\r\n }\r\n\r\n async getNewRule(parentRateRule: RateRuleViewModel) {\r\n let item: RateRuleEditModel = (await stRateRuleApi.getNew(parentRateRule.id!));\r\n parentRateRule.newRateRuleEditMode = true;\r\n parentRateRule.newRateRuleEditModel = item;\r\n }\r\n\r\n async loadEditModel(rateRule: RateRuleViewModel) {\r\n let item: RateRuleEditModel = (await stRateRuleApi.get(rateRule.id!));\r\n\r\n rateRule.editMode = true;\r\n rateRule.editModel = item;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRuleItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RateRuleItem.vue?vue&type=template&id=6ae19373&\"\nimport script from \"./RateRuleItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./RateRuleItem.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport {\n DeleteResultModel, RateRuleEditModel, RateRuleViewModel\n} from '@/services/api/nswag/stapiclient_generated';\nimport RateRuleEdit from '@/views/RateRules/RateRuleEdit.vue';\nimport RateRuleItem from '@/views/RateRules/RateRuleItem.vue';\nimport {stRateRuleApi} from '@/services/st-api';\nimport {UserStore} from '@/store/user-module';\n\n@Component({\n components: {\n RateRuleItem, RateRuleEdit\n },\n})\nexport default class RateRules extends Vue {\n globalRule: RateRuleViewModel = RateRuleViewModel.fromJS({});\n newRule: RateRuleViewModel = RateRuleViewModel.fromJS({id: 0, editMode: false, editModel: null});\n\n mounted(){\n this.loadData();\n }\n\n get currency(){\n return UserStore.userSettings.currency;\n }\n\n get useRateRules(){\n return UserStore.userSettings.useRateRules;\n }\n\n async getNewRule(parentRateRule: RateRuleViewModel){\n this.newRule.editMode = true;\n this.newRule.editModel = (await stRateRuleApi.getNew(parentRateRule.id!));\n }\n\n async loadEditModel(rateRule: RateRuleViewModel) {\n let item: RateRuleEditModel = (await stRateRuleApi.get(rateRule.id!));\n\n rateRule.editMode = true;\n rateRule.editModel = item;\n }\n\n async submit(){\n const item = this.globalRule.editModel!;\n await stRateRuleApi.put(item.id, item);\n await this.loadData();\n }\n\n async loadData() {\n this.globalRule = (await stRateRuleApi.getRules());\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRules.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateRules.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RateRules.vue?vue&type=template&id=e82ba992&\"\nimport script from \"./RateRules.vue?vue&type=script&lang=ts&\"\nexport * from \"./RateRules.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RateRules.vue?vue&type=style&index=0&id=e82ba992&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Benutzer'))+\" \"),(_vm.showArchived)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('Archiv'))+\")\")]):_vm._e()]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Anlage und Verwaltung von Benutzern')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-user\",\"disabled\":_vm.disableAddUsers,\"tooltip\":_vm.disableAddUsers ? {content: _vm.$t('Sie können momentan keine Benutzer hinzufügen - bitte passen Sie die Anzahl der lizenzierten Benutzer auf der Seite Zahlung an.') }: ''},on:{\"click\":function($event){return _vm.editUser(0)}}},[_vm._v(_vm._s(_vm.$t('Neuer Benutzer')))])],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/2 lg:w-1/3\"},[_c('st-search',{attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Suche...')},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('st-toggle',{attrs:{\"value\":_vm.showArchived},on:{\"input\":_vm.toggleShowArchived}},[_c('div',{staticClass:\"text-onbgsecondary-normal\"},[_vm._v(_vm._s(_vm.$t('Archiv anzeigen')))])])],1),_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),(!_vm.filteredUsers.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-user\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Benutzer gefunden')))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Bitte die Suche anpassen')))])]):_vm._e(),_vm._l((_vm.filteredUsers),function(user){return _c('div',{key:user.id},[_c('div',{staticClass:\"st-list-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.editUser(user.id)}}},[_c('div',{staticClass:\"st-list-item-content\"},[_c('div',{staticClass:\"col-span-8 md:col-span-4 flex items-center\"},[(user.id === _vm.userStore.currentUser.id)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Das sind Sie'),expression:\"'Das sind Sie'\"}],staticClass:\"fa fa-user-crown fa-lg\"}):_c('i',{staticClass:\"far fa-user fa-lg\"}),_c('div',{staticClass:\"flex flex-col md:flex-row md:items-center\"},[_c('span',{staticClass:\"st-list-item-header\"},[_vm._v(\" \"+_vm._s(user.name)+\" \")]),_c('div',[(user.isPassiveUserManager)?_c('div',{staticClass:\" ml-5 md:hidden\"},[_vm._v(_vm._s(_vm.$t('Vorarbeiter')))]):(user.isPassiveUser)?_c('div',{staticClass:\" ml-5 md:hidden\"},[_vm._v(_vm._s(_vm.$t('Passiver Benutzer')))]):_c('div',{staticClass:\" ml-5 md:hidden\"},[_vm._v(_vm._s(user.roleName))])])])]),_c('div',{staticClass:\"col-span-2 hidden md:flex items-center\"},[(user.isPassiveUserManager)?_c('div',{},[_vm._v(_vm._s(_vm.$t('Vorarbeiter')))]):(user.isPassiveUser)?_c('div',{},[_vm._v(_vm._s(_vm.$t('Passiver Benutzer')))]):_c('div',{},[_vm._v(_vm._s(user.roleName)+\" \"),(user.isBasicTimeTrackingUser)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Einfache Zeiterfassung')),expression:\"$t('Einfache Zeiterfassung')\"}],staticClass:\"far fa-clock\"}):_vm._e()])]),_c('div',{staticClass:\"col-span-3 hidden md:flex items-center\"},[(user.managerName)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Vorgesetze(r)')),expression:\"$t('Vorgesetze(r)')\"}]},[_c('i',{staticClass:\"far fa-user-hard-hat fa-lg mr-4\"}),_vm._v(_vm._s(user.managerName))]):_vm._e()]),_c('div',{staticClass:\"col-span-4 md:col-span-3 flex justify-end items-center\"},[(!user.isActive && !user.isArchived && !user.isPassiveUser)?_c('st-button-round',{staticClass:\"primary mr-8\",attrs:{\"type\":\"button\",\"disabled\":_vm.sendingInvitationId !== 0,\"loading\":_vm.sendingInvitationId === user.id,\"tooltipText\":_vm.$t('Einladung erneut senden - dadurch verliert die zuvor gesendete Einladungs-Email ihre Gültigkeit')},on:{\"click\":function($event){return _vm.resendInvitation(user.id)}}},[_c('i',{staticClass:\"far fa-envelope\"})]):_vm._e(),_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editUser(user.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),(!user.isArchived)?_c('st-button-round',{attrs:{\"loading\":_vm.archivedLoadingId === user.id,\"tooltipText\":_vm.$t('Archivieren')},on:{\"click\":function($event){return _vm.toggleArchive(user.id)}}},[_c('i',{staticClass:\"far fa-inbox-in\"})]):_vm._e(),(user.isArchived)?_c('st-button-round',{attrs:{\"loading\":_vm.archivedLoadingId === user.id,\"tooltipText\":_vm.$t('Aktivieren')},on:{\"click\":function($event){return _vm.toggleArchive(user.id)}}},[_c('i',{staticClass:\"far fa-inbox-out\"})]):_vm._e(),_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.userDelete(user.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)])])])})],2)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(_vm.userEditModel.id)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Benutzer'))+\" \"),_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.userEditModel.name))]),_vm._v(\" \"+_vm._s(_vm.$t('bearbeiten'))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t('Neuen Benutzer anlegen')))])]},proxy:true}])},[_c('div',[(_vm.userEditModel)?_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('st-tabs',{attrs:{\"tabs\":_vm.tabs},scopedSlots:_vm._u([{key:\"standardHeader\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('Stammdaten'))+\" \")]},proxy:true},{key:\"vacationHeader\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('Arbeitszeiten / Urlaub / Feiertage')))])]},proxy:true},{key:\"standard\",fn:function(){return [_c('div',{staticClass:\"usereditsection\"},[_vm._v(\" \"+_vm._s(_vm.$t('Stammdaten'))+\" \")]),_c('div',[_c('st-input2',{attrs:{\"label\":\"Name\",\"name\":\"Name\",\"rules\":\"required\",\"type\":\"text\",\"focus\":true},model:{value:(_vm.userEditModel.name),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"name\", $$v)},expression:\"userEditModel.name\"}}),(_vm.featureFlagPassiveUsers)?[(_vm.userEditModel.id == 0 || _vm.userEditModel.isPassiveUser)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('Ist passiver Benutzer'))+\" \"),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Passive Benutzer haben keinen eigenen Zugang, die Zeiterfassung erfolgt durch den Vorgesetzten.'))+\" \")])],1),_c('st-toggle',{attrs:{\"type\":\"right\",\"disabled\":_vm.userEditModel.id != 0},model:{value:(_vm.userEditModel.isPassiveUser),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"isPassiveUser\", $$v)},expression:\"userEditModel.isPassiveUser\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Passiver Benutzer'))+\" \")])],1):_vm._e()]:_vm._e(),(!_vm.userEditModel.isPassiveUser)?_c('st-input2',{attrs:{\"label\":\"Email\",\"name\":\"Email\",\"rules\":\"required|email\",\"type\":\"text\"},model:{value:(_vm.userEditModel.email),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"email\", $$v)},expression:\"userEditModel.email\"}}):_vm._e(),(_vm.useEmployeeData)?_c('st-input2',{attrs:{\"label\":\"Personalnummer\",\"name\":\"Personalnummer\",\"placeholder\":\"optional\",\"type\":\"text\"},model:{value:(_vm.userEditModel.employeeNumber),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"employeeNumber\", $$v)},expression:\"userEditModel.employeeNumber\"}}):_vm._e(),(_vm.useEmployeeData)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('Vorgesetzte(r)'))+\" \")]),_c('st-select',{attrs:{\"options\":_vm.possibleManager,\"placeholder\":_vm.$t('Auswählen (optional)'),\"valImmediate\":true,\"idProp\":\"id\",\"labelProp\":\"name\",\"name\":\"Manager\",\"clearable\":true},model:{value:(_vm.userEditModel.managerId),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"managerId\", $$v)},expression:\"userEditModel.managerId\"}})],1):_vm._e(),(_vm.userEditModel.externalUserId)?_c('st-input2',{attrs:{\"label\":\"Externe UserId\",\"name\":\"ExterneUserId\",\"placeholder\":\"optional\",\"type\":\"text\"},model:{value:(_vm.userEditModel.externalUserId),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"externalUserId\", $$v)},expression:\"userEditModel.externalUserId\"}}):_vm._e(),(_vm.featureFlagAppUserDepartmentInfo)?_c('st-input2',{attrs:{\"label\":\"Abteilung (für Export)\",\"name\":\"AbteilungExport\",\"placeholder\":\"Abteilung (für Export)\",\"type\":\"text\"},model:{value:(_vm.userEditModel.featureFlagAppUserDepartmentInfoString),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"featureFlagAppUserDepartmentInfoString\", $$v)},expression:\"userEditModel.featureFlagAppUserDepartmentInfoString\"}}):_vm._e(),(!_vm.userEditModel.isPassiveUser)?[_c('div',{staticClass:\"usereditsection mt-8\"},[_vm._v(\" \"+_vm._s(_vm.$t('Berechtigungen'))+\" \")]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rolle'))+\" \"),_c('st-explanation',{staticClass:\"ml-2\",attrs:{\"max-width\":800}},[_c('role-explanation-table')],1)],1),_c('st-select',{attrs:{\"options\":_vm.roles,\"placeholder\":_vm.$t('Bitte auswählen'),\"valImmediate\":true,\"idProp\":\"id\",\"labelProp\":\"name\",\"name\":\"Rolle\",\"rules\":\"required\"},on:{\"input\":_vm.roleChanged},model:{value:(_vm.userEditModel.roleId),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"roleId\", $$v)},expression:\"userEditModel.roleId\"}})],1),(_vm.featureFlagMixedUsers && _vm.userEditModel.roleId == 3)?[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('Einfache Zeiterfassung'))+\" \"),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Dieser Benutzer verwendet die einfache Zeiterfassung ohne Buchung auf Projekte.'))+\" \")])],1),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.userEditModel.isBasicTimeTrackingUser),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"isBasicTimeTrackingUser\", $$v)},expression:\"userEditModel.isBasicTimeTrackingUser\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Einfache Zeiterfassung'))+\" \")])],1)]:_vm._e(),(_vm.featureFlagPassiveUsers && _vm.userEditModel.roleId == 3)?[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('Ist Vorarbeiter'))+\" \"),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Vorarbeiter können für passive Benutzer Zeiten erfassen und Urlaub eintragen (aber nicht genehmigen).'))+\" \")])],1),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.userEditModel.isPassiveUserManager),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"isPassiveUserManager\", $$v)},expression:\"userEditModel.isPassiveUserManager\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Vorarbeiter'))+\" \")])],1)]:_vm._e(),(_vm.hasAppUserRights && !_vm.userEditModel.isPassiveUserManager && !_vm.userEditModel.isBasicTimeTrackingUser)?_c('div',[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechte'))+\" \")]),_vm._l((_vm.filteredAppUserRights),function(right){return _c('div',{staticClass:\"my-4\"},[_c('div',{staticClass:\"flex items-center\"},[(_vm.isCanViewTimeEntriesForEmployees(right) && _vm.canWriteAllEmployeesAndProjects)?_c('st-toggle',{key:right.rightId,attrs:{\"value\":true,\"disabled\":true,\"type\":\"right\"}},[_vm._v(\" \"+_vm._s(right.rightDescription)+\" \")]):(_vm.isCanViewCustomerAndProjects(right) && _vm.canEditMasterData)?_c('st-toggle',{key:right.rightId,attrs:{\"value\":true,\"disabled\":true,\"type\":\"right\"}},[_vm._v(\" \"+_vm._s(right.rightDescription)+\" \")]):_c('st-toggle',{key:right.rightId,attrs:{\"disabled\":_vm.rightIsDisabled(right),\"type\":\"right\"},on:{\"input\":function($event){return _vm.rightChanged(right)}},model:{value:(right.isAllowed),callback:function ($$v) {_vm.$set(right, \"isAllowed\", $$v)},expression:\"right.isAllowed\"}},[_vm._v(\" \"+_vm._s(right.rightDescription)+\" \")]),(right.isMasterDataRight)?_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Ein Mitarbeiter der Stammdaten bearbeiten darf, erhält automatisch Zugriff auf alle Projekte.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Bisherige Zuordnungen des Mitarbeiters zu Projekten werden entfernt.'))+\" \")]):_vm._e()],1)])})],2)]):_vm._e(),(_vm.hasAppUserRights && _vm.useProjectTimeTracking && !_vm.userEditModel.isPassiveUserManager && !_vm.userEditModel.isBasicTimeTrackingUser)?_c('div',{staticClass:\"form-group\"},[(_vm.hasRightAllProjects && !_vm.canViewTimeEntriesForEmployees && _vm.projectStaffEditModels.length)?[_c('div',{staticClass:\"form-label flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Mitarbeiter/in hat Zusatzrechte auf folgende Projekte'))+\" \")]),_c('div',[_c('app-user-project-staff-edit',{attrs:{\"app-user-id\":_vm.userId,\"canViewTimeEntriesForEmployeesGlobal\":_vm.canViewTimeEntriesForEmployees,\"canEditTimeEntriesForEmployeesGlobal\":_vm.canEditTimeEntriesForEmployees,\"hasRightAllProjects\":_vm.hasRightAllProjects},model:{value:(_vm.projectStaffEditModels),callback:function ($$v) {_vm.projectStaffEditModels=$$v},expression:\"projectStaffEditModels\"}})],1)]:[_c('div',{staticClass:\"form-label flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Mitarbeiter/in hat Zugriff auf folgende Projekte'))+\" \"),(_vm.noActiveProject)?_c('st-explanation',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('i',{staticClass:\"far fa-exclamation-triangle ml-2 text-red-500\"})]},proxy:true}],null,true)},[_vm._v(\" \"+_vm._s(_vm.$t('Der Benutzer ist keinem aktiven Projekt zugeordnet'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Er/ Sie SpikeTime nicht benutzen'))+\" \")]):_vm._e()],1),(_vm.hasRightAllProjects)?_c('div',[_c('div',{staticClass:\"flex items-center st-list-item-open font-bold\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Alle Projekte'))+\" \")]),_c('st-explanation',{staticClass:\"ml-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Um den Mitarbeiter explizit auf Projekte zu berechtigen,'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('muss ihm das Recht \"Darf auf alle Projekte buchen\" entzogen werden.'))+\" \")])],1)]):_c('div',[_c('app-user-project-staff-edit',{attrs:{\"app-user-id\":_vm.userId,\"canViewTimeEntriesForEmployeesGlobal\":_vm.canViewTimeEntriesForEmployees,\"canEditTimeEntriesForEmployeesGlobal\":_vm.canEditTimeEntriesForEmployees,\"hasRightAllProjects\":_vm.hasRightAllProjects},model:{value:(_vm.projectStaffEditModels),callback:function ($$v) {_vm.projectStaffEditModels=$$v},expression:\"projectStaffEditModels\"}}),(!_vm.hasRightAllProjects && !_vm.projectStaffEditModels.length)?_c('div',{staticClass:\"st-list-item-open font-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('Kein Projekt ausgewählt'))+\" \")]):_vm._e()],1)]],2):_vm._e()]:_vm._e()],2)]},proxy:true},{key:\"vacation\",fn:function(){return [_c('div',[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Feiertagsgruppe')))]),_c('st-select',{attrs:{\"clearable\":true,\"grouped\":true,\"options\":_vm.publicHolidayGroupOptions,\"placeholder\":_vm.$t('Bitte auswählen'),\"label\":\"Feiertagsgruppe\"},model:{value:(_vm.userEditModel.publicHolidayGroupId),callback:function ($$v) {_vm.$set(_vm.userEditModel, \"publicHolidayGroupId\", $$v)},expression:\"userEditModel.publicHolidayGroupId\"}})],1),(_vm.useTimeAccount)?_c('app-user-history',{attrs:{\"app-user-id\":_vm.userEditModel.id},model:{value:(_vm.historyItems),callback:function ($$v) {_vm.historyItems=$$v},expression:\"historyItems\"}}):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('app-user-vacation-history',{attrs:{\"app-user-id\":_vm.userEditModel.id},model:{value:(_vm.vacationHistoryItems),callback:function ($$v) {_vm.vacationHistoryItems=$$v},expression:\"vacationHistoryItems\"}})],1),(_vm.useInternalUserCost)?_c('app-user-internal-cost-history',{attrs:{\"app-user-id\":_vm.userEditModel.id},model:{value:(_vm.internalCostHistoryItems),callback:function ($$v) {_vm.internalCostHistoryItems=$$v},expression:\"internalCostHistoryItems\"}}):_vm._e(),(_vm.useBillableTarget)?_c('app-user-billable-target-history',{attrs:{\"app-user-id\":_vm.userEditModel.id},model:{value:(_vm.billableTargetHistoryItems),callback:function ($$v) {_vm.billableTargetHistoryItems=$$v},expression:\"billableTargetHistoryItems\"}}):_vm._e()],1)]},proxy:true}],null,true),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}}),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),(_vm.userEditModel.id)?_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid,\"loading\":_vm.saving,\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")]):_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid,\"loading\":_vm.saving,\"type\":\"submit\"}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Benutzer anlegen'))+\" \")])],1)]}}],null,false,3147875777)}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mt-10\"},[_c('div',{staticClass:\"usereditsection\"},[_vm._v(\" \"+_vm._s(_vm.$t('Arbeitszeiten'))+\" \"),_c('st-button',{staticClass:\"small green\",attrs:{\"disabled\":_vm.isEditingItem},on:{\"click\":_vm.addNewItem}},[_vm._v(\" \"+_vm._s(_vm.$t('Neuer Eintrag'))+\" \")])],1),(!_vm.historyItems || !_vm.historyItems.length)?_c('div',{staticClass:\"alert alert-blue\"},[_vm._v(\" \"+_vm._s(_vm.$t('Keine Arbeitszeiten vorhanden. Klicken Sie auf \"Neuer Eintrag\" um Arbeitszeiten für den Mitarbeiter festzulegen.'))+\" \")]):_vm._e(),(_vm.historyItems && _vm.historyItems.length)?_c('table',{staticClass:\"st-table\"},[_vm._m(0),_c('thead',[(_vm.displayWarning)?_c('tr',[_c('td',{attrs:{\"colspan\":\"3\"}},[_c('div',{staticClass:\"alert alert-yellow text-center\"},[_c('i',{staticClass:\"far fa-exclamation-triangle fa-2x\"}),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('ACHTUNG! Änderungen, die Sie hier an bestehenden Einträgen vornehmen wirken sich auf das Stundenkonto des Mitarbeiters aus (ggf. auch für die Vergangenheit).'))+\" \")])])]):_vm._e(),_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Gültig ab'))+\" \"),_c('st-explanation',{staticClass:\"inline-block\"},[_vm._v(_vm._s(_vm.$t('Gilt automatisch für die Zukunft.')))])],1),_c('th',[_vm._v(_vm._s(_vm.$t('Wochenstunden')))]),_c('th')])]),_c('tbody',_vm._l((_vm.historyItems),function(item,index){return _c('tr',{key:item.val.id,staticClass:\"nohover\"},[(item.editMode)?[_c('td',{staticClass:\"align-top\"},[_c('st-datepicker',{attrs:{\"min-date\":\"2000-01-01\"},model:{value:(item.val.validFrom),callback:function ($$v) {_vm.$set(item.val, \"validFrom\", $$v)},expression:\"item.val.validFrom\"}})],1),_c('td',[_c('div',{staticClass:\"grid grid-cols-7\"},[_c('st-decimal-input',{staticClass:\"col-span-2\",attrs:{\"disabled\":item.val.useDailyWorkHours,\"placeholder\":_vm.$t('Wochenstunden')},on:{\"input\":function($event){return _vm.weeklyWorkHoursChanged(item.val)}},model:{value:(item.val.weeklyWorkHours),callback:function ($$v) {_vm.$set(item.val, \"weeklyWorkHours\", $$v)},expression:\"item.val.weeklyWorkHours\"}})],1),_c('st-toggle',{staticClass:\"mt-8 mb-8\",attrs:{\"type\":\"right\"},model:{value:(item.val.useDailyWorkHours),callback:function ($$v) {_vm.$set(item.val, \"useDailyWorkHours\", $$v)},expression:\"item.val.useDailyWorkHours\"}},[_vm._v(_vm._s(_vm.$t('Arbeitszeit pro Tag festlegen')))]),_c('div',{staticClass:\"mt-2 grid grid-cols-7 grid-gap-4\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Mo')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Di')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Mi')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Do')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Fr')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Sa')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('So')))]),_vm._l((item.val.dailyWorkHours),function(day){return _c('div',[_c('st-decimal-input',{attrs:{\"disabled\":!item.val.useDailyWorkHours,\"inputClass\":'ml-2 small text-center',\"placeholder\":_vm.$t('h')},on:{\"input\":function($event){return _vm.dailyWorkHoursChanged(item.val)}},model:{value:(day.workingHours),callback:function ($$v) {_vm.$set(day, \"workingHours\", $$v)},expression:\"day.workingHours\"}})],1)})],2)],1),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Abbrechen')},on:{\"click\":function($event){return _vm.cancel(item, index)}}},[_c('i',{staticClass:\"far fa-times\"})]),_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"btn-class\":\"bg-green-500 hover:bg-green-600 text-white\",\"tooltipText\":_vm.$t('Übernehmen')},on:{\"click\":function($event){return _vm.saveItem(item)}}},[_c('i',{staticClass:\"far fa-check\"})])],1)]:[_c('td',{staticClass:\"align-top\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.val.validFrom))+\" \"),(_vm.value.filter(function (_) { return _.validFrom === item.val.validFrom; }).length > 1)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Pro Tag darf es nur einen Eintrag geben')),expression:\"$t('Pro Tag darf es nur einen Eintrag geben')\"}],staticClass:\"far fa-exclamation-triangle text-red-400 ml-4 mr-4\"}):_vm._e()]),_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(item.val.weeklyWorkHours))+\" h \"),_c('div',{staticClass:\"mt-8 grid grid-cols-7 grid-gap-4\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Mo')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Di')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Mi')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Do')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Fr')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Sa')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('So')))]),_vm._l((item.val.dailyWorkHours),function(day){return _c('div',[_vm._v(_vm._s(_vm._f(\"formatNumber\")(day.workingHours)))])})],2)]),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('div',{staticClass:\"flex items-center justify-end\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){item.editMode = true;\n _vm.displayWarning = true;}}},[_c('i',{staticClass:\"far fa-pencil-alt\"})]),_c('st-delete-button',{staticClass:\"inline-block\",on:{\"startDelete\":function($event){_vm.displayWarning = true},\"endDelete\":function($event){_vm.displayWarning=false},\"delete\":function($event){return _vm.remove(index)}}})],1)])]],2)}),0)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('colgroup',[_c('col',{staticStyle:{\"width\":\"20%\"}}),_c('col',{staticStyle:{\"width\":\"auto\"}}),_c('col',{staticStyle:{\"width\":\"15%\"}})])}]\n\nexport { render, staticRenderFns }","\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\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\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\nimport {AppUserHistoryEditModel, WorkHoursDay} from '@/services/api/nswag/stapiclient_generated';\r\nimport {stAppUserHistoryApi} from '@/services/st-api';\r\nimport { ObjectEditor } from \"@/utlitities/helper\";\r\nimport { remove } from \"lodash\";\r\n\r\n@Component({\r\n components: {},\r\n})\r\nexport default class AppUserHistory extends Vue {\r\n @Prop() appUserId!: number;\r\n @Prop() value!: AppUserHistoryEditModel[];\r\n\r\n historyItems: ObjectEditor[] = [];\r\n displayWarning = false;\r\n\r\n async mounted() {\r\n let unwatch = this.$watch('value', ()=>{\r\n this.value.forEach(x=>{\r\n this.historyItems.push(new ObjectEditor(x));\r\n unwatch();\r\n });\r\n });\r\n }\r\n\r\n saveItem(item: ObjectEditor){\r\n item.editMode = false;\r\n this.displayWarning = false;\r\n this.updateOutside();\r\n }\r\n\r\n cancel(item: ObjectEditor, index: number){\r\n this.displayWarning = false;\r\n if(item.isNew){\r\n this.remove(index);\r\n }else{\r\n item.reset();\r\n }\r\n }\r\n\r\n async updateOutside(){\r\n this.$emit('input', this.historyItems.map(x=>x.val));\r\n await this.$nextTick();\r\n this.historyItems = [];\r\n this.value.forEach(x=>{\r\n this.historyItems.push(new ObjectEditor(x));\r\n });\r\n }\r\n\r\n get isEditingItem() {\r\n return this.historyItems.filter((_) => _.editMode).length > 0;\r\n }\r\n\r\n remove(index: number) {\r\n this.historyItems.splice(index, 1);\r\n this.updateOutside();\r\n }\r\n\r\n async addNewItem() {\r\n let newItem = await stAppUserHistoryApi.getNew(this.appUserId);\r\n let newHistoryItem = new ObjectEditor(newItem);\r\n newHistoryItem.editMode = true;\r\n newHistoryItem.isNew = true;\r\n this.historyItems.unshift(newHistoryItem);\r\n }\r\n\r\n weeklyWorkHoursChanged(item: AppUserHistoryEditModel) {\r\n if (item.weeklyWorkHours || item.weeklyWorkHours == 0) {\r\n const dailyWorkHours = item.weeklyWorkHours / 5;\r\n\r\n item.dailyWorkHours?.forEach((val: WorkHoursDay, index: number) => {\r\n if (index < 5) {\r\n val.workingHours = dailyWorkHours;\r\n } else {\r\n val.workingHours = 0;\r\n }\r\n });\r\n }\r\n }\r\n\r\n dailyWorkHoursChanged(item: AppUserHistoryEditModel) {\r\n if (item.dailyWorkHours) {\r\n item.weeklyWorkHours = item\r\n .dailyWorkHours!.map((x) => {\r\n if (!x.workingHours) {\r\n return 0;\r\n }\r\n return x.workingHours!;\r\n })\r\n .reduce((x, y) => {\r\n return parseFloat(x.toString()) + parseFloat(y.toString());\r\n });\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserHistory.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserHistory.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppUserHistory.vue?vue&type=template&id=cddea35e&\"\nimport script from \"./AppUserHistory.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppUserHistory.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mt-10\"},[_c('div',{staticClass:\"usereditsection\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Urlaubstage'))+\" \")]),_c('st-button',{staticClass:\"small green\",attrs:{\"disabled\":_vm.isEditingItem},on:{\"click\":_vm.addNewItem}},[_vm._v(\" \"+_vm._s(_vm.$t('Neuer Eintrag'))+\" \")])],1),(!_vm.historyItems || !_vm.historyItems.length)?_c('div',{staticClass:\"alert alert-blue\"},[_vm._v(\" \"+_vm._s(_vm.$t('Keine Urlaubstage vorhanden. Klicken Sie auf \"Neuer Eintrag\" um Urlaubstage für den Mitarbeiter festzulegen.'))+\" \")]):_vm._e(),(_vm.historyItems && _vm.historyItems.length)?_c('table',{staticClass:\"st-table\"},[_vm._m(0),_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Gültig ab Jahr'))+\" \"),_c('st-explanation',{staticClass:\"inline-block\"},[_vm._v(_vm._s(_vm.$t('Gilt automatisch für die folgenden Jahre.')))])],1),_c('th',[_vm._v(_vm._s(_vm.$t('Anzahl Urlaubstage')))]),_c('th')])]),_c('tbody',_vm._l((_vm.historyItems),function(item,index){return _c('tr',{key:item.val.id,staticClass:\"nohover\"},[(item.editMode)?[_c('td',[_c('st-select',{attrs:{\"options\":_vm.years,\"labelProp\":'description',\"idProp\":'id',\"placeholder\":_vm.$t('Bitte auswählen')},model:{value:(item.val.validFromYear),callback:function ($$v) {_vm.$set(item.val, \"validFromYear\", $$v)},expression:\"item.val.validFromYear\"}})],1),_c('td',[_c('st-decimal-input',{attrs:{\"placeholder\":_vm.$t('Anzahl Urlaubstage')},model:{value:(item.val.vacationDaysPerYear),callback:function ($$v) {_vm.$set(item.val, \"vacationDaysPerYear\", $$v)},expression:\"item.val.vacationDaysPerYear\"}})],1),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Abbrechen')},on:{\"click\":function($event){return _vm.cancel(item, index)}}},[_c('i',{staticClass:\"far fa-times\"})]),_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"btn-class\":\"bg-green-500 hover:bg-green-600 text-white\",\"tooltipText\":_vm.$t('Übernehmen')},on:{\"click\":function($event){return _vm.saveItem(item)}}},[_c('i',{staticClass:\"far fa-check\"})])],1)]:[_c('td',[_vm._v(\" \"+_vm._s(item.val.validFromYear)+\" \"),(_vm.value.filter(function (_) { return _.validFromYear === item.val.validFromYear; }).length > 1)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Pro Jahr darf es nur einen Eintrag geben')),expression:\"$t('Pro Jahr darf es nur einen Eintrag geben')\"}],staticClass:\"far fa-exclamation-triangle text-red-400 ml-4 mr-4\"}):_vm._e()]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatNumber\")(item.val.vacationDaysPerYear)))]),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('div',{staticClass:\"flex items-center justify-end\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){item.editMode = true}}},[_c('i',{staticClass:\"far fa-pencil-alt\"})]),_c('st-delete-button',{staticClass:\"inline-block\",on:{\"delete\":function($event){return _vm.remove(index)}}})],1)])]],2)}),0)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('colgroup',[_c('col',{staticStyle:{\"width\":\"30%\"}}),_c('col',{staticStyle:{\"width\":\"30%\"}}),_c('col',{staticStyle:{\"width\":\"20%\"}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.isFirstEntry)?_c('st-form-item-wrap',{attrs:{\"label\":\"Gültig ab\"}},[_c('st-datepicker',{attrs:{\"inputClass\":\"xxl:w-1/4 xl:w-1/2\"},model:{value:(_vm.item.validFrom),callback:function ($$v) {_vm.$set(_vm.item, \"validFrom\", $$v)},expression:\"item.validFrom\"}})],1):_vm._e(),_c('st-form-item-wrap',{attrs:{\"label\":\"Urlaub\"}},[_c('st-input',{attrs:{\"type\":\"number\",\"inputClass\":\"xxl:w-1/4 xl:w-1/2\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('span',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.$t('Tage pro Jahr')))])]},proxy:true}]),model:{value:(_vm.item.vacationDaysPerYear),callback:function ($$v) {_vm.$set(_vm.item, \"vacationDaysPerYear\", $$v)},expression:\"item.vacationDaysPerYear\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { AppUserVacationHistoryEditModel } from '@/services/api/nswag/stapiclient_generated';\n\n@Component({\n components: {},\n})\nexport default class AppUserVacationHistoryEdit extends Vue {\n @Prop() item!: AppUserVacationHistoryEditModel;\n @Prop() isFirstEntry!: boolean;\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserVacationHistoryEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserVacationHistoryEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppUserVacationHistoryEdit.vue?vue&type=template&id=0a557cc1&\"\nimport script from \"./AppUserVacationHistoryEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppUserVacationHistoryEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { AppUserHistoryEditModel, AppUserVacationHistoryEditModel } from \"@/services/api/nswag/stapiclient_generated\";\nimport { stAppUserHistoryApi, stAppUserVacationHistoryApi } from \"@/services/st-api\";\nimport AppUserVacationHistoryEdit from '@/views/User/VacationHistory/AppUserVacationHistoryEdit.vue';\nimport { DateTime } from 'luxon';\nimport StCurrencyInput from '@/components/basic/StCurrencyInput.vue';\nimport { ObjectEditor } from \"@/utlitities/helper\";\n\n@Component({\n components: {\n StCurrencyInput,\n AppUserVacationHistoryEdit,\n },\n})\nexport default class AppUserVacationHistory extends Vue {\n @Prop() appUserId!: number;\n @Prop() value!: AppUserVacationHistoryEditModel[];\n\n historyItems: ObjectEditor[] = [];\n\n async mounted() {\n let unwatch = this.$watch('value', ()=>{\n this.value.forEach(x=>{\n this.historyItems.push(new ObjectEditor(x));\n unwatch();\n });\n });\n }\n\n saveItem(item: ObjectEditor){\n item.editMode = false;\n this.updateOutside();\n }\n\n cancel(item: ObjectEditor, index: number){\n if(item.isNew){\n this.remove(index);\n }else{\n item.reset();\n }\n }\n\n remove(index: number) {\n this.historyItems.splice(index, 1);\n this.updateOutside();\n }\n\n async updateOutside(){\n this.$emit('input', this.historyItems.map(x=>x.val));\n await this.$nextTick();\n this.historyItems = [];\n this.value.forEach(x=>{\n this.historyItems.push(new ObjectEditor(x));\n });\n }\n\n get years(): any[] {\n let arr: any[] = [];\n for (let i = DateTime.local().year + 5; i > DateTime.local().year - 3; i--) {\n arr.push({ id: i, description: i.toString() });\n }\n return arr;\n }\n\n get isEditingItem() {\n return this.historyItems.filter((_) => _.editMode).length > 0;\n }\n\n async addNewItem() {\n let newItem = await stAppUserVacationHistoryApi.getNew(this.appUserId);\n let newHistoryItem = new ObjectEditor(newItem);\n newHistoryItem.editMode = true;\n newHistoryItem.isNew = true;\n this.historyItems.unshift(newHistoryItem);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserVacationHistory.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserVacationHistory.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppUserVacationHistory.vue?vue&type=template&id=50a21ada&\"\nimport script from \"./AppUserVacationHistory.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppUserVacationHistory.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-observer',{ref:\"adsas\",attrs:{\"slim\":\"\"}},[_c('vv-provider',{staticClass:\"w-full st-select\",attrs:{\"immediate\":_vm.valImmediate,\"name\":_vm.$t(_vm.name),\"rules\":_vm.rules},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"flex flex-col\"},[_c('t-rich-select',_vm._b({ref:\"trichselect\",attrs:{\"classes\":{\n selectButton: (errors.length ? 'border border-red-500 rounded-sm' : '') + _vm.inputClass + (!_vm.disabled ? ' bg-white ' : ''),\n },\"clearable\":_vm.clearable,\"close-on-select\":_vm.closeOnSelect,\"disabled\":_vm.disabled,\"fixedClasses\":{\n wrapper: 'relative',\n buttonWrapper: 'inline-block relative w-full',\n selectButton: 'form-control flex justify-between items-center clickme text-left ' + _vm.successButtonColor,\n\n selectButtonLabel: 'block truncate',\n selectButtonPlaceholder: 'block truncate text-normal font-normal text-gray-500 ' + _vm.placeholderClass,\n selectButtonIcon: _vm.hideSelectButtonIcon ? 'hidden' : 'fill-current flex-shrink-0 ml-1 h-8 w-8',\n selectButtonClearButton: 'rounded transition duration-100 ease-in-out flex flex-shrink-0 items-center justify-center absolute right-0 top-0 mr-6 h-full w-6',\n selectButtonClearIcon: 'fill-current h-6 w-6',\n selectButtonTagWrapper: 'flex flex-wrap overflow-hidden',\n selectButtonTag:\n 'bg-blue-500 truncate block disabled:cursor-not-allowed disabled:opacity-50 duration-100 ease-in-out focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50 rounded shadow-sm text-sm text-white transition m-0.5 h-8 flex items-center',\n selectButtonTagText: 'p-4 text-base truncate',\n selectButtonTagDeleteButton: '-ml-1.5 h-full hover:bg-blue-600 hover:shadow-sm inline-flex items-center px-2 transition',\n selectButtonTagDeleteButtonIcon: 'w-6 h-6',\n dropdown: 'absolute w-full z-40 -mt-1 bg-white absolute border-b border-l border-r border-2 border-gray-300 shadow-sm',\n dropdownFeedback: '',\n loadingMoreResults: '',\n optionsList: _vm.hideOptions ? 'hidden' : 'overflow-auto',\n searchWrapper: 'md:inline-block w-full p-2',\n searchBox: 'form-control ' + _vm.successButtonColor,\n optgroup: _vm.isProjectSelect ? 'font-bold text-sm px-6 pt-6 pb-2 break-word' : _vm.hideOptGroups ? 'hidden' : 'font-bold text-base px-6 pt-6 pb-2 break-word ',\n option: 'cursor-pointer font-normal text-base',\n disabledOption: 'opacity-50 cursor-not-allowed font-normal text-base',\n highlightedOption: 'cursor-pointer bg-gray-300 font-normal text-base',\n selectedOption: 'cursor-pointer bg-blue-50 font-normal text-base',\n selectedHighlightedOption: 'cursor-pointer bg-blue-50 font-normal text-base',\n optionContent: 'flex justify-between item-center px-3 py-4 relative hover:bg-blue-100',\n optionLabel: ' block px-6',\n selectedIcon: 'fill-current h-full self-center w-6',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: '',\n },\"hide-search-box\":_vm.hideSearchBoxProp,\"multiple\":_vm.multiple,\"options\":_vm.getOptions,\"placeholder\":_vm.placeholder,\"value\":_vm.selectedValue,\"fetchOptions\":_vm.getSearchOptions,\"searchBoxPlaceholder\":_vm.getSearchBoxPlaceholder,\"delay\":0},on:{\"input\":_vm.input,\"search:blur\":_vm.blur,\"fetch-error\":_vm.fetchError,\"focus\":function($event){return _vm.$emit('focus')},\"blur\":function($event){return _vm.$emit('blur')}},scopedSlots:_vm._u([{key:\"label\",fn:function(ref){\n var className = ref.className;\n var option = ref.option;\n var options = ref.options;\nreturn [_vm._t(\"label\",function(){return [(_vm.multiple)?_c('div',{staticClass:\"flex flex-wrap gap-4\"},_vm._l((options),function(option,index){return _c('button',{key:option.raw[_vm.idProp || 'id'],class:(option.raw.colorClass || 'bg-blue-500') + ' px-4 py-2 rounded-sm shadow-sm text-gray-200 text-base break-word flex items-center',staticStyle:{\"width\":\"-moz-fit-content !important\"},attrs:{\"type\":\"button\"}},[_c('span',{},[_vm._v(_vm._s(option.raw[_vm.labelProp || 'text']))]),_c('i',{staticClass:\"far fa-times pl-4\",on:{\"click\":function($event){$event.stopPropagation();return _vm.deselect(index)}}})])}),0):_c('div',[_c('div',{staticClass:\"font-thin text-sm text-left whitespace-normal break-word\"},[_vm._v(_vm._s(_vm.getParentName(option)))]),_c('div',{class:[className, 'text-base font-normal whitespace-normal break-word']},[(_vm.labelIcon)?_c('i',{class:_vm.labelIcon}):_vm._e(),_vm._v(\" \"+_vm._s(option.text)+\" \")])])]},{\"className\":className,\"option\":option,\"options\":options,\"getParentName\":_vm.getParentName})]}},(_vm.name === 'Template')?{key:\"option\",fn:function(ref){\n var className = ref.className;\n var option = ref.option;\nreturn [_c('div',{staticClass:\"flex items-center p-2\"},[_c('div',{staticClass:\"mr-3\",staticStyle:{\"width\":\"50px\",\"height\":\"50px\"},style:({ backgroundImage: option.raw.filename })}),_c('div',{staticClass:\"text-base font-normal break-word\"},[_vm._v(\" \"+_vm._s(option.text)+\" \")])])]}}:{key:\"option\",fn:function(ref){\n var className = ref.className;\n var option = ref.option;\nreturn [_vm._t(\"option\",function(){return [(_vm.getIsDummyCustomerProjectForComponent(option))?_c('div',{class:[className, 'text-base font-normal pl-6 break-word']},[_vm._v(_vm._s(option.text))]):_c('div',{class:[className, 'text-base font-normal pl-8 break-word']},[_vm._v(_vm._s(option.text))])]},{\"className\":className,\"option\":option,\"getParentName\":_vm.getParentName})]}},{key:\"dropdownUp\",fn:function(ref){\n var query = ref.query;\n var selectedOption = ref.selectedOption;\n var options = ref.options;\nreturn [_vm._t(\"dropdownUp\",null,{\"query\":query,\"selectedOption\":selectedOption,\"options\":options})]}},{key:\"dropdownDown\",fn:function(ref){\n var query = ref.query;\n var selectedOption = ref.selectedOption;\n var options = ref.options;\nreturn [_vm._t(\"dropdownDown\",null,{\"query\":query,\"selectedOption\":selectedOption,\"options\":options})]}}],null,true)},'t-rich-select',_vm.$attrs,false),[_c('template',{slot:\"noResults\"},[_vm._t(\"noResults\",function(){return [_c('div',{staticClass:\"flex justify-start p-4\"},[_c('div',{staticClass:\"text-base font-normal\"},[_vm._v(\" \"+_vm._s(_vm.$t('Keine Ergebnisse gefunden'))+\" \")])])]})],2)],2),_c('span',{staticClass:\"text-red-500 text-sm\"},[_vm._v(_vm._s(errors[0]))])],1)]}}],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\nimport { Component, Emit, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { cloneDeep } from 'lodash';\nimport { successButtonColorClass } from '@/utlitities/color';\nimport { UserStore } from '@/store/user-module';\n\n@Component({\n inheritAttrs: false,\n components: {},\n})\nexport default class StSelect extends Vue {\n @Prop() name!: string;\n @Prop() options!: any[];\n @Prop() translateOptions!: boolean;\n @Prop() rules!: string;\n @Prop() value!: any;\n @Prop() inputClass!: string;\n @Prop() labelProp!: string;\n @Prop() idProp!: string;\n @Prop() taggable!: boolean;\n @Prop() placeholder!: string;\n @Prop() clearable!: boolean;\n @Prop() disabled!: boolean;\n @Prop() multiple!: boolean;\n @Prop() valImmediate!: boolean;\n @Prop() grouped!: boolean;\n @Prop({ default: true }) closeOnSelect!: boolean;\n @Prop({ default: false }) hideSearchBox!: boolean;\n @Prop({ default: false }) hideOptions!: boolean;\n @Prop({ default: false }) hideSelectButtonIcon!: boolean;\n @Prop({ default: false }) hideOptGroups!: boolean;\n @Prop({ default: false }) openOnMounted!: boolean;\n @Prop() searchBoxPlaceholder!: string;\n @Prop() placeholderClass!: string;\n @Prop() labelIcon!: string;\n @Prop() isProjectSelect!: boolean;\n\n delayedValueWatch: any;\n delayedValue: any = null;\n\n async mounted() {\n if (this.multiple) {\n setTimeout(() => {\n this.delayedValue = this.value;\n }, 500);\n\n this.delayedValueWatch = this.$watch(\n 'value',\n () => {\n this.delayedValue = this.value;\n },\n { deep: true }\n );\n }\n\n if (this.openOnMounted) {\n this.open();\n }\n }\n\n get hideSearchBoxProp() {\n return this.hideSearchBox || window.innerWidth < 768;\n }\n\n beforeDestroy() {\n if (this.delayedValueWatch) {\n this.delayedValueWatch();\n }\n }\n\n get successButtonColor() {\n return successButtonColorClass(UserStore.userSettings.successButtonColor);\n }\n\n get selectedValue() {\n if (this.multiple) {\n return this.delayedValue;\n }\n return this.value;\n }\n\n get lowOptionsNumber() {\n return (this.options?.length ?? 0) <= 5;\n }\n\n get getSearchBoxPlaceholder() {\n return this.searchBoxPlaceholder ?? this.$t('Suchen ...');\n }\n\n getIsDummyCustomerProjectForComponent(option: any){\n if(!this.isProjectSelect){\n return false;\n }\n\n return ((option?.raw?.items) as any[])?.length == 1 && option?.raw?.groupName == ((option?.raw?.items) as any[])[0]?.description;\n }\n\n getIsDummyCustomerProject(option: any){\n return this.isProjectSelect && ((option.items || option.childItems) as any[]).length == 1 && ((option.items || option.childItems) as any[])[0][this.labelProp || 'description'] == option.groupName;\n }\n\n get getOptions() {\n let options = this.options;\n // Options is array of strings or numbers\n if (!!options[0] && ['string', 'number'].indexOf(typeof options[0]) !== -1) {\n if (this.translateOptions) {\n return options.map((o) => {\n return {\n value: o,\n text: this.$t(o),\n };\n });\n }\n return options.map((x) => {\n return {\n value: x,\n text: x,\n };\n });\n }\n\n // prepare object field names for grouped select\n if (this.grouped) {\n options = options.map((x) => {\n if(this.getIsDummyCustomerProject(x)){\n x = { ...x };\n x.text = 'Direktbuchungskunde';\n x.children = ((x.items || x.childItems) as any[]).map((x) => {\n x = { ...x };\n x.text = x[this.labelProp || 'description'];\n x.value = x[this.idProp || 'value'];\n return x;\n });\n return x;\n }else{\n x = { ...x };\n x.text = x.groupName;\n x.children = ((x.items || x.childItems) as any[]).map((x) => {\n x = { ...x };\n x.text = x[this.labelProp || 'description'];\n x.value = x[this.idProp || 'value'];\n return x;\n });\n return x;\n }\n return x;\n });\n // if this is not a grouped select, remap labelProp and idProp\n } else if (this.labelProp !== 'text' && this.idProp !== 'value') {\n options = options.map((x) => {\n x = { ...x };\n x.text = x[this.labelProp || 'description'];\n x.value = x[this.idProp || 'value'];\n return x;\n });\n }\n\n if (!this.translateOptions) {\n return options;\n }\n //translate options\n return options.map((x) => {\n x.text = this.$t(x[this.labelProp || 'description']);\n return x;\n });\n }\n\n open() {\n //@ts-ignore\n this.$refs.trichselect.$el.getElementsByClassName('clickme')[0].click();\n }\n\n blur() {\n //@ts-ignore\n this.$refs['adsas'].validate();\n }\n\n reduceFunc(option: any) {\n if (!!this.idProp && !!option) {\n return option[this.idProp];\n }\n return option;\n }\n\n getSearchOptions(query: string) {\n this.$emit('search', query);\n\n let options = cloneDeep(this.getOptions);\n\n options.forEach((opt) => {\n //if option (or group) matches\n if (opt.text.toLowerCase().indexOf(query.toLowerCase()) != -1) {\n opt.groupMatch = true;\n }\n\n //if option has children\n if (opt.children && opt.children.length && opt.children.filter((child: any) => child.text.toLowerCase().indexOf(query.toLowerCase()) != -1).length) {\n opt.isMatch = true;\n\n //mark children as match\n opt.children.forEach((child: any) => {\n child.isMatch = child.text.toLowerCase().indexOf(query.toLowerCase()) != -1;\n });\n }\n });\n\n //filter by matches\n options = options.filter((opt) => opt.groupMatch == true || opt.isMatch == true);\n\n options.forEach((opt) => {\n if (opt.children && opt.children.length) {\n if (opt.isMatch && !opt.groupMatch) {\n opt.children = opt.children.filter((_: any) => _.isMatch);\n }\n }\n });\n\n return { results: options };\n }\n\n fetchError(err: any) {}\n\n deselect(optionIndex: any) {\n (this.$refs.trichselect as any).unselectOptionAtIndex(optionIndex);\n }\n\n getParentName(child: any) {\n const parent = this.options.find((option) => {\n return (\n (option.items || option.childItems)?.length &&\n !!((option.items || option.childItems) as any[]).find((c) => {\n return c[this.idProp || 'id'] === child.value;\n })\n );\n });\n const res = parent ? parent.groupName : '';\n\n if(this.getIsDummyCustomerProject(parent)){\n return 'Direktbuchungskunde';\n }\n\n return res;\n }\n\n @Emit('input')\n input(value: any) {\n return this.reduceFunc(value);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StSelect.vue?vue&type=template&id=e7abdfcc&\"\nimport script from \"./StSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./StSelect.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StSelect.vue?vue&type=style&index=0&id=e7abdfcc&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"delayLoading\":_vm.loading}}),(_vm.unassignedProjects.length && !_vm.hasRightAllProjects)?_c('div',{staticClass:\"mb-6\"},[_c('st-select',{attrs:{\"grouped\":true,\"options\":_vm.unassignedProjects,\"placeholder\":_vm.$t('Projekt berechtigen')},on:{\"input\":_vm.assignProject},model:{value:(_vm.assignedProjectId),callback:function ($$v) {_vm.assignedProjectId=$$v},expression:\"assignedProjectId\"}})],1):_vm._e(),_vm._l((_vm.assignedProjects),function(customer,index){return _c('div',{key:customer.groupName,staticClass:\"shadow bg-white pb-6 px-6\",class:{'pt-4': index === 0}},[_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(customer.groupName))]),_vm._l((customer.items),function(project){return _c('div',{key:project.id,staticClass:\"ml-4 st-list-item-open border border-gray-300 flex items-center justify-between\"},[_c('div',{staticClass:\"flex flex-col\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(project.description)+\" \")]),_c('div',[_c('div',[(_vm.canViewTimeEntriesForEmployeesGlobal || _vm.hasRightAllProjects)?_c('st-toggle',{staticClass:\"mt-2\",attrs:{\"disabled\":true,\"value\":true,\"type\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Darf Zeiteinträge aller Benutzer für das Projekt sehen'))+\" \")]):_c('st-toggle',{staticClass:\"mt-2\",attrs:{\"value\":_vm.canViewTimeEntriesEmployee(project.id),\"type\":\"right\"},on:{\"input\":function($event){return _vm.toggleCanViewTimeEntriesEmployee(project.id)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Darf Zeiteinträge aller Benutzer für das Projekt sehen'))+\" \")])],1)])]),(!_vm.hasRightAllProjects)?_c('st-button-round',{on:{\"click\":function($event){return _vm.unassignProject(project.id)}}},[_c('i',{staticClass:\"far fa-trash-alt\"})]):_vm._e()],1)})],2)])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\nimport {\r\n AppUserRightEditModel,\r\n ProjectFilter,\r\n ProjectStaffEditModel, RightEnum,\r\n StSelectListItemGroup\r\n} from '@/services/api/nswag/stapiclient_generated';\r\nimport {stProjectApi} from '@/services/st-api';\r\nimport { has } from \"lodash\";\r\n\r\n@Component({\r\n methods: { has },\r\n components: {},\r\n})\r\nexport default class AppUserProjectStaffEdit extends Vue {\r\n @Prop() value!: ProjectStaffEditModel[];\r\n @Prop() appUserId!: number;\r\n @Prop() canViewTimeEntriesForEmployeesGlobal!: boolean;\r\n @Prop() canEditTimeEntriesForEmployeesGlobal!: boolean;\r\n @Prop() hasRightAllProjects!: boolean;\r\n\r\n projects: StSelectListItemGroup[] = [];\r\n loading = false;\r\n assignedProjectId: number = 0;\r\n\r\n get assignedProjects(): StSelectListItemGroup[] {\r\n let res: StSelectListItemGroup[] = [];\r\n\r\n for (let customer of this.projects) {\r\n let selectedProjects = customer.items?.filter(x => this.editModels.map(y => y.projectId).some(y => y == x.id)) ?? [];\r\n\r\n if (selectedProjects.length) {\r\n res.push({groupName: customer.groupName, items: selectedProjects} as StSelectListItemGroup);\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n get unassignedProjects(): StSelectListItemGroup[] {\r\n let res: StSelectListItemGroup[] = [];\r\n\r\n for (let customer of this.projects) {\r\n let unselectedProjects = customer.items?.filter(x => !this.editModels.map(y => y.projectId).some(y => y == x.id)) ?? [];\r\n\r\n if (unselectedProjects.length) {\r\n res.push({groupName: customer.groupName, items: unselectedProjects} as StSelectListItemGroup);\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n get editModels() {\r\n return this.value;\r\n }\r\n\r\n set editModels(data: ProjectStaffEditModel[]) {\r\n this.$emit('input', data);\r\n }\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n this.projects = await stProjectApi.getSelectListForProjectAssignment(ProjectFilter.fromJS({}));\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n canViewTimeEntriesEmployee(projectId: number) {\r\n return this.editModels.find(x => x.projectId == projectId)?.canViewAllProjectTimeEntries;\r\n }\r\n\r\n canEditTimeEntriesEmployee(projectId: number) {\r\n return this.editModels.find(x => x.projectId == projectId)?.canEditAllProjectTimeEntries;\r\n }\r\n\r\n toggleCanViewTimeEntriesEmployee(projectId: number) {\r\n let currentVal = this.editModels.find(x => x.projectId == projectId)!.canViewAllProjectTimeEntries;\r\n\r\n this.editModels.find(x => x.projectId == projectId)!.canViewAllProjectTimeEntries = !currentVal;\r\n }\r\n\r\n toggleCanEditTimeEntriesEmployee(projectId: number) {\r\n let currentVal = this.editModels.find(x => x.projectId == projectId)!.canEditAllProjectTimeEntries;\r\n\r\n this.editModels.find(x => x.projectId == projectId)!.canEditAllProjectTimeEntries = !currentVal;\r\n\r\n if(this.canEditTimeEntriesEmployee(projectId) && !this.canViewTimeEntriesEmployee(projectId)){\r\n this.toggleCanViewTimeEntriesEmployee(projectId);\r\n }\r\n }\r\n\r\n unassignProject(projectId: number) {\r\n this.editModels.splice(this.editModels.findIndex(x => x.projectId == projectId), 1);\r\n }\r\n\r\n assignProject() {\r\n let newItem: ProjectStaffEditModel = ProjectStaffEditModel.fromJS({\r\n projectId: this.assignedProjectId,\r\n appUserId: this.appUserId,\r\n canViewAllProjectTimeEntries: false\r\n });\r\n\r\n this.editModels.push(newItem);\r\n\r\n this.assignedProjectId = 0;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserProjectStaffEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserProjectStaffEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppUserProjectStaffEdit.vue?vue&type=template&id=99b16936&\"\nimport script from \"./AppUserProjectStaffEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppUserProjectStaffEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-tabs\"},[(_vm.tabs && _vm.tabs.length === 1 && !_vm.renderForSingleTab)?_vm._t(_vm.activeTab):[_c('div',{staticClass:\"tab-header\"},[_c('div',{staticClass:\"flex items-center\"},_vm._l((_vm.tabs),function(tab){return _c('div',{key:tab.TabName,staticClass:\"rounded-t tab-header-item\",class:[{ active: _vm.activeTab === tab.TabName, disabled: tab.Disabled }, _vm.successButtonColor],on:{\"click\":function($event){return _vm.changeTab(tab)}}},[_vm._t(tab.TabName + 'Header',function(){return [_vm._v(\" \"+_vm._s(_vm.$t(tab.TabName))+\" \")]})],2)}),0),_c('div',[_vm._t(\"badge\")],2)]),_c('div',{staticClass:\"tab-content relative p-8\",staticStyle:{\"min-height\":\"150px\"}},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"centered\":true}}),_c('st-loading',{attrs:{\"delayLoading\":_vm.delayLoading,\"centered\":true}}),_vm._l((_vm.tabs),function(tab){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === tab.TabName),expression:\"activeTab === tab.TabName\"}],key:tab.TabName},[_vm._t(tab.TabName)],2)})],2)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport { TabModel } from '@/components/tabs/tab-model';\nimport { successButtonColorClass } from '@/utlitities/color';\nimport { UserStore } from '@/store/user-module';\n\n@Component({\n components: {},\n})\nexport default class StTabs extends Vue {\n @Prop() tabs!: TabModel[];\n @Prop() value!: string;\n @Prop({ default: false }) renderForSingleTab!: boolean;\n @Prop() loading!: boolean;\n @Prop() delayLoading!: boolean;\n\n get activeTab() {\n return this.value;\n }\n\n get successButtonColor() {\n return successButtonColorClass(UserStore.userSettings.successButtonColor);\n }\n\n changeTab(tab: TabModel) {\n if (!tab.Disabled) {\n this.$emit('input', tab.TabName);\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTabs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StTabs.vue?vue&type=template&id=4e818875&\"\nimport script from \"./StTabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./StTabs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StTabs.vue?vue&type=style&index=0&id=4e818875&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticClass:\"st-table\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"min-width\":\"300px\"}}),_c('th',[_vm._v(_vm._s(_vm.$t('Administrator')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Manager')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Mitarbeiter')))])])]),_c('tbody',[_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Zeiten erfassen')))]),_vm._m(0),_vm._m(1),_vm._m(2)]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Zeiten aller Mitarbeiter sehen')))]),_vm._m(3),_vm._m(4),(_vm.useProjectTimeTracking)?_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('wenn ausgewählt')))]):_c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Zeiten aller Mitarbeiter bearbeiten')))]),_vm._m(5),_vm._m(6),_vm._m(7)]),(_vm.useProjectTimeTracking)?[_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Stammdaten (Kunden/ Projekte) bearbeiten')))]),_vm._m(8),_vm._m(9),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('wenn ausgewählt')))])]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Stundensätze und Umsätze sehen')))]),_vm._m(10),_vm._m(11),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('wenn ausgewählt')))])]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Rechnungen bearbeiten')))]),_vm._m(12),_vm._m(13),_vm._m(14)])]:_vm._e(),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter bearbeiten')))]),_vm._m(15),_vm._m(16),_vm._m(17)]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Abwesenheiten verwalten und genehmigen')))]),_vm._m(18),_vm._m(19),_vm._m(20)]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Abwesenheiten aller Mitarbeiter sehen')))]),_vm._m(21),_vm._m(22),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('wenn ausgewählt')))])]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Krankheit und sonstige Abwesenheiten selbst erfassen')))]),_vm._m(23),_vm._m(24),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('wenn ausgewählt')))])]),_c('tr',[_c('td',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Account-Einstellungen bearbeiten')))]),_vm._m(25),_vm._m(26),_vm._m(27)])],2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-check text-green-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"text-center\"},[_c('i',{staticClass:\"far fa-times text-red-500\"})])}]\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { UserStore } from \"@/store/user-module\";\n\n@Component({\n components: {},\n})\nexport default class RoleExplanationTable extends Vue {\n get useProjectTimeTracking(){\n return !UserStore.userSettings.useBasicTimeTracking;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleExplanationTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleExplanationTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RoleExplanationTable.vue?vue&type=template&id=093fe938&\"\nimport script from \"./RoleExplanationTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./RoleExplanationTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mt-10\"},[_c('div',{staticClass:\"usereditsection\"},[_vm._v(\" \"+_vm._s(_vm.$t('Interne Mitarbeiterkosten'))+\" \"),_c('st-button',{staticClass:\"small green\",attrs:{\"disabled\":_vm.isEditingItem},on:{\"click\":_vm.addNewItem}},[_vm._v(\" \"+_vm._s(_vm.$t('Neuer Eintrag'))+\" \")])],1),(!_vm.historyItems || !_vm.historyItems.length)?_c('div',{staticClass:\"alert alert-blue\"},[_vm._v(\" \"+_vm._s(_vm.$t('Keine internen Kosten für diesen Mitarbeiter vorhanden. Klicken Sie auf \"Neuer Eintrag\" um interne Kosten für den Mitarbeiter festzulegen.'))+\" \")]):_vm._e(),(_vm.historyItems && _vm.historyItems.length)?_c('table',{staticClass:\"st-table\"},[_vm._m(0),_c('thead',[(_vm.displayWarning)?_c('tr',[_c('td',{attrs:{\"colspan\":\"3\"}},[_c('div',{staticClass:\"alert alert-yellow text-center\"},[_c('i',{staticClass:\"far fa-exclamation-triangle fa-2x\"}),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('ACHTUNG! Änderungen, die Sie hier an bestehenden Einträgen vornehmen wirken sich auf die Projektberichte aus.'))+\" \")])])]):_vm._e(),_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Gültig ab'))+\" \"),_c('st-explanation',{staticClass:\"inline-block\"},[_vm._v(_vm._s(_vm.$t('Gilt automatisch für die Zukunft.')))])],1),_c('th',[_vm._v(_vm._s(_vm.$t('Interne Kosten pro Stunde')))]),_c('th')])]),_c('tbody',_vm._l((_vm.historyItems),function(item,index){return _c('tr',{key:item.val.id,staticClass:\"nohover\"},[(item.editMode)?[_c('td',{staticClass:\"align-top\"},[_c('st-datepicker',{attrs:{\"min-date\":\"2000-01-01\"},model:{value:(item.val.validFrom),callback:function ($$v) {_vm.$set(item.val, \"validFrom\", $$v)},expression:\"item.val.validFrom\"}})],1),_c('td',[_c('div',{staticClass:\"grid grid-cols-7\"},[_c('st-decimal-input',{staticClass:\"col-span-2\",attrs:{\"placeholder\":_vm.$t('Kosten/h')},model:{value:(item.val.costPerHour),callback:function ($$v) {_vm.$set(item.val, \"costPerHour\", $$v)},expression:\"item.val.costPerHour\"}})],1)]),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Abbrechen')},on:{\"click\":function($event){return _vm.cancel(item, index)}}},[_c('i',{staticClass:\"far fa-times\"})]),_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"btn-class\":\"bg-green-500 hover:bg-green-600 text-white\",\"tooltipText\":_vm.$t('Übernehmen')},on:{\"click\":function($event){return _vm.saveItem(item)}}},[_c('i',{staticClass:\"far fa-check\"})])],1)]:[_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.val.validFrom))+\" \"),(_vm.value.filter(function (_) { return _.validFrom === item.val.validFrom; }).length > 1)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Pro Tag darf es nur einen Eintrag geben')),expression:\"$t('Pro Tag darf es nur einen Eintrag geben')\"}],staticClass:\"far fa-exclamation-triangle text-red-400 ml-4 mr-4\"}):_vm._e()]),_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(item.val.costPerHour))+\" \")]),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('div',{staticClass:\"flex items-center justify-end\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){item.editMode = true;\n _vm.displayWarning = true;}}},[_c('i',{staticClass:\"far fa-pencil-alt\"})]),_c('st-delete-button',{staticClass:\"inline-block\",on:{\"startDelete\":function($event){_vm.displayWarning = true},\"endDelete\":function($event){_vm.displayWarning=false},\"delete\":function($event){return _vm.remove(index)}}})],1)])]],2)}),0)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('colgroup',[_c('col',{staticStyle:{\"width\":\"20%\"}}),_c('col',{staticStyle:{\"width\":\"auto\"}}),_c('col',{staticStyle:{\"width\":\"15%\"}})])}]\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\nimport {AppUserInternalCostHistoryEditModel, WorkHoursDay} from '@/services/api/nswag/stapiclient_generated';\r\nimport {stAppUserInternalCostHistoryApi} from '@/services/st-api';\r\nimport { ObjectEditor } from \"@/utlitities/helper\";\r\n\r\n@Component({\r\n components: {},\r\n})\r\nexport default class AppUserInternalCostHistory extends Vue {\r\n @Prop() appUserId!: number;\r\n @Prop() value!: AppUserInternalCostHistoryEditModel[];\r\n\r\n historyItems: ObjectEditor[] = [];\r\n displayWarning = false;\r\n\r\n async mounted() {\r\n let unwatch = this.$watch('value', ()=>{\r\n this.value.forEach(x=>{\r\n this.historyItems.push(new ObjectEditor(x));\r\n unwatch();\r\n });\r\n });\r\n }\r\n\r\n saveItem(item: ObjectEditor){\r\n item.editMode = false;\r\n this.displayWarning = false;\r\n this.updateOutside();\r\n }\r\n\r\n cancel(item: ObjectEditor, index: number){\r\n this.displayWarning = false;\r\n if(item.isNew){\r\n this.remove(index);\r\n }else{\r\n item.reset();\r\n }\r\n }\r\n\r\n async updateOutside(){\r\n this.$emit('input', this.historyItems.map(x=>x.val));\r\n await this.$nextTick();\r\n this.historyItems = [];\r\n this.value.forEach(x=>{\r\n this.historyItems.push(new ObjectEditor(x));\r\n });\r\n }\r\n\r\n get isEditingItem() {\r\n return this.historyItems.filter((_) => _.editMode).length > 0;\r\n }\r\n\r\n remove(index: number) {\r\n this.historyItems.splice(index, 1);\r\n this.updateOutside();\r\n }\r\n\r\n async addNewItem() {\r\n let newItem = await stAppUserInternalCostHistoryApi.getNew(this.appUserId);\r\n let newHistoryItem = new ObjectEditor(newItem);\r\n newHistoryItem.editMode = true;\r\n newHistoryItem.isNew = true;\r\n this.historyItems.unshift(newHistoryItem);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserInternalCostHistory.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserInternalCostHistory.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppUserInternalCostHistory.vue?vue&type=template&id=932fd39a&\"\nimport script from \"./AppUserInternalCostHistory.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppUserInternalCostHistory.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mt-10\"},[_c('div',{staticClass:\"usereditsection\"},[_vm._v(\" \"+_vm._s(_vm.$t('Zielvorgabe abrechenbare Stunden'))+\" \"),_c('st-button',{staticClass:\"small green\",attrs:{\"disabled\":_vm.isEditingItem},on:{\"click\":_vm.addNewItem}},[_vm._v(\" \"+_vm._s(_vm.$t('Neuer Eintrag'))+\" \")])],1),(!_vm.historyItems || !_vm.historyItems.length)?_c('div',{staticClass:\"alert alert-blue\"},[_vm._v(\" \"+_vm._s(_vm.$t('Keine Zielvorgabe für die abrechenbaren Stunden für diesen Mitarbeiter vorhanden. Klicken Sie auf \"Neuer Eintrag\" um eine Zielvorgabe für den Mitarbeiter festzulegen.'))+\" \")]):_vm._e(),(_vm.historyItems && _vm.historyItems.length)?_c('table',{staticClass:\"st-table\"},[_vm._m(0),_c('thead',[(_vm.displayWarning)?_c('tr',[_c('td',{attrs:{\"colspan\":\"3\"}},[_c('div',{staticClass:\"alert alert-yellow text-center\"},[_c('i',{staticClass:\"far fa-exclamation-triangle fa-2x\"}),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('ACHTUNG! Änderungen, die Sie hier an bestehenden Einträgen vornehmen wirken sich auf die Berichte aus.'))+\" \")])])]):_vm._e(),_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('Gültig ab'))+\" \"),_c('st-explanation',{staticClass:\"inline-block\"},[_vm._v(_vm._s(_vm.$t('Gilt automatisch für die Zukunft.')))])],1),_c('th',[_vm._v(_vm._s(_vm.$t('Zielvorgabe abrechenbare Stunden in Prozent')))]),_c('th')])]),_c('tbody',_vm._l((_vm.historyItems),function(item,index){return _c('tr',{key:item.val.id,staticClass:\"nohover\"},[(item.editMode)?[_c('td',{staticClass:\"align-top\"},[_c('st-datepicker',{attrs:{\"min-date\":\"2000-01-01\",\"type\":\"month\"},model:{value:(item.val.validFrom),callback:function ($$v) {_vm.$set(item.val, \"validFrom\", $$v)},expression:\"item.val.validFrom\"}})],1),_c('td',[_c('div',{staticClass:\"grid grid-cols-7\"},[_c('st-decimal-input',{staticClass:\"col-span-2\",attrs:{\"placeholder\":_vm.$t('Prozent')},model:{value:(item.val.billableTargetPercent),callback:function ($$v) {_vm.$set(item.val, \"billableTargetPercent\", $$v)},expression:\"item.val.billableTargetPercent\"}})],1)]),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Abbrechen')},on:{\"click\":function($event){return _vm.cancel(item, index)}}},[_c('i',{staticClass:\"far fa-times\"})]),_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"btn-class\":\"bg-green-500 hover:bg-green-600 text-white\",\"tooltipText\":_vm.$t('Übernehmen')},on:{\"click\":function($event){return _vm.saveItem(item)}}},[_c('i',{staticClass:\"far fa-check\"})])],1)]:[_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.val.validFrom))+\" \"),(_vm.value.filter(function (_) { return _.validFrom === item.val.validFrom; }).length > 1)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Pro Tag darf es nur einen Eintrag geben')),expression:\"$t('Pro Tag darf es nur einen Eintrag geben')\"}],staticClass:\"far fa-exclamation-triangle text-red-400 ml-4 mr-4\"}):_vm._e()]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatNumber\")(item.val.billableTargetPercent))+\" %\")]),_c('td',{staticClass:\"whitespace-nowrap text-right\"},[_c('div',{staticClass:\"flex items-center justify-end\"},[_c('st-button-round',{staticClass:\"inline-block\",attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){item.editMode = true;\n _vm.displayWarning = true;}}},[_c('i',{staticClass:\"far fa-pencil-alt\"})]),_c('st-delete-button',{staticClass:\"inline-block\",on:{\"startDelete\":function($event){_vm.displayWarning = true},\"endDelete\":function($event){_vm.displayWarning = false},\"delete\":function($event){return _vm.remove(index)}}})],1)])]],2)}),0)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('colgroup',[_c('col',{staticStyle:{\"width\":\"20%\"}}),_c('col',{staticStyle:{\"width\":\"auto\"}}),_c('col',{staticStyle:{\"width\":\"15%\"}})])}]\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { AppUserBillableTargetHistoryEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAppUserBillableTargetHistoryApi } from '@/services/st-api';\nimport { ObjectEditor } from '@/utlitities/helper';\n\n@Component({\n components: {},\n})\nexport default class AppUserBillableTargetHistory extends Vue {\n @Prop() appUserId!: number;\n @Prop() value!: AppUserBillableTargetHistoryEditModel[];\n\n historyItems: ObjectEditor[] = [];\n displayWarning = false;\n\n async mounted() {\n let unwatch = this.$watch('value', () => {\n this.value.forEach((x) => {\n this.historyItems.push(new ObjectEditor(x));\n unwatch();\n });\n });\n }\n\n saveItem(item: ObjectEditor) {\n item.editMode = false;\n this.displayWarning = false;\n this.updateOutside();\n }\n\n cancel(item: ObjectEditor, index: number) {\n this.displayWarning = false;\n if (item.isNew) {\n this.remove(index);\n } else {\n item.reset();\n }\n }\n\n async updateOutside() {\n this.$emit(\n 'input',\n this.historyItems.map((x) => x.val)\n );\n await this.$nextTick();\n this.historyItems = [];\n this.value.forEach((x) => {\n this.historyItems.push(new ObjectEditor(x));\n });\n }\n\n get isEditingItem() {\n return this.historyItems.filter((_) => _.editMode).length > 0;\n }\n\n remove(index: number) {\n this.historyItems.splice(index, 1);\n this.updateOutside();\n }\n\n async addNewItem() {\n let newItem = await stAppUserBillableTargetHistoryApi.getNew(this.appUserId);\n let newHistoryItem = new ObjectEditor(newItem);\n newHistoryItem.editMode = true;\n newHistoryItem.isNew = true;\n this.historyItems.unshift(newHistoryItem);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserBillableTargetHistory.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUserBillableTargetHistory.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppUserBillableTargetHistory.vue?vue&type=template&id=0f8b64b4&\"\nimport script from \"./AppUserBillableTargetHistory.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppUserBillableTargetHistory.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport {\n AppUserBillableTargetHistoryEditModel,\n AppUserBillableTargetHistoryFilter,\n AppUserEditModel,\n AppUserHistoryEditModel,\n AppUserHistoryFilter,\n AppUserInternalCostHistoryEditModel,\n AppUserInternalCostHistoryFilter,\n AppUserRightEditModel,\n AppUserVacationHistoryEditModel,\n AppUserVacationHistoryFilter,\n AppUserViewModel,\n AuthorizedProjectList,\n ProjectStaffEditModel,\n ProjectStaffFilter,\n RightEnum,\n RoleViewModel,\n StSelectListItemGroup,\n} from '@/services/api/nswag/stapiclient_generated';\nimport {\n appUserRightApi,\n projectStaffApi,\n roleApi,\n stAppUserApi,\n stAppUserBillableTargetHistoryApi,\n stAppUserHistoryApi,\n stAppUserInternalCostHistoryApi,\n stAppUserVacationHistoryApi,\n stProjectApi,\n stPublicHolidayGroupApi,\n} from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport AppUserHistory from '@/views/User/History/AppUserHistory.vue';\nimport AppUserVacationHistory from '@/views/User/VacationHistory/AppUserVacationHistory.vue';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StSelect from '@/components/basic/StSelect.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport StExplanation from '@/components/basic/StExplanation.vue';\nimport AppUserProjectStaffEdit from '@/views/User/AppUserProjectStaffEdit.vue';\nimport { TabModel } from '@/components/tabs/tab-model';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport RoleExplanationTable from '@/views/User/RoleExplanationTable.vue';\nimport AppUserInternalCostHistory from '@/views/User/InternalCostHistory/AppUserInternalCostHistory.vue';\nimport AppUserBillableTargetHistory from '@/views/User/BillableTargetHistory/AppUserBillableTargetHistory.vue';\n\n@Component({\n components: {\n AppUserBillableTargetHistory,\n AppUserInternalCostHistory,\n RoleExplanationTable,\n StTabs,\n StExplanation,\n AppUserHistory,\n AppUserVacationHistory,\n SlideIn,\n StInput2,\n StSelect,\n StToggle,\n AppUserProjectStaffEdit,\n },\n})\nexport default class EditUser extends Vue {\n loading = false;\n userEditModel: AppUserEditModel = AppUserEditModel.fromJS({ email: '' });\n userId: number = 0;\n publicHolidayGroupOptions: StSelectListItemGroup[] = [];\n roles: RoleViewModel[] = [];\n possibleManager: AppUserViewModel[] = [];\n appUserRights: AppUserRightEditModel[] = [];\n authorizedProjects: AuthorizedProjectList = AuthorizedProjectList.fromJS({\n canAccessAllProjects: true,\n projects: [],\n });\n listPage = 'User';\n private saving: boolean = false;\n private historyItems: AppUserHistoryEditModel[] = [];\n private internalCostHistoryItems: AppUserInternalCostHistoryEditModel[] = [];\n private vacationHistoryItems: AppUserVacationHistoryEditModel[] = [];\n private billableTargetHistoryItems: AppUserBillableTargetHistoryEditModel[] = [];\n projectStaffEditModels: ProjectStaffEditModel[] = [];\n\n activeTabName = 'standard';\n\n get tabs(): TabModel[] {\n let res = [\n {\n TabName: 'standard',\n Disabled: false,\n },\n ];\n\n if (UserStore.userSettings.useAbsences) {\n res.push({\n TabName: 'vacation',\n Disabled: false,\n });\n }\n\n return res;\n }\n\n async roleChanged() {\n await this.loadAppUserRights();\n }\n\n get featureFlagAppUserDepartmentInfo(){\n return UserStore.userSettings.featureFlagAppUserDepartmentInfo;\n }\n\n get useEmployeeData() {\n return UserStore.userSettings.featureFlagEmployeeData;\n }\n\n get useProjectTimeTracking() {\n return !UserStore.userSettings.useBasicTimeTracking;\n }\n\n get filteredAppUserRights() {\n return this.appUserRights.filter((x) => !x.hidden) ?? [];\n }\n\n get canEditMasterData() {\n return this.appUserRights.some((x) => x.isMasterDataRight && x.isAllowed);\n }\n\n get selectedRole() {\n return this.roles.find((x) => x.id == this.userEditModel.roleId);\n }\n\n get hasAppUserRights() {\n return this.selectedRole?.hasAppUserRights;\n }\n\n get hasRightAllProjects() {\n return this.appUserRights.some((x) => x.rightEnum == RightEnum.CanEditTimeEntriesForAllProjects && x.isAllowed);\n }\n\n get canViewTimeEntriesForEmployees() {\n return this.appUserRights.some((x) => x.rightEnum == RightEnum.CanViewTimeEntriesForEmployees && x.isAllowed);\n }\n\n get canViewCustomerAndProjects() {\n return this.appUserRights.some((x) => x.rightEnum == RightEnum.CanViewCustomerAndProjects && x.isAllowed);\n }\n\n get canEditTimeEntriesForEmployees() {\n return this.appUserRights.some((x) => x.rightEnum == RightEnum.CanEditTimeEntriesForEmployees && x.isAllowed);\n }\n\n get noActiveProject() {\n return (\n (!this.hasRightAllProjects && !this.projectStaffEditModels.length) ||\n (this.authorizedProjects.projects?.length && this.authorizedProjects.projects?.every((x) => x.isArchived))\n );\n }\n\n get useTimeAccount() {\n return UserStore.userSettings.useTimeAccount;\n }\n\n get useInternalUserCost() {\n return UserStore.userSettings.useInternalUserCost;\n }\n\n get useBillableTarget() {\n return UserStore.userSettings.featureFlagBillableTarget;\n }\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n this.$router.push({ name: this.listPage });\n }\n\n async created() {\n this.loading = true;\n this.userId = parseInt(this.$route.params.id);\n }\n\n async mounted() {\n this.loading = true;\n this.openSlideIn();\n if (this.userId == 0) {\n this.userEditModel = await stAppUserApi.getNew();\n } else {\n this.userEditModel = await stAppUserApi.get(this.userId);\n this.authorizedProjects = await stProjectApi.getAuthorizedProjectListByAppUser(this.userId);\n }\n\n this.possibleManager = await stAppUserApi.getManagerList(this.userId);\n\n if (!this.userEditModel.timeRoundingInterval) {\n this.userEditModel.timeRoundingInterval = 15;\n }\n\n this.publicHolidayGroupOptions = await stPublicHolidayGroupApi.getGroupedSelectList();\n this.historyItems = await stAppUserHistoryApi.getList(AppUserHistoryFilter.fromJS({ appUserId: this.userEditModel.id }));\n this.internalCostHistoryItems = await stAppUserInternalCostHistoryApi.getList(AppUserInternalCostHistoryFilter.fromJS({ appUserId: this.userEditModel.id }));\n\n this.vacationHistoryItems = await stAppUserVacationHistoryApi.getList(AppUserVacationHistoryFilter.fromJS({ appUserId: this.userEditModel.id }));\n this.billableTargetHistoryItems = await stAppUserBillableTargetHistoryApi.getList(AppUserBillableTargetHistoryFilter.fromJS({ appUserId: this.userEditModel.id }));\n\n this.roles = await roleApi.getList();\n await this.loadAppUserRights();\n await this.loadProjectStaffEditModels();\n\n this.loading = false;\n await this.$nextTick();\n }\n\n get featureFlagPassiveUsers() {\n return UserStore.userSettings.featureFlagPassiveUsers;\n }\n\n get featureFlagMixedUsers() {\n return UserStore.userSettings.featureFlagMixedUsers;\n }\n\n rightIsDisabled(right: AppUserRightEditModel) {\n return right.rightEnum == RightEnum.CanEditTimeEntriesForAllProjects && (this.canEditMasterData || this.canViewCustomerAndProjects);\n }\n\n isCanViewTimeEntriesForEmployees(right: AppUserRightEditModel) {\n return right.rightEnum == RightEnum.CanViewTimeEntriesForEmployees;\n }\n\n isCanViewCustomerAndProjects(right: AppUserRightEditModel) {\n return right.rightEnum == RightEnum.CanViewCustomerAndProjects;\n }\n\n get canWriteAllEmployeesAndProjects() {\n return (\n this.appUserRights.find((x) => x.rightEnum == RightEnum.CanEditTimeEntriesForAllProjects)?.isAllowed &&\n this.appUserRights.find((x) => x.rightEnum == RightEnum.CanEditTimeEntriesForEmployees)?.isAllowed\n );\n }\n\n rightChanged(right: AppUserRightEditModel) {\n if (right.isMasterDataRight && this.canEditMasterData) {\n this.appUserRights.find((x) => x.rightEnum == RightEnum.CanEditTimeEntriesForAllProjects)!.isAllowed = true;\n this.appUserRights.find((x) => x.rightEnum == RightEnum.CanViewCustomerAndProjects)!.isAllowed = true;\n }\n\n if (right.rightEnum == RightEnum.CanViewCustomerAndProjects && this.canViewCustomerAndProjects) {\n this.appUserRights.find((x) => x.rightEnum == RightEnum.CanEditTimeEntriesForAllProjects)!.isAllowed = true;\n }\n\n if (this.canWriteAllEmployeesAndProjects) {\n this.appUserRights.find((x) => x.rightEnum == RightEnum.CanViewTimeEntriesForEmployees)!.isAllowed = true;\n }\n }\n\n async loadProjectStaffEditModels() {\n if (this.hasAppUserRights) {\n this.projectStaffEditModels = await projectStaffApi.getEditModels(ProjectStaffFilter.fromJS({ appUserId: this.userId }));\n }\n }\n\n async loadAppUserRights() {\n if (this.hasAppUserRights) {\n this.appUserRights = await appUserRightApi.getEditModels(this.userEditModel.id!);\n }\n }\n\n async submit() {\n try {\n this.saving = true;\n let appUserid = 0;\n let successText = 'Erfolgreich gespeichert';\n\n if (this.userEditModel.id == 0) {\n appUserid = await stAppUserApi.post(this.userEditModel);\n successText = 'Benutzer angelegt und Einladung per E-Mail versendet';\n } else {\n appUserid = await stAppUserApi.put(this.userEditModel.id, this.userEditModel);\n }\n\n await stAppUserHistoryApi.merge(appUserid, this.historyItems);\n await stAppUserInternalCostHistoryApi.merge(appUserid, this.internalCostHistoryItems);\n await stAppUserVacationHistoryApi.merge(appUserid, this.vacationHistoryItems);\n await stAppUserBillableTargetHistoryApi.merge(appUserid, this.billableTargetHistoryItems);\n\n if (this.hasAppUserRights) {\n await appUserRightApi.merge(appUserid, this.appUserRights);\n await projectStaffApi.mergeByAppUser(appUserid, this.projectStaffEditModels);\n }\n await UserStore.reloadStore();\n\n notifySuccess(successText);\n\n this.closeSlideIn();\n } finally {\n this.saving = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditUser.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditUser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditUser.vue?vue&type=template&id=fc535732&\"\nimport script from \"./EditUser.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditUser.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { AppUserFilter, AppUserViewModel, DeleteResultModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAppUserApi, stProjectTaskApi } from '@/services/st-api';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport EditUser from '@/views/User/EditUser.vue';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport StSearch from '@/components/basic/StSearch.vue';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport UserModule, { UserStore } from '@/store/user-module';\nimport { DialogResponse } from 'vue-tailwind/dist/components/TDialog';\n\nComponent.registerHooks(['beforeRouteUpdate']);\n\n@Component({\n components: {\n StBadge,\n EditUser,\n SlideIn,\n StToggle,\n StSearch,\n },\n})\nexport default class AppUser extends Vue {\n users: AppUserViewModel[] = [];\n showArchived: boolean = false;\n delLoading = false;\n sendingInvitationId = 0;\n search: string = '';\n userStore: UserModule = UserStore;\n\n loading = true;\n delayLoading = false;\n archivedLoadingId = 0;\n\n get filteredUsers() {\n return this.users.filter((user) => user.name?.toLowerCase().indexOf(this.search.toLowerCase()) != -1);\n }\n\n get disableAddUsers() {\n if (UserStore.userSettings.paymentStatus.isInTrial)\n return false;\n\n if (\n UserStore.userSettings.paymentStatus.licensedUserCount <= this.users.filter(_=>!_.isArchived && !_.isPassiveUser).length &&\n UserStore.userSettings.paymentStatus.licensedUserCountBasic <= this.users.filter(_=>!_.isArchived && _.isPassiveUser).length\n )\n return true;\n\n return false;\n }\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n next();\n if (to.name == 'User') {\n try {\n this.delayLoading = true;\n await this.loadData();\n } finally {\n this.delayLoading = false;\n }\n }\n }\n\n async mounted() {\n try {\n this.loading = true;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async toggleShowArchived() {\n try {\n this.loading = true;\n this.showArchived = !this.showArchived;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async toggleArchive(id: number) {\n try {\n this.archivedLoadingId=id;\n const item = await stAppUserApi.get(id);\n item.isArchived = !item.isArchived;\n await stAppUserApi.put(id, item);\n await this.loadData();\n\n if (item.isArchived) {\n notifySuccess('Erfolgreich archiviert');\n } else {\n notifySuccess('Erfolgreich aktiviert');\n }\n } finally {\n this.archivedLoadingId=0;\n }\n }\n\n editUser(id: number) {\n this.$router.push({ name: 'EditUser', params: { id: id.toString() } });\n }\n\n async loadData() {\n const filter: AppUserFilter = AppUserFilter.fromJS({ isArchived: this.showArchived });\n this.users = await stAppUserApi.getList(filter);\n }\n\n async resendInvitation(id: number) {\n this.sendingInvitationId = id;\n try {\n await stAppUserApi.resendInvitation(id);\n notifySuccess('Einladung versendet');\n } finally {\n this.sendingInvitationId = 0;\n }\n }\n\n async userDelete(id: number) {\n try {\n this.delLoading = true;\n const result = await stAppUserApi.delete(id, false);\n if (result.confirmationNeeded) {\n const res: DialogResponse = await this.$dialog.confirm({\n title: this.$t('Bestätigung').toString(),\n text: result.message,\n variant: 'danger',\n okButtonText: this.$t('Löschen').toString(),\n cancelButtonText: this.$t('Abbrechen').toString()\n });\n if (res.isOk) {\n await stAppUserApi.delete(id, true);\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } else {\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } finally {\n this.delLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUser.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppUser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppUser.vue?vue&type=template&id=de5e796a&\"\nimport script from \"./AppUser.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppUser.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page pt-8\"},[_c('div',[_c('div',{staticClass:\"flex justify-between items-center\"},[_c('div',[(_vm.newsModel.userDisplayText)?_c('a',{staticClass:\"bg-primary-normal text-onbgprimary-normal rounded cursor-pointer shadow mb-4 py-1 px-2 text-sm font-bold hidden md:block\",attrs:{\"href\":_vm.newsModel.url,\"target\":\"_blank\"},on:{\"click\":_vm.newsClicked}},[_c('i',{staticClass:\"far fa-layer-plus mr-4\"}),_vm._v(\" \"+_vm._s(_vm.newsModel.userDisplayText)+\" \")]):_vm._e()]),_c('div',{staticClass:\"w-full mt-8 md:mt-0 sm:w-1/2 lg:w-1/3 h-full flex items-center\"},[_c('user-select',{attrs:{\"right-enum\":_vm.canEditTimeEntriesEnumValue},on:{\"input\":_vm.userChanged},model:{value:(_vm.selectedUserId),callback:function ($$v) {_vm.selectedUserId=$$v},expression:\"selectedUserId\"}})],1)]),_c('date-slider',{attrs:{\"days\":_vm.items,\"value\":_vm.selectedDate,\"loading\":_vm.loading},on:{\"input\":_vm.changeSelectedDate}}),(_vm.useTimeApproval && !_vm.isDifferentUser)?_c('time-entries-approval',{attrs:{\"currentDate\":_vm.selectedDate},on:{\"approvalChanged\":_vm.approvalChanged}}):_vm._e(),(_vm.useTimeAccountSummary)?_c('time-account-summary'):_vm._e(),(!_vm.isDifferentUser)?_c('stopwatch-old-layout'):_vm._e(),_c('div',{staticClass:\"st-list-container relative\"},_vm._l((_vm.items),function(day){return (_vm.isSelectedDate(day.entryDay) || _vm.showFullWeek)?_c('div',{staticClass:\"st-list-item shadow-none\",staticStyle:{\"background\":\"transparent\"},attrs:{\"id\":day.entryDay.substring(0, 10)}},[_c('div',{staticClass:\"st-list-item-content items-center shadow mt-4 mb-0 text-base font-bold\",class:{ 'bg-gray-400': !_vm.isSelectedDate(day.entryDay), gradient: _vm.isSelectedDate(day.entryDay) },on:{\"click\":function($event){return _vm.collapse(day)}}},[_c('div',{staticClass:\"whitespace-nowrap col-span-6 sm:col-span-4 lg:col-span-7 flex items-center ml-4\"},[_c('span',[_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(day.entryDay,'cccc'))+\",\")]),_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(day.entryDay))+\" \")])]),_c('div',{staticClass:\"whitespace-nowrap justify-self-end hidden sm:block sm:col-span-2 lg:col-span-1\",class:{ 'sm:col-span-3 lg:col-span-2 justify-self-end': !_vm.canViewRates || !_vm.useProjectTimeTracking}},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHours\")(day.durationMinutes))+\" h \")]),(_vm.canViewRates && _vm.useProjectTimeTracking)?_c('div',{staticClass:\"justify-self-end hidden sm:flex sm:col-span-2 lg:col-span-1 flex-col items-end\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatNumber\")(day.revenue))+\" \"+_vm._s(_vm.currency))]),(day.revenueNotBillable)?_c('span',{staticClass:\"text-sm line-through\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(day.revenueNotBillable))+\" \"+_vm._s(_vm.currency))]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"flex justify-end col-span-6 sm:col-span-4 lg:col-span-3\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.accountIsLocked ? _vm.$t('Der Account ist gesperrt') : ''),expression:\"accountIsLocked ? $t('Der Account ist gesperrt') : ''\"}]},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(day.disabledReason),expression:\"day.disabledReason\"}]},[_c('st-button',{staticClass:\"green\",attrs:{\"icon\":\"far fa-clock\",\"data-v-tour\":\"2\",\"disabled\":_vm.accountIsLocked || day.isDisabled},on:{\"click\":function($event){$event.stopPropagation();return _vm.addTimeEntry(day.entryDay)}}},[_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Neuer Zeiteintrag'))+\" \")]),_c('span',{staticClass:\"inline md:hidden\"},[_vm._v(\" \"+_vm._s(_vm.$t('Zeiteintrag'))+\" \")])]),(_vm.useManualPause)?_c('st-button',{staticClass:\"green ml-4\",attrs:{\"icon\":\"far fa-pause-circle\",\"disabled\":_vm.accountIsLocked || day.isDisabled},on:{\"click\":function($event){$event.stopPropagation();return _vm.addPauseEntry(day.entryDay)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Pause'))+\" \")]):_vm._e()],1)])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.displayDay(day)),expression:\"displayDay(day)\"}],staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading,\"absolute\":true,\"centered\":true,\"overlay-class\":\"opacity-80\"}}),(day.appUserDay.hasViolatedValidationRules)?_c('div',{staticClass:\"cursor-auto\"},_vm._l((day.appUserDay.violatedValidationRules),function(violatedRule){return _c('div',{key:violatedRule.ruleDescription,staticClass:\"alert alert-white text-red-600 font-bold text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(violatedRule.ruleDescription))+\" \")])}),0):_vm._e(),(!day.timeEntries.length)?_c('div',{staticClass:\"st-list-item cursor-auto mt-0\"},[(day.appUserDay.dayDescription.isWorkDay)?_c('div',{staticClass:\"empty-list-container\",class:{ small: _vm.showFullWeek }},[_c('i',{staticClass:\"far fa-clock\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Zeiteinträge')))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Für diesen Tag sind noch keine Zeiteinträge vorhanden.')))])]):_c('div',{staticClass:\"empty-list-container\",class:{ small: _vm.showFullWeek }},[(day.appUserDay.isVacation)?_c('i',{staticClass:\"far fa-island-tropical\"}):(day.appUserDay.isSick)?_c('i',{staticClass:\"far fa-hospital\"}):(day.appUserDay.isPublicHoliday)?_c('i',{staticClass:\"far fa-island-tropical\"}):_c('i',{staticClass:\"far fa-sticky-note\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t(day.appUserDay.dayDescription.description)))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('...es können aber Zeiteinträge erfasst werden...')))])]),(!day.isDisabled)?_c('div',{staticClass:\"flex justify-around pb-8\"},[_c('div',{staticClass:\"flex sm:block flex-col\"},[_c('st-button',{staticClass:\"small white sm:mr-2 mb-4 sm:mb-0\",attrs:{\"loading\":_vm.copyLastWorkdayLoading},on:{\"click\":function($event){return _vm.copyLastWorkday(day)}}},[_c('i',{staticClass:\"far fa-hammer\"}),_vm._v(\" \"+_vm._s(_vm.$t('Von letztem Arbeitstag kopieren'))+\" \")]),_c('st-button',{staticClass:\"small white sm:ml-2\",attrs:{\"loading\":_vm.copyWeekBeforeLoading},on:{\"click\":function($event){return _vm.copyFromDayWeekBefore(day)}}},[_c('i',{staticClass:\"far fa-calendar-alt\"}),_vm._v(\" \"+_vm._s(_vm.$t('Vom Tag der Vorwoche kopieren'))+\" \")])],1)]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"relative\"},[_vm._l((day.timeEntries),function(entry){return [(entry.timeEntryType.type === 'TimeEntry')?_c('time-entry',{attrs:{\"entry\":entry}}):_vm._e(),(entry.timeEntryType.type === 'Pause')?_c('pause-entry',{attrs:{\"entry\":entry}}):_vm._e(),(entry.timeEntryType.type === 'AutoPause')?_c('auto-pause-entry',{attrs:{\"entry\":entry}}):_vm._e()]})],2)],1)]):_vm._e()}),0)],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-8 bg-white rounded-large shadow flex flex-col items-center select-none\",staticStyle:{\"min-height\":\"123px\"}},[_c('div',{staticClass:\"text-lg font-bold mb-8 flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('KW'))+\" \"+_vm._s(_vm.selectedDate.weekNumber)+\" - \"),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.selectedDate.toFormat('cccc'))+\", \")]),_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.selectedDate))+\" \"),_c('st-datepicker',{attrs:{\"value\":_vm.selectedDate},on:{\"input\":_vm.changeDayIso}},[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Datum auswählen'),expression:\"'Datum auswählen'\"}],staticClass:\"far fa-calendar-alt text-lg font-bold ml-8 cursor-pointer\"})]),_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Gehe zu heute'),expression:\"'Gehe zu heute'\"}],staticClass:\"far fa-history text-lg font-bold ml-8 cursor-pointer\",on:{\"click\":function($event){return _vm.goToToday()}}})],1),_c('div',{staticClass:\"flex justify-around items-center\"},[_c('div',{staticClass:\"date-slider-item text-center cursor-pointer hidden md:block\",on:{\"click\":function($event){return _vm.moveWeek(-1)}}},[_c('i',{staticClass:\"fa fa-angle-left fa-3x mr-10\"})]),_c('div',{staticClass:\"date-slider-item text-center cursor-pointer md:hidden\",on:{\"click\":function($event){return _vm.moveDay(-1)}}},[_c('i',{staticClass:\"fa fa-angle-left fa-3x mr-10\"})]),_c('div',{staticClass:\"flex\"},_vm._l((_vm.dtDays),function(day){return _c('date-slider-item',{key:day.toISODate(),staticClass:\"date-slider-item md:ml-6 first:ml-0\",attrs:{\"active\":_vm.isSelectedDate(day),\"day\":_vm.getTimeEntryDay(day),\"loading\":_vm.loading},on:{\"click\":function($event){return _vm.changeDay(day)}}})}),1),_c('div',{staticClass:\"date-slider-item text-center cursor-pointer hidden md:block\",attrs:{\"data-v-tour\":\"1\"},on:{\"click\":function($event){return _vm.moveWeek(1)}}},[_c('i',{staticClass:\"fa fa-angle-right fa-3x ml-10\"})]),_c('div',{staticClass:\"date-slider-item text-center cursor-pointer md:hidden\",on:{\"click\":function($event){return _vm.moveDay(1)}}},[_c('i',{staticClass:\"fa fa-angle-right fa-3x ml-10\"})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-base font-normal shadow hover:shadow-md cursor-pointer relative item\",class:{ 'triangle-green': _vm.hasEntries && !_vm.hasViolatedRules, 'triangle-red': _vm.hasViolatedRules, active: _vm.active },on:{\"click\":function($event){return _vm.$emit('click')}}},[_c('div',{staticClass:\"text-center py-1 font-bold\",class:{ 'bg-primary-normal text-onbgprimary-normal': _vm.primaryColorIsDark, 'text-gray-100 bg-blue-500': !_vm.primaryColorIsDark },staticStyle:{\"height\":\"20px\"}},[_vm._v(\" \"+_vm._s(_vm.dayDateTime.toFormat('ccc'))+\" \")]),_c('div',{staticClass:\"w-full flex flex-grow flex-col items-center justify-around py-1 border border-t-0 border-gray-300 bg-white transition duration-300\",class:{\n 'bg-secondary-normal text-onbgsecondary-normal': _vm.active && _vm.isWorkDay,\n 'bg-gray-500 text-gray-100': _vm.active && !_vm.isWorkDay,\n 'bg-gray-300': !_vm.isWorkDay,\n 'font-bold': _vm.active,\n },staticStyle:{\"height\":\"44px\"}},[_c('span',{},[_c('span',{class:{ 'ml-6 mr-5': !!_vm.badge }},[_vm._v(_vm._s(_vm.dayDateTime.toFormat('dd')))]),_c('sup',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(_vm.badge))])]),_c('span',[_vm._v(_vm._s(_vm.dayDateTime.toFormat('MMM')))])]),(_vm.useTimeApproval)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.approvalTooltip),expression:\"approvalTooltip\"}],staticClass:\"mt-2 rounded text-center\",class:_vm.approvalBgColor},[_c('i',{class:_vm.approvalIcon})]):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AppUserDayValidationRuleEnum, AppUserDayViewModel } from '@/services/api/nswag/stapiclient_generated';\r\n\r\nexport function GetTeamOverviewApprovalIcon(day: AppUserDayViewModel, enums: AppUserDayValidationRuleEnum[]) {\r\n const warnings = day.violatedValidationRules.filter((x) => enums.includes(x.ruleEnum));\r\n if (!warnings.length) {\r\n return null;\r\n }\r\n\r\n return warnings.map((x) => x.ruleDescription).join('

');\r\n}\r\n\r\nexport const PauseWarningEnums = [AppUserDayValidationRuleEnum.PauseRuleViolated, AppUserDayValidationRuleEnum.PauseValidationNotPossible];\r\nexport const FreeDayWarningEnums = [\r\n AppUserDayValidationRuleEnum.TimeEntriesOnFreeDay,\r\n AppUserDayValidationRuleEnum.TimeEntriesOnSundayOrPublicHoliday,\r\n AppUserDayValidationRuleEnum.TimeEntriesOnAbsenceDay,\r\n];\r\n\r\nexport const DailyWorkTimeWarningEnums = [\r\n AppUserDayValidationRuleEnum.MaxDailyHoursExceeded,\r\n AppUserDayValidationRuleEnum.RestTimeUndershot,\r\n AppUserDayValidationRuleEnum.RestTimeValidationNotPossible,\r\n];\r\n\r\nexport const TimeEntryWarningEnums = [AppUserDayValidationRuleEnum.NoTimeEntries, AppUserDayValidationRuleEnum.ConflictingTimeEntries];\r\n\r\nexport const NotCriticalWarningEnums = [AppUserDayValidationRuleEnum.NoTimeEntries];\r\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { DateTime } from 'luxon';\nimport { TimeEntryDay, TimeEntryDayApprovalEnum } from '@/services/api/nswag/stapiclient_generated';\nimport { UserStore } from '@/store/user-module';\nimport { NotCriticalWarningEnums } from \"@/views/TeamOverview/team-overview-approval-icon\";\n\n@Component({\n components: {},\n})\nexport default class DateSliderItem extends Vue {\n @Prop() active!: boolean;\n @Prop() day!: TimeEntryDay;\n @Prop() loading: boolean;\n\n get isWorkDay() {\n return this.day?.appUserDay?.dayDescription?.isWorkDay;\n }\n\n get useTimeApproval() {\n return UserStore.userSettings.needsTimeEntryApproval;\n }\n\n get approvalBgColor() {\n if (this.day?.appUserDay?.timeEntryDayApproval) {\n switch (this.day.appUserDay.timeEntryDayApproval.approvalEnum) {\n case TimeEntryDayApprovalEnum.IsDeclined:\n return 'bg-red-500';\n case TimeEntryDayApprovalEnum.IsApproved:\n return 'bg-green-500';\n case TimeEntryDayApprovalEnum.IsSubmitted:\n return 'bg-orange-500';\n case TimeEntryDayApprovalEnum.IsSubmittedImplicitly:\n return 'bg-orange-300';\n }\n }\n return '';\n }\n\n get approvalIcon(): string {\n if (this.loading) {\n return 'far fa-spinner fa-spin';\n }\n\n if (this.day?.appUserDay?.timeEntryDayApproval) {\n switch (this.day.appUserDay.timeEntryDayApproval.approvalEnum) {\n case TimeEntryDayApprovalEnum.IsDeclined:\n return 'far fa-times text-white';\n case TimeEntryDayApprovalEnum.IsApproved:\n return 'far fa-check text-white';\n case TimeEntryDayApprovalEnum.IsSubmitted:\n return 'far fa-inbox-out text-white';\n case TimeEntryDayApprovalEnum.IsSubmittedImplicitly:\n return 'far fa-lock text-white';\n default:\n return 'far fa-user';\n }\n }\n\n return 'fa fa-user';\n }\n\n get approvalTooltip(): any {\n let text = '';\n\n if (this.day?.appUserDay?.timeEntryDayApproval) {\n switch (this.day.appUserDay.timeEntryDayApproval.approvalEnum) {\n case TimeEntryDayApprovalEnum.IsDeclined:\n text = 'Abgelehnt
';\n break;\n case TimeEntryDayApprovalEnum.IsApproved:\n text = 'Freigegeben
';\n break;\n case TimeEntryDayApprovalEnum.IsSubmitted:\n text = 'Abgegeben';\n break;\n case TimeEntryDayApprovalEnum.IsSubmittedImplicitly:\n text = 'Gesperrt';\n break;\n default:\n return '';\n }\n }\n\n if (this.day?.appUserDay?.timeEntryDayApproval?.comment) {\n text += '' + this.day.appUserDay.timeEntryDayApproval.comment;\n }\n\n return {\n content: text,\n placement: 'bottom'\n };\n }\n\n get primaryColorIsDark() {\n return UserStore.primaryColorIsDark;\n }\n\n get badge() {\n return this.day?.appUserDay?.dayDescription?.badgeText;\n }\n\n get hasViolatedRules(){\n return this.day?.appUserDay?.violatedValidationRules?.filter(x=>!NotCriticalWarningEnums.includes(x?.ruleEnum))?.length;\n }\n\n get hasEntries() {\n return this.day?.timeEntries?.length;\n }\n\n get dayDateTime() {\n if (!this.day?.entryDay) {\n return UserStore.userNowDateTime;\n }\n\n return DateTime.fromISO(this.day.entryDay!);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSliderItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSliderItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateSliderItem.vue?vue&type=template&id=3fbc31ea&scoped=true&\"\nimport script from \"./DateSliderItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./DateSliderItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DateSliderItem.vue?vue&type=style&index=0&id=3fbc31ea&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fbc31ea\",\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport DateSliderItem from '@/views/TimeEntries/Components/DateSliderItem.vue';\nimport { TimeEntryDay } from '@/services/api/nswag/stapiclient_generated';\nimport { DateTime } from 'luxon';\nimport {dateEqual, startOfWeek, endOfWeek, DateForEach} from '@/utlitities/helper';\nimport {UserStore} from '@/store/user-module';\n\n@Component({\n components: {\n DateSliderItem,\n },\n})\nexport default class DateSlider extends Vue {\n @Prop() days!: TimeEntryDay[];\n @Prop() value!: DateTime;\n @Prop() loading!: boolean;\n\n get selectedDate() {\n return this.value ?? UserStore.userNowDateTime;\n }\n\n get dtDays(){\n let startOfWeekDt = startOfWeek(this.selectedDate);\n let endOfWeekDt = endOfWeek(this.selectedDate);\n\n return DateForEach(startOfWeekDt, endOfWeekDt);\n }\n\n getTimeEntryDay(day: DateTime){\n return this.days.find(x=>dateEqual(DateTime.fromISO(x.entryDay ?? ''), day)) ?? TimeEntryDay.fromJS({entryDay: day});\n }\n\n @Emit('input')\n moveWeek(weekOffset: number) {\n return this.selectedDate.plus({ weeks: weekOffset });\n }\n\n @Emit('input')\n moveDay(dayOffset: number) {\n return this.selectedDate.plus({ days: dayOffset });\n }\n\n @Emit('input')\n changeDay(date: DateTime) {\n return date;\n }\n\n @Emit('input')\n changeDayIso(dateIso: string) {\n return DateTime.fromISO(dateIso);\n }\n\n @Emit('input')\n goToToday() {\n return UserStore.userNowDateTime;\n }\n\n isSelectedDate(entryDay: DateTime) {\n return dateEqual(this.selectedDate, entryDay);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSlider.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSlider.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateSlider.vue?vue&type=template&id=7bee50f4&\"\nimport script from \"./DateSlider.vue?vue&type=script&lang=ts&\"\nexport * from \"./DateSlider.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"delayLoading\":_vm.delayLoading,\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-clock mr-4\"}),(_vm.timeEntry.id)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Zeiteintrag bearbeiten'))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t('Neuen Zeiteintrag anlegen')))])]},proxy:true}])},[_c('div',[_c('vv-observer',{ref:\"timeEntryForm\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar handleSubmit = ref.handleSubmit;\nreturn [(_vm.timeEntry.isMigratedTimeEntryWithPause)?_c('div',{staticClass:\"p-4 bg-yellow-200 rounded-xl\"},[_vm._v(\" \"+_vm._s(_vm.$t( 'Achtung! Dieser Zeiteintrag wurde von SpikeTime 2 übernommen. Durch die Übernahme wurde die darin enthaltene Pause herausgerechnet. Ein separater Pausen-Eintrag wurde erstellt. Wenn Sie den Zeiteintrag speichern, dann ändert sich die berechnete Dauer des Zeiteintrages.' ))+\" \")]):_vm._e(),_c('form',{staticClass:\"grid grid-cols-1\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.submit)}}},[(_vm.fromList)?_c('div',{staticClass:\"grid grid-cols-12 gap-4 form-group\"},[_c('div',{staticClass:\"col-span-12 sm:col-span-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Datum')))]),_c('st-datepicker',{attrs:{\"minDate\":_vm.restrictDateFrom,\"maxDate\":_vm.restrictDateTo},model:{value:(_vm.timeEntry.entryDate),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"entryDate\", $$v)},expression:\"timeEntry.entryDate\"}})],1)]):_vm._e(),(_vm.fromList && _vm.canEditTimeEntriesForEmployees)?_c('div',{staticClass:\"grid grid-cols-12 gap-4 form-group\"},[_c('div',{staticClass:\"col-span-12\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter')))]),_c('st-select',{attrs:{\"clearable\":false,\"options\":_vm.users,\"idProp\":\"id\",\"name\":\"Mitarbeiter\"},on:{\"input\":_vm.loadPauseRules},model:{value:(_vm.timeEntry.appUserId),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"appUserId\", $$v)},expression:\"timeEntry.appUserId\"}})],1)]):_vm._e(),(!_vm.fromList && _vm.showAdditionalInsertAppUserSelect && !_vm.timeEntry.id && _vm.myself && _vm.usersWoSelf && _vm.usersWoSelf.length)?_c('div',{staticClass:\"grid grid-cols-12 gap-4 form-group\"},[_c('div',{staticClass:\"col-span-12\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Gruppenerfassung')))]),_c('st-select',{attrs:{\"multiple\":true,\"options\":_vm.usersWoSelf,\"idProp\":\"id\",\"placeholder\":_vm.$t('Benutzer für Gruppenerfassung auswählen'),\"name\":\"Mitarbeiter\"},model:{value:(_vm.timeEntry.additionalInsertAppUserIds),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"additionalInsertAppUserIds\", $$v)},expression:\"timeEntry.additionalInsertAppUserIds\"}})],1)]):_vm._e(),_c('div',{staticClass:\"grid grid-cols-12 gap-x-4 form-group\"},[(_vm.timeEntry.isInputTimeFromTo)?_c('div',{staticClass:\"col-span-4 sm:col-span-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Von')))]),_c('st-time-picker',{attrs:{\"focus\":true},on:{\"input\":function($event){return _vm.timeChanged('timeFrom')}},model:{value:(_vm.timeEntry.timeFrom),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"timeFrom\", $$v)},expression:\"timeEntry.timeFrom\"}})],1):_vm._e(),(_vm.timeEntry.isInputTimeFromTo)?_c('div',{staticClass:\"col-span-4 sm:col-span-3\"},[_c('div',{staticClass:\"form-label flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Bis'))+\" \"),(_vm.timeEntry.isTwoDayEntry)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Dieser Zeiteintrag geht in den nächsten Tag')),expression:\"$t('Dieser Zeiteintrag geht in den nächsten Tag')\"}],staticClass:\"far fa-exclamation-triangle text-yellow-400 ml-4 mr-4\"}):_vm._e()]),_c('st-time-picker',{on:{\"input\":function($event){return _vm.timeChanged('timeTo')}},model:{value:(_vm.timeEntry.timeTo),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"timeTo\", $$v)},expression:\"timeEntry.timeTo\"}})],1):_vm._e(),(_vm.usePauseAtTimeEntry)?_c('div',{staticClass:\"col-span-4 sm:col-span-3\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Pause')))]),_c('st-duration-picker',{on:{\"input\":function($event){return _vm.calculatePause()}},model:{value:(_vm.timeEntry.durationMinutesPause),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"durationMinutesPause\", $$v)},expression:\"timeEntry.durationMinutesPause\"}})],1):_vm._e(),_c('div',{class:{ 'col-span-4 sm:col-span-2': _vm.timeEntry.isInputTimeFromTo, 'col-span-4 sm:col-span-3': !_vm.timeEntry.isInputTimeFromTo }},[_c('div',{staticClass:\"form-label flex items-center justify-between\"},[_vm._v(_vm._s(_vm.$t('Dauer')))]),_c('st-duration-picker',{attrs:{\"disabled\":_vm.timeEntry.isInputTimeFromTo,\"focus\":!_vm.timeEntry.isInputTimeFromTo},model:{value:(_vm.timeEntry.durationMinutes),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"durationMinutes\", $$v)},expression:\"timeEntry.durationMinutes\"}})],1),(_vm.canSwitchTimeEntryMode)?_c('div',{staticClass:\"hidden sm:block sm:col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(\"‌\")]),_c('st-button-round',{attrs:{\"tooltip-text\":_vm.timeEntry.isInputTimeFromTo ? _vm.$t('Nur Dauer eingeben') : _vm.$t('Zeit von-bis eingeben')},on:{\"click\":_vm.toggleIsInputTimeFromTo}},[(_vm.timeEntry.isInputTimeFromTo)?_c('i',{staticClass:\"far fa-clock\"}):_c('i',{staticClass:\"far fa-business-time\"})])],1):_vm._e(),_c('div',{staticClass:\"col-span-12 sm:hidden mt-8\"},[_c('st-toggle',{attrs:{\"type\":'right'},model:{value:(_vm.timeEntry.isInputTimeFromTo),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"isInputTimeFromTo\", $$v)},expression:\"timeEntry.isInputTimeFromTo\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Umschalten zwischen Dauer und Zeit von-bis'))+\" \")])],1)]),(_vm.useProjectTimeTracking)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Projekt')))]),_c('st-select',{attrs:{\"grouped\":true,\"options\":_vm.projects},scopedSlots:_vm._u([{key:\"dropdownUp\",fn:function(ref){\nvar query = ref.query;\nvar selectedOption = ref.selectedOption;\nvar options = ref.options;\nreturn [(_vm.useLastProjects && !query && _vm.timeEntry.id == 0 && _vm.lastProjects.length)?_c('div',[_c('div',{staticClass:\"border-b bg-gray-00\"},[_c('div',{staticClass:\"font-bold p-4 bg-gray-300\"},[_vm._v(_vm._s(_vm.$t('Zuletzt benutzte Projekte')))]),_vm._l((_vm.lastProjects),function(groupedItem,index){return _c('div',{key:'lp' + index,staticClass:\"p-2 pl-6 cursor-pointer hover:bg-blue-50\"},_vm._l((groupedItem.items),function(item){return _c('div',{key:item.id,staticClass:\"flex items-center justify-between\"},[_c('button',{staticClass:\"font-thin text-sm text-left flex-grow break-word\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.timeEntry.projectId = item.id},\"mousedown\":function($event){$event.preventDefault();}}},[_vm._v(\" \"+_vm._s(groupedItem.groupName)+\" \"),_c('div',{staticClass:\"text-base font-bold break-word\"},[_vm._v(\" \"+_vm._s(item.description)+\" \")])])])}),0)})],2),_c('div',{staticClass:\"font-bold p-4 bg-gray-300\"},[_vm._v(_vm._s(_vm.$t('Alle Projekte')))])]):_vm._e()]}}],null,true),model:{value:(_vm.timeEntry.projectId),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"projectId\", $$v)},expression:\"timeEntry.projectId\"}})],1):_vm._e(),(_vm.selectedProject.customerTimeEntryComment || _vm.selectedProject.projectTimeEntryComment)?_c('div',{staticClass:\"form-group\"},[(_vm.selectedProject.customerTimeEntryComment)?_c('div',{staticClass:\"alert alert-gray\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Hinweis - Kunde')))]),_c('br'),_c('span',{staticClass:\"whitespace-pre-wrap\"},[_vm._v(_vm._s(_vm.selectedProject.customerTimeEntryComment))])]):_vm._e(),(_vm.selectedProject.projectTimeEntryComment)?_c('div',{staticClass:\"alert alert-gray\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Hinweis - Projekt')))]),_c('br'),_c('span',{staticClass:\"whitespace-pre-wrap\"},[_vm._v(_vm._s(_vm.selectedProject.projectTimeEntryComment))])]):_vm._e()]):_vm._e(),(((_vm.projectTasksGrouped && _vm.projectTasksGrouped.length)) && _vm.useProjectTimeTracking)?[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Leistung')))]),[_c('st-select',{attrs:{\"clearable\":true,\"disabled\":!_vm.userSettings.useProjectTasks,\"grouped\":true,\"options\":_vm.projectTasksGrouped,\"placeholder\":_vm.$t('Keine Leistung ausgewählt'),\"rules\":_vm.userSettings.projectTaskRequired ? 'required' : '',\"name\":\"Leistung\"},model:{value:(_vm.timeEntry.projectTaskId),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"projectTaskId\", $$v)},expression:\"timeEntry.projectTaskId\"}})]],2)]:_vm._e(),(_vm.canViewRates && _vm.hasRates && _vm.useProjectTimeTracking)?[(_vm.selectedProject.isFixedPrice)?[(_vm.selectedProject.fixedPriceCalcRate)?[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Rechnerischer Stundensatz\")))]),_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"disabled\":true,\"value\":_vm.selectedProject.fixedPriceCalcRate}})],1)])]:_vm._e()]:_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedProject.isFixedPrice),expression:\"!selectedProject.isFixedPrice\"}],staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Stundensatz\")))]),(_vm.initialized)?_c('time-entry-rate-input',{attrs:{\"rate-rule-amount-filter\":_vm.rateRuleAmountFilter,\"time-entry-rate-amount\":_vm.timeEntry.rateAmount},model:{value:(_vm.timeEntry.useCurrentRateAmount),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"useCurrentRateAmount\", $$v)},expression:\"timeEntry.useCurrentRateAmount\"}}):_vm._e()],1)]:_vm._e(),_c('div',{staticClass:\"form-group relative\"},[_c('div',{staticClass:\"flex items-start gap-4\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Beschreibung')))]),_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Mit der [TAB] Taste werden die letzen 5 Beschreibungstexte zur Auswahl (falls vorhanden).'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Pfeiltasten verändern die Markierung. [ENTER] oder Mausklick übernimmt die Auswahl.'))+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('[SHIFT] + [ENTER] speichert den Zeiteintrag.'))+\" \")])],1),_c('description-textarea',{attrs:{\"project-id\":_vm.timeEntry.projectId,\"entry-date\":_vm.timeEntry.entryDate},on:{\"submit\":_vm.submitForm},model:{value:(_vm.timeEntry.description),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"description\", $$v)},expression:\"timeEntry.description\"}})],1),(_vm.tags && _vm.tags.length && _vm.initialized && _vm.useProjectTimeTracking)?[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Kategorien')))]),_c('st-select',{attrs:{\"multiple\":true,\"options\":_vm.tags,\"rules\":_vm.userSettings.tagsRequired ? 'required' : '',\"placeholder\":_vm.$t('Keine Kategorie ausgewählt'),\"labelProp\":\"name\",\"name\":\"Kategorie\"},model:{value:(_vm.timeEntry.tagIds),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"tagIds\", $$v)},expression:\"timeEntry.tagIds\"}})],1)]:_vm._e(),(_vm.useProjectTimeTracking)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Verrechenbarkeit')))]),_c('st-toggle',{staticClass:\"ml-2 mt-4\",attrs:{\"type\":\"right\",\"disabled\":_vm.isBillableNotChangeable},model:{value:(_vm.timeEntry.isBillable),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"isBillable\", $$v)},expression:\"timeEntry.isBillable\"}},[_vm._v(_vm._s(_vm.$t('Zeit ist verrechenbar')))]),(_vm.displayIsBillableChangedWarning)?_c('div',{staticClass:\"alert alert-blue\"},[_vm._v(\" \"+_vm._s(_vm.$t('Die Verrechenbarkeit des Projekts hat sich geändert, dies wird für diesen Zeiteintrag übernommen.'))+\" \")]):_vm._e()],1):_vm._e(),_vm._l((_vm.extraFields),function(field,index){return _c('div',{key:index,staticClass:\"form-group\"},[_c('div',{staticClass:\"flex\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(field.description))]),(field.toolTip)?_c('st-explanation',{staticClass:\"ml-4\",attrs:{\"preserve-whitespace\":true}},[_vm._v(_vm._s(field.toolTip))]):_vm._e()],1),(field.dataType === 'Text')?_c('st-input2',{attrs:{\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'Integer')?_c('st-input2',{attrs:{\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'Decimal')?_c('st-input2',{attrs:{\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'Rating')?_c('star-rating',{attrs:{\"max-rating\":6,\"star-size\":20,\"show-rating\":false},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'YesNo')?_c('st-toggle',{attrs:{\"type\":\"right\",\"value\":field.value ? field.value.toLowerCase() === 'true' : true},on:{\"input\":function($event){field.value = $event.toString()}}},[_vm._v(\" \"+_vm._s(field.description)+\" \")]):_vm._e(),(field.dataType === 'Selection')?_c('st-select',{attrs:{\"options\":field.selectionValues,\"placeholder\":_vm.$t('Bitte Auswahl treffen'),\"clearable\":!field.isRequired,\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e()],1)}),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-between items-center\"},[_c('div',[(_vm.timeEntry.insertDateTime)?_c('st-explanation',{staticClass:\"inline-block w-full\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Zeiteintrag erstellt:'))+\" \"+_vm._s(_vm._f(\"formatDateUtcToLocal\")(_vm.timeEntry.insertDateTime,'dd.MM.yyyy HH:mm'))+\" \")]),(_vm.timeEntry.lastUpdateDateTime)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Zuletzt bearbeitet:'))+\" \"+_vm._s(_vm._f(\"formatDateUtcToLocal\")(_vm.timeEntry.lastUpdateDateTime,'dd.MM.yyyy HH:mm'))+\" \")]):_vm._e()]):_vm._e()],1),_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"disabled\":_vm.saving,\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{ref:\"saveButton\",staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\"}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")])],1)])],2)]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('st-time-picker',{attrs:{\"disabled\":_vm.disabled},model:{value:(_vm.durationHours),callback:function ($$v) {_vm.durationHours=$$v},expression:\"durationHours\"}},[_c('input',{ref:\"inputfield\",staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":_vm.disabled},domProps:{\"value\":_vm.durationHours},on:{\"blur\":_vm.input,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.input.apply(null, arguments)},\"focus\":function($event){return $event.target.select()}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex items-center w-full st-time-picker\"},[_vm._t(\"default\",function(){return [_c('st-input2',{attrs:{\"focus\":_vm.focus,\"markOnFocus\":true,\"value\":_vm.value,\"input-class\":\"w-full\",\"type\":\"text\"},on:{\"blur\":function($event){return _vm.change($event)},\"input\":_vm.input,\"keydownenter\":function($event){return _vm.change($event)}}})]}),_c('v-popover',{attrs:{\"placement\":\"bottom\",\"open\":_vm.popoverOpen,\"popover-base-class\":\"tooltip popover st-time-picker-popover\",\"popover-inner-class\":\"bg-white shadow border border-gray-200\",\"popover-wrapper-class\":\"w-full\"},on:{\"autoHide\":function($event){_vm.popoverOpen = false}},scopedSlots:_vm._u([{key:\"popover\",fn:function(){return [_c('st-time-picker-popover',{attrs:{\"hour-part\":_vm.hourPart,\"minute-part\":_vm.minutePart,\"hours\":_vm.hours,\"minutes\":_vm.minutes,\"value\":_vm.value},on:{\"hourChange\":_vm.hourChanged,\"minuteChange\":_vm.minuteChanged,\"input\":_vm.input}})]},proxy:true}])},[(!_vm.disabled)?_c('div',{staticClass:\"st-input-appendix cursor-pointer\",on:{\"click\":function($event){_vm.popoverOpen = true}}},[_c('i',{staticClass:\"far fa-clock\"})]):_vm._e()])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"grid grid-cols-12\"},[_c('div',{staticClass:\"text-center col-span-12 sm:col-span-7\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Stunde')))]),_c('div',{staticClass:\"p-2 grid grid-cols-6\"},_vm._l((_vm.hours),function(hour){return _c('div',{key:hour,staticClass:\"col-span-1 w-16 h-14 font-bold flex items-center justify-center shadow-sm rounded-sm\\n bg-gray-200 hover:bg-green-100 m-2 cursor-pointer\",class:{ 'bg-green-300': _vm.hourPart === hour },on:{\"click\":function($event){return _vm.$emit('hourChange', hour)}}},[_vm._v(\" \"+_vm._s(hour)+\" \")])}),0)]),_c('div',{staticClass:\"hidden sm:block col-span-1\"}),_c('div',{staticClass:\"text-center col-span-12 sm:col-span-4\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Minute')))]),(_vm.userSettings.timeRoundingInterval > 1)?_c('div',{staticClass:\"p-2 grid grid-cols-3\"},_vm._l((_vm.minutes),function(minute){return _c('div',{key:minute,staticClass:\"col-span-1 w-16 h-14 font-bold flex items-center justify-center\\n shadow-sm rounded-sm bg-gray-200 hover:bg-green-100 m-2 cursor-pointer\",class:{ 'bg-green-300': _vm.minutePart === minute },on:{\"click\":function($event){return _vm.$emit('minuteChange', minute)}}},[_vm._v(\" \"+_vm._s(minute)+\" \")])}),0):_c('div',{staticClass:\"flex items-center justify-around h-full\"},[_c('div',{staticClass:\"flex flex-col\"},[_c('i',{staticClass:\"fa fa-caret-up fa-3x cursor-pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.changeMinutes(1)}}}),_c('input',{staticClass:\"form-control w-16 text-center text-base font-bold\",attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.minutePart},on:{\"blur\":_vm.parseMinutePartFromEvent,\"focus\":function($event){return $event.target.select()}}}),_c('i',{staticClass:\"fa fa-caret-down fa-3x cursor-pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.changeMinutes(-1)}}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport {Component, Emit, Prop, Vue, Watch} from 'vue-property-decorator';\r\nimport {UserStore} from '@/store/user-module';\r\nimport {getHours, padZero} from '@/utlitities/helper';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class StTimePickerPopover extends Vue {\r\n @Prop() value!: string;\r\n @Prop() focus!: boolean;\r\n @Prop() hourPart!: string;\r\n @Prop() minutePart!: string;\r\n @Prop() minutes!: string[];\r\n @Prop() hours!: string[];\r\n\r\n get userSettings() {\r\n return UserStore.userSettings;\r\n }\r\n\r\n changeMinutes(interval: number) {\r\n let minute = parseInt(this.minutePart, 10);\r\n\r\n minute += interval;\r\n\r\n if (minute > 59) {\r\n minute = 59;\r\n }\r\n\r\n if (minute < 0) {\r\n minute = 0;\r\n }\r\n\r\n this.$emit('minuteChange', padZero(minute));\r\n }\r\n\r\n parseMinutePart(strVal: string) {\r\n let intVal = parseInt(strVal, 10);\r\n\r\n if (!intVal) {\r\n this.minutePart = '00';\r\n return;\r\n }\r\n\r\n if (intVal > 59) {\r\n intVal = 59;\r\n }\r\n\r\n if (intVal < 0) {\r\n intVal = 0;\r\n }\r\n\r\n this.$emit('minuteChange', padZero(intVal));\r\n }\r\n\r\n parseMinutePartFromEvent(event: any) {\r\n let strVal = event.target.value;\r\n this.parseMinutePart(strVal);\r\n }\r\n\r\n @Emit('input')\r\n input(val: string) {\r\n return val;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTimePickerPopover.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTimePickerPopover.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StTimePickerPopover.vue?vue&type=template&id=05279f0c&\"\nimport script from \"./StTimePickerPopover.vue?vue&type=script&lang=ts&\"\nexport * from \"./StTimePickerPopover.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Emit, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { getHours, padZero } from '@/utlitities/helper';\nimport { UserStore } from '@/store/user-module';\nimport StTimePickerPopover from '@/components/basic/StTimePickerPopover.vue';\n//@ts-ignore\nimport VueBottomSheet from '@webzlodimir/vue-bottom-sheet';\n\n@Component({\n components: { StTimePickerPopover },\n})\nexport default class StTimePicker extends Vue {\n @Prop() inputClass!: string;\n @Prop() value!: string;\n @Prop() focus!: boolean;\n @Prop() disabled!: boolean;\n\n popoverOpen = false;\n\n tempHourPart: string = '';\n tempMinutePart: string = '';\n\n hoursArray: Array = ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'];\n minutesArray5: Array = ['00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55'];\n minutesArray10: Array = ['00', '10', '20', '30', '40', '50'];\n minutesArray15: Array = ['00', '15', '30', '45'];\n minutesArray30: Array = ['00', '30'];\n\n get userSettings() {\n return UserStore.userSettings;\n }\n\n get minutes(): Array {\n switch (this.userSettings.timeRoundingInterval) {\n case 5:\n return this.minutesArray5;\n case 10:\n return this.minutesArray10;\n case 15:\n return this.minutesArray15;\n case 30:\n return this.minutesArray30;\n default:\n return this.minutesArray5;\n }\n }\n\n get hours() {\n return this.hoursArray;\n }\n\n get tempHourMinuteString() {\n return this.tempHourPart + ':' + this.tempMinutePart;\n }\n\n get hourPart() {\n if (!this.value) {\n return '';\n }\n return this.value.substr(0, 2);\n }\n\n set hourPart(val: string) {\n if (!this.minutePart) {\n this.tempMinutePart = this.minutes[0];\n }\n\n this.tempHourPart = val;\n\n this.input(this.tempHourMinuteString);\n }\n\n get minutePart() {\n if (!this.value) {\n return '';\n }\n return this.value.substr(3, 2);\n }\n\n set minutePart(val: string) {\n if (!this.hourPart) {\n this.tempHourPart = this.hours[0];\n }\n\n this.tempMinutePart = val;\n\n this.input(this.tempHourMinuteString);\n }\n\n @Watch('value')\n valueChanged() {\n this.tempMinutePart = this.minutePart;\n this.tempHourPart = this.hourPart;\n }\n\n mounted() {\n this.tempMinutePart = this.minutePart;\n this.tempHourPart = this.hourPart;\n }\n\n minuteChanged(minute: string) {\n this.minutePart = minute;\n if(this.userSettings.timeRoundingInterval>1){\n this.popoverOpen = false;\n }\n }\n\n hourChanged(hour: string) {\n this.hourPart = hour;\n }\n\n parseHourPart(strVal: string) {\n let intVal = parseInt(strVal, 10);\n\n if (!intVal) {\n this.hourPart = '00';\n return;\n }\n\n if (intVal > 23) {\n intVal = 0;\n }\n\n if (intVal < 0) {\n intVal = 0;\n }\n\n this.hourPart = padZero(intVal);\n }\n\n parseMinutePart(strVal: string) {\n let intVal = parseInt(strVal);\n\n if (!intVal) {\n this.minutePart = '00';\n return;\n }\n\n if (intVal > 59) {\n intVal = 59;\n }\n\n if (intVal < 0) {\n intVal = 0;\n }\n\n this.minutePart = padZero(intVal);\n }\n\n @Emit('input')\n input(val: string) {\n return val;\n }\n\n change(evt: any) {\n let timeString = evt.target.value;\n\n let hourPart = '0';\n let minutePart = '0';\n let durationMinutes = 0;\n\n if (timeString.length == 4 || timeString.length == 3) {\n if (parseInt(timeString) > 100) {\n if (timeString.length == 3) {\n timeString = '0' + timeString;\n }\n\n timeString = timeString.slice(0, 2) + ':' + timeString.slice(2);\n }\n }\n\n if (timeString.indexOf(':') > -1) {\n hourPart = timeString.split(':')[0];\n minutePart = timeString.split(':')[1];\n\n durationMinutes = Math.abs(parseInt(hourPart)) * 60 + parseInt(minutePart);\n } else {\n let time = parseFloat(timeString.replace(',', '.'));\n\n durationMinutes = Math.floor(time) * 60 + Math.round((time % 1) * 60);\n }\n\n let parsedTimeString = getHours(durationMinutes);\n\n this.parseHourPart(parsedTimeString.substr(0, 2));\n this.parseMinutePart(parsedTimeString.substr(3, 2));\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTimePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTimePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StTimePicker.vue?vue&type=template&id=1b451fe0&\"\nimport script from \"./StTimePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./StTimePicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StTimePicker.vue?vue&type=style&index=0&id=1b451fe0&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport { getHours } from '@/utlitities/helper';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StTimePicker from '@/components/basic/StTimePicker.vue';\n\n@Component({\n components: {\n StInput2,\n StTimePicker\n },\n})\nexport default class StDurationPicker extends Vue {\n @Prop() value!: number;\n @Prop() focus!: boolean;\n @Prop() disabled!: boolean;\n\n get durationHours(): string {\n return getHours(this.value);\n }\n\n set durationHours(data: string){\n this.$emit('input', this.getDurationMinutes(data))\n }\n\n async mounted() {\n if (this.focus) {\n await this.$nextTick();\n setTimeout(() => {\n if (this.focus && (window.innerWidth > 960))\n (this.$refs.inputfield as HTMLInputElement).focus();\n }, 200);\n }\n }\n\n getDurationMinutes(timeString: string){\n let hours;\n let minutes;\n let durationMinutes;\n\n if(timeString.length == 4 || timeString.length == 3){\n if(parseInt(timeString) > 100){\n if(timeString.length == 3){\n timeString='0'+timeString;\n }\n\n timeString = timeString.slice(0,2)+':'+timeString.slice(2);\n \n }\n }\n\n if (timeString.indexOf(':') > -1) {\n hours = timeString.split(':')[0];\n minutes = timeString.split(':')[1];\n\n let isNegative = timeString.indexOf('-') === 0;\n\n durationMinutes = Math.abs(parseInt(hours)) * 60 + parseInt(minutes);\n\n if (isNegative) durationMinutes = durationMinutes * -1;\n } else {\n let time = parseFloat(timeString.replace(',', '.'));\n\n durationMinutes = Math.floor(time) * 60 + Math.round((time % 1) * 60);\n }\n\n this.$forceUpdate();\n\n if (!durationMinutes) {\n return 0;\n }\n\n return durationMinutes;\n }\n\n @Emit('input')\n input(ev: any) {\n let timeString = ev.target.value;\n\n return this.getDurationMinutes(timeString);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDurationPicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDurationPicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StDurationPicker.vue?vue&type=template&id=5b92bb8e&\"\nimport script from \"./StDurationPicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./StDurationPicker.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex items-center\"},[(_vm.loading)?_c('div',{staticClass:\"skeleton skeleton-line\",staticStyle:{\"--l-h\":\"34px\"}}):[(_vm.initialRateRuleAmountChanged)?[_c('div',{staticClass:\"flex flex-col sm:flex-row items-start sm:items-center\"},[_c('div',{staticClass:\"flex sm:flex-row flex-row-reverse items-center\"},[_c('st-explanation',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('i',{staticClass:\"far fa-exclamation-triangle text-red-400 ml-4 mr-4\"})]},proxy:true}],null,false,2694141271)},[_vm._v(\" \"+_vm._s(_vm.$t('Stundensatz hat sich geändert, soll er übernommen werden?'))+\" \")]),_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"disabled\":true,\"value\":_vm.timeEntryRateAmount}})],1)],1),_c('st-button-round',{staticClass:\"my-4 ml-16 sm:ml-4\",attrs:{\"tooltip-text\":_vm.$t('Geänderten Stundensatz übernehmen')},on:{\"click\":_vm.overwriteWithNewRateAmount}},[_c('i',{staticClass:\"far fa-arrow-left hidden sm:inline\"}),_c('i',{staticClass:\"far fa-arrow-up sm:hidden\"})]),_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"disabled\":true,\"value\":_vm.initialCalculatedRateAmount}})],1),(!_vm.useRateRules)?_c('span',{staticClass:\"pl-4\"},[_vm._v(\" \"+_vm._s(_vm._f(\"rateRuleSourceText\")(_vm.rateRuleAmountModel.sourceRule))+\" \")]):_vm._e()])],1)]:[_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"disabled\":true,\"value\":_vm.rateAmount}})],1),(!_vm.useRateRules)?_c('span',{staticClass:\"pl-4\"},[_vm._v(\" \"+_vm._s(_vm._f(\"rateRuleSourceText\")(_vm.rateRuleAmountModel.sourceRule))+\" \")]):_vm._e()]]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport {Component, Prop, Vue, Watch} from 'vue-property-decorator';\r\nimport {RateRuleAmountFilter, RateRuleAmountModel} from '@/services/api/nswag/stapiclient_generated';\r\nimport {UserStore} from '@/store/user-module';\r\nimport {stRateRuleApi} from '@/services/st-api';\r\nimport StCurrencyInput from '@/components/basic/StCurrencyInput.vue';\r\n\r\n@Component({\r\n components: {\r\n StCurrencyInput\r\n },\r\n})\r\nexport default class TimeEntryRateInput extends Vue {\r\n @Prop() value!: boolean;\r\n @Prop() timeEntryRateAmount!: number;\r\n @Prop() rateRuleAmountFilter!: RateRuleAmountFilter;\r\n\r\n rateRuleAmountModel: RateRuleAmountModel = RateRuleAmountModel.fromJS({});\r\n initialRateRuleAmountChanged: boolean = false;\r\n initialCalculatedRateAmount: number = 0;\r\n watcher: any;\r\n loading:boolean = true;\r\n rateAmount = 0;\r\n\r\n async mounted(){\r\n this.initialCalculatedRateAmount = await this.getCalculatedRateRuleAmount();\r\n\r\n if(this.timeEntryRateAmount != null && this.timeEntryRateAmount != this.initialCalculatedRateAmount){\r\n this.initialRateRuleAmountChanged = true;\r\n }else{\r\n this.rateAmount = this.initialCalculatedRateAmount;\r\n }\r\n\r\n this.watcher = this.$watch('rateRuleAmountFilter',async ()=>{\r\n this.initialRateRuleAmountChanged=false;\r\n this.rateAmount = await this.getCalculatedRateRuleAmount();\r\n });\r\n }\r\n\r\n get useRateRules() {\r\n return UserStore.userSettings.useRateRules;\r\n }\r\n\r\n beforeDestroy(){\r\n this.watcher();\r\n }\r\n\r\n overwriteWithNewRateAmount(){\r\n this.initialRateRuleAmountChanged=false;\r\n this.rateAmount = this.initialCalculatedRateAmount;\r\n this.$emit('input', true);\r\n }\r\n\r\n async getCalculatedRateRuleAmount(){\r\n try {\r\n this.loading = true;\r\n if (this.useRateRules) {\r\n return await stRateRuleApi.getRateRuleAmount(this.rateRuleAmountFilter);\r\n } else {\r\n this.rateRuleAmountModel = await stRateRuleApi.getCustomerProjectRateRuleAmount(this.rateRuleAmountFilter);\r\n return this.rateRuleAmountModel.amount ?? 0;\r\n }\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryRateInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryRateInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntryRateInput.vue?vue&type=template&id=5feafc23&\"\nimport script from \"./TimeEntryRateInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntryRateInput.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"relative\"},[_c('v-popover',{attrs:{\"open\":_vm.prevDescriptionsOpen,\"trigger\":'manual',\"container\":false,\"autoHide\":false,\"popoverArrowClass\":\"hidden\",\"popoverBaseClass\":\"tooltip popover bg-transparent shadow-none\",\"placement\":\"bottom-start\"},scopedSlots:_vm._u([{key:\"popover\",fn:function(){return [_c('div',{staticClass:\"overflow-y-auto bg-white shadow p-4\"},[_c('div',{staticClass:\"flex flex-col\",staticStyle:{\"max-height\":\"400px\"}},_vm._l((_vm.filteredPrevDescriptions),function(desc,index){return _c('div',{key:desc,staticClass:\"whitespace-pre-wrap rounded mx-4 my-2 p-2 shadow cursor-pointer hover:bg-secondary-light hover:text-onbgsecondary-light\",class:{ 'bg-secondary-normal text-onbgsecondary-normal': index === _vm.selectedPrevDescription,\n 'bg-gray-200 text-gray-800': index !== _vm.selectedPrevDescription },on:{\"click\":function($event){return _vm.selectPrevDescription(index)}}},[_vm._v(\" \"+_vm._s(desc)+\" \")])}),0)])]},proxy:true}])},[(!_vm.prevDescriptionsOpen && _vm.filteredPrevDescriptions.length && !_vm.isExactMatch)?_c('div',{staticClass:\"absolute opacity-50 pr-6 pt-4 cursor-pointer\",staticStyle:{\"right\":\"0\"},on:{\"click\":_vm.clicked}},[_vm._v(\" \"+_vm._s(_vm.$t('[TAB] oder Klick für Vorschläge'))+\" \")]):_vm._e(),_c('st-textarea',{ref:\"description\",attrs:{\"rows\":\"2\"},on:{\"blur\":_vm.close,\"keydown\":_vm.handleDescriptionKeyDown,\"input\":function($event){_vm.selectedPrevDescription = 0}},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { stTimeEntryApi } from '@/services/st-api';\n\n@Component({\n components: {},\n})\nexport default class DescriptionTextarea extends Vue {\n @Prop() value!: string;\n @Prop() projectId!: number;\n @Prop() entryDate!: string;\n\n watcher: any;\n\n previousDescriptions: string[] = [];\n prevDescriptionsOpen: boolean = false;\n selectedPrevDescription: number = 0;\n\n async mounted() {\n if (this.projectId && this.entryDate) {\n this.previousDescriptions = await stTimeEntryApi.getPreviousDescriptions(this.entryDate!, this.projectId!);\n }\n\n this.watcher = this.$watch(\n () => {\n return this.projectId + this.entryDate;\n },\n async () => {\n if (this.projectId && this.entryDate) {\n this.close();\n this.previousDescriptions = await stTimeEntryApi.getPreviousDescriptions(this.entryDate!, this.projectId!);\n }\n }\n );\n }\n\n beforeDestroy() {\n this.watcher();\n }\n\n get description() {\n return this.value;\n }\n\n set description(data: string) {\n this.$emit('input', data);\n }\n\n selectPrevDescription(index: number) {\n this.description = this.filteredPrevDescriptions[index];\n this.prevDescriptionsOpen = false;\n }\n\n close() {\n setTimeout(() => {\n this.prevDescriptionsOpen = false;\n }, 100);\n }\n\n clicked(event:any){\n event.preventDefault();\n if(!this.prevDescriptionsOpen && this.filteredPrevDescriptions.length && !this.isExactMatch){\n this.openPrevDescriptions();\n }\n\n (this.$refs.description as any).focusNative();\n }\n\n async handleDescriptionKeyDown(event: any) {\n if (event.code == 'Enter' && event.shiftKey) {\n event.preventDefault();\n this.$emit('submit');\n }\n\n if (event.code == 'Escape') {\n this.prevDescriptionsOpen = false;\n }\n\n if (event.code == 'Tab' && !this.prevDescriptionsOpen && this.filteredPrevDescriptions.length && !this.isExactMatch) {\n event.preventDefault();\n this.openPrevDescriptions();\n }\n\n if (event.code == 'Enter' && this.prevDescriptionsOpen) {\n event.preventDefault();\n\n this.selectPrevDescription(this.selectedPrevDescription);\n }\n\n if (event.code == 'ArrowDown') {\n if (this.selectedPrevDescription < this.filteredPrevDescriptions.length - 1) {\n this.selectedPrevDescription += 1;\n }\n }\n\n if (event.code == 'ArrowUp') {\n if (this.selectedPrevDescription > 0) {\n this.selectedPrevDescription -= 1;\n }\n }\n }\n\n openPrevDescriptions() {\n if (this.filteredPrevDescriptions.length) {\n setTimeout(() => {\n this.selectedPrevDescription = 0;\n this.prevDescriptionsOpen = true;\n }, 100);\n }\n }\n\n get isExactMatch() {\n return this.filteredPrevDescriptions.length == 1 && this.description == this.filteredPrevDescriptions[0];\n }\n\n get filteredPrevDescriptions() {\n return this.previousDescriptions.filter((x) => x.toLowerCase().indexOf(this.description?.toLowerCase() ?? '') > -1).slice(0, 5);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DescriptionTextarea.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DescriptionTextarea.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DescriptionTextarea.vue?vue&type=template&id=eb27ee1e&\"\nimport script from \"./DescriptionTextarea.vue?vue&type=script&lang=ts&\"\nexport * from \"./DescriptionTextarea.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport {\r\n TimeAccountSummaryQuery,\r\n TimeAccountSummaryTimeEntryPageModel\r\n} from '@/services/api/nswag/stapiclient_generated';\r\n\r\nimport { stTimeAccountApi } from '@/services/st-api';\r\n\r\n@Module({ dynamic: true, store, name: 'TimeAccountModule', namespaced: true })\r\nexport default class TimeAccountModule extends VuexModule {\r\n public TimeAccountSummary: TimeAccountSummaryTimeEntryPageModel = TimeAccountSummaryTimeEntryPageModel.fromJS({});\r\n public loading: boolean = false;\r\n public isLoaded: boolean = false;\r\n\r\n @Mutation\r\n setTimeAccountSummary(data: TimeAccountSummaryTimeEntryPageModel) {\r\n this.TimeAccountSummary = data;\r\n this.isLoaded = true;\r\n }\r\n\r\n @Mutation\r\n setLoading(loading: boolean) {\r\n this.loading = loading;\r\n }\r\n\r\n @Action\r\n async LoadTimeAccountSummary(query: TimeAccountSummaryQuery) {\r\n this.setLoading(true);\r\n\r\n const result = await stTimeAccountApi.getTimeAccountSummaryForTimeEntriesPage(query);\r\n this.setTimeAccountSummary(result);\r\n\r\n this.setLoading(false);\r\n }\r\n}\r\n\r\nexport const TimeAccountStore = getModule(TimeAccountModule);\r\n","import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\r\nimport store from '@/store';\r\nimport {TimeAccountSummaryQuery, TimeEntryDay} from '@/services/api/nswag/stapiclient_generated';\r\nimport { DateTime } from 'luxon';\r\nimport { stTimeEntryApi } from '@/services/st-api';\r\nimport { UserStore } from '@/store/user-module';\r\nimport {TimeAccountStore} from '@/store/timeaccount-store';\r\n\r\nexport interface ITimeEntryDayUserParams {\r\n AppUserId: number;\r\n SelectedDate: DateTime;\r\n}\r\n\r\n@Module({ dynamic: true, store, name: 'TimeEntryModule', namespaced: true })\r\nexport default class TimeEntryModule extends VuexModule {\r\n public TimeEntryDays: TimeEntryDay[] = [];\r\n public selectedDate: DateTime | null = null;\r\n\r\n selectedUserId: number = 0;\r\n\r\n get SelectedDate(): DateTime {\r\n return this.selectedDate?.startOf('day') ?? UserStore.userNowDateTime.startOf('day');\r\n }\r\n\r\n @Mutation\r\n SetSelectedUserId(data: number) {\r\n this.selectedUserId = data;\r\n }\r\n\r\n @Mutation\r\n SetTimeEntryDays(data: TimeEntryDay[]) {\r\n this.TimeEntryDays = data;\r\n }\r\n\r\n @Mutation\r\n SetSelectedDate(data: DateTime) {\r\n this.selectedDate = data;\r\n }\r\n\r\n @Mutation\r\n Reset(resetSelectedUser: boolean) {\r\n this.selectedDate = null;\r\n this.TimeEntryDays = [];\r\n if (resetSelectedUser) {\r\n this.selectedUserId = 0;\r\n }\r\n }\r\n\r\n @Action\r\n async LoadTimeEntryDays(selectedDate: DateTime) {\r\n if (this.selectedUserId) {\r\n this.SetTimeEntryDays(await stTimeEntryApi.getListForUser(selectedDate.weekNumber, selectedDate.weekYear, this.selectedUserId));\r\n } else {\r\n this.SetTimeEntryDays(await stTimeEntryApi.getList(selectedDate.weekNumber, selectedDate.weekYear));\r\n }\r\n\r\n this.SetSelectedDate(selectedDate);\r\n\r\n if (UserStore.userSettings.featureFlagTimeAccountSummaryOnTimeEntryPage) {\r\n const query = TimeAccountSummaryQuery.fromJS({});\r\n query.date = selectedDate.toFormat('yyyy-MM-dd');\r\n query.appUserId = this.selectedUserId;\r\n await TimeAccountStore.LoadTimeAccountSummary(query);\r\n }\r\n }\r\n}\r\n\r\nexport const TimeEntryStore = getModule(TimeEntryModule);\r\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\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\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\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport StarRating from 'vue-star-rating';\nimport {\n AppUserFilter,\n ProjectFilter,\n ProjectTaskFilter, ProjectTaskSelectListForProjectQuery,\n ProjectTimeEntryViewModel,\n RateRuleAmountFilter,\n StSelectListItem,\n StSelectListItemGroup,\n TagFilter,\n TagViewModel,\n TimeEntryEditModel,\n TimeEntryModeEnum,\n TimeEntryPauseRuleModel,\n TimeEntryTypeEnum\n} from '@/services/api/nswag/stapiclient_generated';\nimport {\n stAppUserApi,\n stProjectApi,\n stProjectTaskApi,\n stRateRuleApi,\n stStopwatchApi,\n stTagApi,\n stTimeEntryApi\n} from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport StSelect from '@/components/basic/StSelect.vue';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport { notifyBudget, notifySuccess } from '@/utlitities/notifications';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StTextarea from '@/components/basic/StTextarea.vue';\nimport StDurationPicker from '@/components/basic/StDurationPicker.vue';\nimport { DateTime } from 'luxon';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport TimeEntryRateInput from '@/views/TimeEntries/TimeEntryEdit/TimeEntryRateInput.vue';\nimport DescriptionTextarea from '@/views/TimeEntries/Components/DescriptionTextarea.vue';\nimport { getHours } from '@/utlitities/helper';\nimport { TimeEntryStore } from '@/store/time-entry-store';\nimport StCurrencyInput from \"@/components/basic/StCurrencyInput.vue\";\n\n@Component({\n components: {\n StCurrencyInput,\n StToggle,\n StDurationPicker,\n StTextarea,\n StInput2,\n SlideIn,\n StSelect,\n TimeEntryRateInput,\n StarRating,\n DescriptionTextarea,\n },\n})\nexport default class TimeEntryEdit extends Vue {\n projects: StSelectListItemGroup[] = [];\n lastProjects: StSelectListItemGroup[] = [];\n projectTasksGrouped: StSelectListItemGroup[] = [];\n users: StSelectListItem[] = [];\n usersWoSelf: StSelectListItem[] = [];\n selectedProject: ProjectTimeEntryViewModel = new ProjectTimeEntryViewModel();\n tags: TagViewModel[] = [];\n pauseRules: TimeEntryPauseRuleModel = TimeEntryPauseRuleModel.fromJS({});\n lastUsedPauseRuleDurationMinutes: number = 0;\n\n id: number = 0;\n entryDate: string = '';\n timeEntry: TimeEntryEditModel = new TimeEntryEditModel();\n loading: boolean = true;\n saving: boolean = false;\n listPage: string = 'TimeEntries';\n fromList: boolean = false;\n appUserId: number | null = null;\n addFromStopwatch: boolean = false;\n\n watcher: any;\n delayLoading = false;\n initialized = false;\n entryHasPause = false;\n displayIsBillableChangedWarning = false;\n\n created() {\n this.id = this.$route.params.id == undefined ? 0 : parseInt(this.$route.params.id);\n\n const passedEntryDate = this.$route.params.entryDate;\n if (passedEntryDate == 'today') {\n this.entryDate = UserStore.userNowDateTime.toFormat('yyyy-MM-dd');\n } else {\n this.entryDate = this.$route.params.entryDate;\n }\n\n this.fromList = this.$router.currentRoute.meta.activeGroup == 'postprocess';\n this.appUserId = this.$route.params.appUserId ? parseInt(this.$route.params.appUserId) : null;\n\n if(this.$route.name == 'TimeEntryAddFromStopwatch'){\n this.addFromStopwatch = true;\n }\n }\n\n async mounted() {\n try {\n this.loading = true;\n this.openSlideIn();\n\n await Promise.all([this.loadEditModel(), this.loadProjects(), this.loadLastProjects(), this.loadTags()]);\n\n await this.loadUsers();\n\n if (this.appUserId) {\n this.timeEntry.appUserId = this.appUserId;\n }\n\n await this.loadPauseRules();\n\n this.entryHasPause = !!this.timeEntry.durationMinutesPause;\n\n //TODO: im Backend bei den TimeEntryPresets die \"forbiddenProject\" beachten.\n if (!this.projects.flatMap((x) => x.items).some((x) => x?.id == this.timeEntry.projectId)) {\n this.timeEntry.projectId = this.projects[0]!.items?.[0].id;\n }\n\n await this.loadSelectedProject();\n await this.loadProjectTasks();\n\n if (this.isBillableNotChangeable && this.selectedProject.isBillable != this.timeEntry.isBillable) {\n this.timeEntry.isBillable = this.selectedProject.isBillable;\n this.displayIsBillableChangedWarning = true;\n }\n\n this.watcher = this.$watch('timeEntry.projectId', async () => {\n try {\n this.delayLoading = true;\n const oldInputType = this.timeEntry.isInputTimeFromTo;\n await this.projectChanged();\n //Input Type wird nur bei neuen Zeiteinträgen dem Projekt angepasst\n if (!this.timeEntry.id) {\n if (this.canSwitchTimeEntryMode) {\n this.timeEntry.isInputTimeFromTo = await stTimeEntryApi.getIsTimeFromToByProject(this.timeEntry.projectId!);\n }\n if (oldInputType != this.timeEntry.isInputTimeFromTo && this.timeEntry.isInputTimeFromTo) {\n this.timeEntry.timeFrom = '00:00';\n this.timeEntry.timeTo = getHours(this.timeEntry.durationMinutes ?? 0);\n }\n }\n\n this.timeEntry.projectTaskId = this.selectedProject.preselectedProjectTaskId;\n } finally {\n this.delayLoading = false;\n }\n });\n\n await this.$nextTick();\n this.initialized = true;\n } finally {\n this.loading = false;\n }\n }\n\n get myself() {\n return !TimeEntryStore.selectedUserId || UserStore.currentUser.id == TimeEntryStore.selectedUserId;\n }\n\n get useLastProjects() {\n return UserStore.userSettings.featureFlagLastUsedProjects;\n }\n\n get restrictDateFrom() {\n return UserStore.userSettings.restrictDateFrom;\n }\n\n get restrictDateTo() {\n return UserStore.userSettings.restrictDateTo;\n }\n\n get useProjectTimeTracking() {\n return this.id == 0 ? !UserStore.userSettings.useBasicTimeTracking && !UserStore.currentUser.isBasicTimeTrackingUser : !this.timeEntry.isBasicTimeEntry;\n }\n\n get usePauseAtTimeEntry() {\n return (UserStore.usePauseAtTimeEntry || this.entryHasPause) && this.timeEntry.isInputTimeFromTo;\n }\n\n get durationHours() {\n return getHours(this.timeEntry.durationMinutes ?? 0);\n }\n\n get canSwitchTimeEntryMode() {\n return UserStore.userSettings.timeEntryMode == TimeEntryModeEnum.DurationAndTimeFromTo;\n }\n\n async loadPauseRules() {\n if (UserStore.userSettings.enforcePauseRules) {\n this.pauseRules = await stTimeEntryApi.getPauseRules(this.timeEntry.appUserId!);\n this.calculatePause();\n }\n }\n\n async loadEditModel() {\n if(this.addFromStopwatch){\n this.timeEntry = await stStopwatchApi.stopAndGetTimeEntryEditModel();\n }else{\n this.timeEntry = this.id == 0 ? await stTimeEntryApi.getNew(TimeEntryTypeEnum.TimeEntry, this.entryDate) : await stTimeEntryApi.get(this.id);\n }\n\n }\n\n async loadProjects() {\n this.projects = await stProjectApi.getSelectListForTimeTracking();\n }\n\n async loadLastProjects() {\n this.lastProjects = await stProjectApi.getSelectListOnlyLastUsed(5, false);\n }\n\n async loadTags() {\n this.tags = await stTagApi.getListForTimeEntry(this.id);\n }\n\n async loadUsers() {\n if ((this.fromList && this.canEditTimeEntriesForEmployees) || this.showAdditionalInsertAppUserSelect) {\n this.users = await stAppUserApi.getSelectListForListTimeEntry(this.timeEntry.appUserId ?? 0);\n }\n\n if (this.showAdditionalInsertAppUserSelect) {\n this.usersWoSelf = this.users.filter((x) => x.id != UserStore.currentUser.id);\n }\n }\n\n beforeDestroy() {\n this.watcher();\n }\n\n submitForm() {\n (this.$refs.timeEntryForm as any).handleSubmit(this.submit);\n }\n\n get showAdditionalInsertAppUserSelect() {\n return this.canEditTimeEntriesForEmployees && this.userSettings.showAdditionalInsertAppUserSelect;\n }\n\n get userSettings() {\n return UserStore.userSettings;\n }\n\n get hasRates() {\n return this.userSettings.hasRates;\n }\n\n get isBillableNotChangeable() {\n return this.userSettings.timeEntryIsBillableNotChangeable;\n }\n\n get useRateRules() {\n return UserStore.userSettings.useRateRules;\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n get extraFields() {\n return this.timeEntry.timeEntryExtraFields;\n }\n\n get selectedProjectHasTasks() {\n return this.selectedProject.hasProjectTasks;\n }\n\n get canEditTimeEntriesForEmployees() {\n return UserStore.userSettings.CanEditTimeEntriesForEmployees;\n }\n\n get rateRuleAmountFilter() {\n return RateRuleAmountFilter.fromJS({\n customerId: undefined,\n projectId: this.timeEntry.projectId,\n projectTaskId: this.timeEntry.projectTaskId,\n });\n }\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n if (this.$router.currentRoute.meta.activeGroup == 'postprocess') {\n this.$router.push({ name: 'List' });\n } else {\n this.$router.push({ name: this.listPage });\n }\n }\n\n toggleIsInputTimeFromTo() {\n this.timeEntry.isInputTimeFromTo = !this.timeEntry.isInputTimeFromTo;\n this.timeChanged('timeTo');\n }\n\n async loadSelectedProject() {\n if (!this.timeEntry?.projectId) {\n return;\n }\n\n this.selectedProject = await stProjectApi.getTimeEntryViewModel(this.timeEntry.projectId);\n }\n\n async loadProjectTasks() {\n this.projectTasksGrouped = await stProjectTaskApi.getSelectListForProject(\n ProjectTaskSelectListForProjectQuery.fromJS({\n projectId: this.selectedProject.id!\n })\n );\n }\n\n async submit() {\n if (this.saving) {\n return;\n }\n\n try {\n this.saving = true;\n await this.$nextTick();\n if (this.timeEntry.id == 0) {\n await stTimeEntryApi.post(this.timeEntry);\n } else {\n await stTimeEntryApi.put(this.timeEntry.id, this.timeEntry);\n }\n\n notifySuccess('Erfolgreich gespeichert');\n\n if (UserStore.userSettings.showConsumedBudgetOnSave && this.useProjectTimeTracking) {\n const budget = await stProjectApi.getBudgetConsumption(this.timeEntry.projectId!);\n if (budget) {\n notifyBudget(budget);\n }\n }\n\n this.closeSlideIn();\n } finally {\n this.saving = false;\n }\n }\n\n async projectChanged() {\n await this.loadSelectedProject();\n await this.loadProjectTasks();\n\n this.timeEntry.isBillable = this.selectedProject.isBillable;\n }\n\n calculatePause() {\n const timeFromLuxon = DateTime.fromFormat(this.timeEntry.timeFrom!, 'HH:mm');\n let timeToLuxon = DateTime.fromFormat(this.timeEntry.timeTo!, 'HH:mm');\n\n if (this.timeEntry.isTwoDayEntry) {\n timeToLuxon = timeToLuxon.plus({ days: 1 });\n }\n\n let oldDuration = timeToLuxon.diff(timeFromLuxon, ['minutes']).minutes;\n const newDuration = oldDuration - (this.timeEntry.durationMinutesPause ?? 0);\n\n if (newDuration < 0) {\n this.timeEntry.durationMinutesPause = 0;\n this.timeEntry.durationMinutes = oldDuration;\n } else {\n this.timeEntry.durationMinutes = newDuration;\n }\n\n if (!this.timeEntry.durationMinutes) {\n this.timeEntry.durationMinutes = 0;\n }\n\n this.enforcePauseRules();\n }\n\n enforcePauseRules() {\n if (!this.pauseRules.appUserId || this.timeEntry.isTwoDayEntry || this.timeEntry.durationMinutes == 0) {\n return;\n }\n const timeFromLuxon = DateTime.fromFormat(this.timeEntry.timeFrom!, 'HH:mm');\n const timeToLuxon = DateTime.fromFormat(this.timeEntry.timeTo!, 'HH:mm');\n\n const duration = timeToLuxon.diff(timeFromLuxon, ['minutes']).minutes;\n\n const singleRule = this.pauseRules.pauseSingleRules?.find((x) => {\n return x.durationMinutesFrom! <= duration && x.durationMinutesTo! >= duration;\n });\n\n if (singleRule) {\n if (\n (this.timeEntry.durationMinutesPause ?? 0) < singleRule.durationMinutesMinPause! ||\n (this.timeEntry.durationMinutesPause ?? 0) == this.lastUsedPauseRuleDurationMinutes\n ) {\n this.timeEntry.durationMinutesPause = singleRule.durationMinutesMinPause!;\n this.timeEntry.durationMinutes = duration - this.timeEntry.durationMinutesPause;\n this.lastUsedPauseRuleDurationMinutes = this.timeEntry.durationMinutesPause;\n }\n }\n }\n\n //TODO: Duplicated in PauseEntry\n timeChanged(type: string) {\n if (!this.timeEntry?.timeFrom || !this.timeEntry?.timeTo) {\n return 0;\n }\n\n let timeFromLuxon = DateTime.fromFormat(this.timeEntry.timeFrom!, 'HH:mm');\n let timeToLuxon = DateTime.fromFormat(this.timeEntry.timeTo!, 'HH:mm');\n const wasTwoDayEntryBeforeTimeChange = this.timeEntry.isTwoDayEntry;\n\n if (type == 'timeFrom') {\n if (timeFromLuxon.toMillis() > timeToLuxon.toMillis() && !wasTwoDayEntryBeforeTimeChange) {\n this.timeEntry.timeTo = this.timeEntry.timeFrom;\n }\n if (wasTwoDayEntryBeforeTimeChange && timeFromLuxon.toMillis() < timeToLuxon.toMillis()) {\n this.timeEntry.isTwoDayEntry = false;\n }\n } else {\n if (timeToLuxon.toMillis() < timeFromLuxon.toMillis()) {\n this.timeEntry.isTwoDayEntry = true;\n } else {\n this.timeEntry.isTwoDayEntry = false;\n }\n }\n\n if (this.timeEntry.isTwoDayEntry) {\n timeToLuxon = timeToLuxon.plus({ days: 1 });\n }\n\n this.timeEntry.durationMinutes = timeToLuxon.diff(timeFromLuxon, ['minutes']).minutes;\n\n if (!this.timeEntry.durationMinutes) {\n this.timeEntry.durationMinutes = 0;\n }\n\n this.calculatePause();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntryEdit.vue?vue&type=template&id=108702bc&\"\nimport script from \"./TimeEntryEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntryEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-clock mr-4\"}),(_vm.timeEntry.id)?_c('span',[_vm._v(_vm._s(_vm.$t('Pause bearbeiten')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Pause anlegen')))])]},proxy:true}])},[(!_vm.loading)?_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1 gap-x-6\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-3 gap-4\"},[(_vm.timeEntry.isInputTimeFromTo)?_c('div',{staticClass:\"col-span-1\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Von')))]),_c('st-time-picker',{on:{\"input\":function($event){return _vm.timeChanged('timeFrom')}},model:{value:(_vm.timeEntry.timeFrom),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"timeFrom\", $$v)},expression:\"timeEntry.timeFrom\"}})],1):_vm._e(),(_vm.timeEntry.isInputTimeFromTo)?_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Bis')))]),_c('st-time-picker',{on:{\"input\":function($event){return _vm.timeChanged('timeTo')}},model:{value:(_vm.timeEntry.timeTo),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"timeTo\", $$v)},expression:\"timeEntry.timeTo\"}})],1):_vm._e(),_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Dauer')))]),_c('st-duration-picker',{attrs:{\"disabled\":_vm.timeEntry.isInputTimeFromTo,\"focus\":!_vm.timeEntry.isInputTimeFromTo},model:{value:(_vm.timeEntry.durationMinutes),callback:function ($$v) {_vm.$set(_vm.timeEntry, \"durationMinutes\", $$v)},expression:\"timeEntry.durationMinutes\"}})],1)]),_c('div',{staticClass:\"flex justify-between border-t border-gray-300 pt-4 mt-6\"},[_c('div'),_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"loading\":_vm.btnLoading}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(_vm._s(_vm.$t('Speichern')))])],1)])]}}],null,false,3137327402)})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport {Component, Vue, Watch} from 'vue-property-decorator';\r\nimport {ProjectTimeEntryViewModel, RateRuleAmountFilter, StSelectListItem, StSelectListItemGroup, TagViewModel, TimeEntryEditModel, TimeEntryTypeEnum,} from '@/services/api/nswag/stapiclient_generated';\r\nimport {stCustomerApi, stProjectApi, stProjectTaskApi, stRateRuleApi, stTagApi, stTimeEntryApi} from '@/services/st-api';\r\nimport {UserStore} from '@/store/user-module';\r\nimport SlideIn from '@/components/basic/SlideIn.vue';\r\nimport {notifySuccess} from '@/utlitities/notifications';\r\nimport StInput2 from '@/components/basic/StInput2.vue';\r\nimport StTextarea from '@/components/basic/StTextarea.vue';\r\nimport StDurationPicker from '@/components/basic/StDurationPicker.vue';\r\nimport {DateTime} from 'luxon';\r\nimport StToggle from '@/components/basic/StToggle.vue';\r\n\r\n@Component({\r\n components: {\r\n StToggle,\r\n StDurationPicker,\r\n StTextarea,\r\n StInput2,\r\n SlideIn,\r\n },\r\n })\r\n export default class PauseEdit extends Vue {\r\n private id: number = 0;\r\n private entryDate: string = '';\r\n private timeEntry: TimeEntryEditModel = TimeEntryEditModel.fromJS({});\r\n private loading: boolean = true;\r\n private btnLoading: boolean = false;\r\n private listPage: string = 'TimeEntries';\r\n\r\n projects: StSelectListItemGroup[] = [];\r\n projectTasks: StSelectListItem[] = [];\r\n projectTasksGrouped: StSelectListItemGroup[] = [];\r\n selectedProject: ProjectTimeEntryViewModel = ProjectTimeEntryViewModel.fromJS({});\r\n tags: TagViewModel[] = [];\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n }\r\n\r\n closeSlideIn() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n\r\n slideOutClosed() {\r\n this.$router.push({ name: this.listPage });\r\n }\r\n\r\n created() {\r\n this.id = parseInt(this.$route.params.id);\r\n this.entryDate = this.$route.params.entryDate;\r\n }\r\n\r\n get userSettings() {\r\n return UserStore.userSettings;\r\n }\r\n\r\n async mounted() {\r\n this.openSlideIn();\r\n this.timeEntry = this.id == 0 ? await stTimeEntryApi.getNew(TimeEntryTypeEnum.Pause, this.entryDate) : await stTimeEntryApi.get(this.id);\r\n\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n this.btnLoading = true;\r\n if (this.timeEntry.id == 0) {\r\n await stTimeEntryApi.post(this.timeEntry);\r\n } else {\r\n await stTimeEntryApi.put(this.timeEntry.id, this.timeEntry);\r\n }\r\n notifySuccess('Erfolgreich gespeichert');\r\n this.closeSlideIn();\r\n } finally {\r\n this.btnLoading = false;\r\n }\r\n }\r\n\r\n timeChanged(type: string) {\r\n if (!this.timeEntry?.timeFrom || !this.timeEntry?.timeTo) {\r\n return;\r\n }\r\n\r\n let timeFromLuxon = DateTime.fromFormat(this.timeEntry.timeFrom!, 'HH:mm');\r\n let timeToLuxon = DateTime.fromFormat(this.timeEntry.timeTo!, 'HH:mm');\r\n\r\n if (type == 'timeFrom') {\r\n if (timeFromLuxon.toMillis() > timeToLuxon.toMillis()) {\r\n this.timeEntry.timeTo = this.timeEntry.timeFrom;\r\n }\r\n } else {\r\n if (timeToLuxon.toMillis() < timeFromLuxon.toMillis()) {\r\n this.timeEntry.timeFrom = this.timeEntry.timeTo;\r\n }\r\n }\r\n\r\n timeFromLuxon = DateTime.fromFormat(this.timeEntry.timeFrom!, 'HH:mm');\r\n timeToLuxon = DateTime.fromFormat(this.timeEntry.timeTo!, 'HH:mm');\r\n\r\n this.timeEntry.durationMinutes = timeToLuxon.diff(timeFromLuxon, ['minutes']).minutes;\r\n\r\n if(!this.timeEntry.durationMinutes){\r\n this.timeEntry.durationMinutes = 0;\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PauseEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PauseEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PauseEdit.vue?vue&type=template&id=3dc00e6e&\"\nimport script from \"./PauseEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./PauseEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-item mt-0 last:border-b-0 bg-white even:bg-gray-50 transition duration-150\",on:{\"click\":function($event){$event.stopPropagation();return _vm.editTimeEntry.apply(null, arguments)}}},[_c('div',{staticClass:\"st-list-item-content\",class:{ disabled: _vm.entry.isDisabled }},[_c('div',{staticClass:\"col-span-3\"},[_c('div',{staticClass:\"flex items-center h-full\"},[_c('v-popover',{attrs:{\"open\":_vm.showDateChanger,\"offset\":\"0\",\"trigger\":'manual',\"placement\":'right'},on:{\"hide\":function($event){_vm.showDateChanger=false}}},[(!_vm.entry.isDisabled)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Zeiteintrag kopieren')),expression:\"$t('Zeiteintrag kopieren')\"}],staticClass:\"far fa-lg fa-calendar-day ml-4 mr-6\",on:{\"click\":function($event){$event.stopPropagation();_vm.showDateChanger = !_vm.showDateChanger}}}):_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t(_vm.entry.disabledReason)),expression:\"$t(entry.disabledReason)\"}],staticClass:\"far fa-lg fa-lock ml-4 mr-6\"}),_c('template',{slot:\"popover\"},[_c('div',{staticClass:\"bg-white p-4 rounded-md\"},[_c('div',{staticClass:\"flex flex-col\"},[_c('st-button',{staticClass:\"small green w-full\",on:{\"click\":function($event){return _vm.copyTimeEntry(_vm.userStore.userNowDateString)}}},[_vm._v(_vm._s(_vm.$t('Eintrag nach heute kopieren')))]),_c('st-datepicker',{attrs:{\"value\":_vm.entry.entryDate},on:{\"input\":_vm.copyTimeEntry},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('st-button',{staticClass:\"small green w-full mt-4\"},[_vm._v(_vm._s(_vm.$t('Eintrag nach Datum kopieren')))])]},proxy:true}])}),_c('st-datepicker',{attrs:{\"value\":_vm.entry.entryDate},on:{\"input\":_vm.moveTimeEntry},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('st-button',{staticClass:\"small blue mt-4 w-full\"},[_vm._v(_vm._s(_vm.$t('Eintrag nach Datum verschieben')))])]},proxy:true}])})],1)])])],2),(_vm.useProjectTimeTracking)?_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"font-bold whitespace-normal pb-2 break-word\"},[_vm._v(\" \"+_vm._s(_vm.entry.projectName)+\" \"),(_vm.entry.isFixedPrice)?_c('st-sup-badge',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Festpreisprojekt')),expression:\"$t('Festpreisprojekt')\"}]},[_vm._v(\"FP\")]):_vm._e()],1),(!_vm.entry.customerHasNoProjects)?_c('div',{staticClass:\"text-sm break-word\"},[_vm._v(_vm._s(_vm.entry.customerName))]):_vm._e(),(_vm.hasProjectTasks)?_c('div',{staticClass:\"flex\"},[(!_vm.entry.projectTaskName)?_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.$t('Keine Leistung ausgewählt')))]):_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.entry.projectTaskName))])]):_vm._e()]):_c('div',[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Arbeitszeit')))])])],1)]),_c('div',{staticClass:\"hidden sm:flex col-span-4 flex-col justify-around\"},[(_vm.entry.description)?_c('div',{staticClass:\"whitespace-pre-wrap\"},[_vm._v(_vm._s(_vm.entry.description))]):_vm._e(),_vm._l((_vm.getExtraFields(_vm.entry)),function(extraField){return (extraField.value)?_c('div',{key:extraField.description,staticClass:\"mt-2 hidden md:flex\"},[_c('div',{staticClass:\"font-bold mr-2\"},[_vm._v(_vm._s(extraField.description)+\":\")]),(extraField.dataType === 'Rating')?_c('div',[_c('star-rating',{attrs:{\"max-rating\":6,\"star-size\":15,\"show-rating\":false,\"read-only\":true},model:{value:(extraField.value),callback:function ($$v) {_vm.$set(extraField, \"value\", $$v)},expression:\"extraField.value\"}})],1):(extraField.dataType === 'YesNo')?_c('div',[(extraField.value.toString().toLowerCase() === 'true')?_c('span',[_vm._v(_vm._s(_vm.$t('Ja')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Nein')))])]):_c('div',[_vm._v(_vm._s(extraField.value))])]):_vm._e()}),(_vm.entry.tags.length && _vm.useProjectTimeTracking)?_c('div',{staticClass:\"mt-2 flex flex-wrap\"},_vm._l((_vm.entry.tags),function(tag){return _c('span',{staticClass:\"tag mr-2 mb-2\",class:tag.colorClass},[_vm._v(_vm._s(tag.name))])}),0):_vm._e()],2),_c('div',{staticClass:\"hidden sm:flex col-span-1 items-center justify-end\"},[(_vm.entry.isInputTimeFromTo)?_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"whitespace-nowrap\"},[_c('i',{staticClass:\"far fa-arrow-alt-from-left fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.entry.timeFrom)+\" \")]),_c('div',{staticClass:\"whitespace-nowrap\"},[_c('i',{staticClass:\"far fa-arrow-alt-from-right fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.entry.timeTo)+\" \")]),(_vm.entry.durationMinutesPause)?_c('div',{staticClass:\"whitespace-nowrap\"},[_c('i',{staticClass:\"far fa-coffee fa-fw\"}),_vm._v(\" \"+_vm._s(_vm._f(\"durationHours\")(_vm.entry.durationMinutesPause))+\" \")]):_vm._e()]):_vm._e(),(!_vm.entry.isValid)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.entry.warnings.map(function (_) { return _.warning; }).join('

')),expression:\"entry.warnings.map((_) => _.warning).join('

')\"}],staticClass:\"far ml-4 mr-4\",class:{\n 'fa-info-circle': _vm.entry.maxWarningSeverity === 'Info',\n 'fa-exclamation-triangle text-yellow-400': _vm.entry.maxWarningSeverity === 'Warning',\n 'fa-exclamation-triangle text-red-400': _vm.entry.maxWarningSeverity === 'Error',\n }}):_vm._e()]),_c('div',{staticClass:\"col-span-4 sm:col-span-1 flex items-center\"},[_c('div',{staticClass:\"w-full flex flex-col whitespace-nowrap text-right\"},[_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.entry.durationMinutes))+\" h\")]),(_vm.canViewRates && _vm.useProjectTimeTracking)?[_c('div',{staticClass:\"mr-0 ml-2\",class:{ 'line-through': !_vm.entry.isBillable }},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.entry.revenue))+\" \"+_vm._s(_vm.currency))])]:_vm._e()],2)]),_c('div',{staticClass:\"col-span-5 sm:col-span-3 flex items-center justify-end\"},[_c('st-button-round',{attrs:{\"disabled\":_vm.entry.isDisabled,\"tooltipText\":_vm.entry.isDisabled ? _vm.$t(_vm.entry.disabledReason) : _vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editTimeEntry(_vm.entry.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-button-round',{attrs:{\"tooltipText\":_vm.entry.isDisabled ? _vm.entry.disabledReason : _vm.$t('Stoppuhr starten'),\"disabled\":_vm.entry.isDisabled,\"loading\":_vm.stopwatchLoading},on:{\"click\":function($event){return _vm.resumeStopwatch(_vm.entry)}}},[_c('i',{staticClass:\"far fa-stopwatch\"})]),_c('st-button-round',{attrs:{\"tooltipText\":_vm.entry.isDeleteDisabled ? _vm.entry.disabledReason : _vm.$t('Löschen'),\"loading\":_vm.deleteLoading,\"disabled\":_vm.entry.isDeleteDisabled},on:{\"click\":function($event){return _vm.deleteItem(_vm.entry.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sup',{staticClass:\"font-normal inline-block py-4 px-2 rounded-md\",class:[_vm.bgClass]},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class StSupBadge extends Vue {\r\n @Prop({default: 'text-white bg-gray-500'}) bgClass!: string;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSupBadge.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSupBadge.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StSupBadge.vue?vue&type=template&id=7bb925f1&\"\nimport script from \"./StSupBadge.vue?vue&type=script&lang=ts&\"\nexport * from \"./StSupBadge.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\nimport { DeleteResultModel, TimeEntryViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stTimeEntryApi } from '@/services/st-api';\nimport UserModule, { UserStore } from '@/store/user-module';\nimport { StopwatchStore } from '@/store/stopwatch-store';\nimport { notifyDeletion, notifySuccess } from '@/utlitities/notifications';\nimport { TimeEntryStore } from '@/store/time-entry-store';\nimport StarRating from 'vue-star-rating';\nimport { DateTime } from \"luxon\";\nimport StSupBadge from \"@/components/basic/StSupBadge.vue\";\n\nComponent.registerHooks(['beforeRouteUpdate']);\n\n@Component({\n components: { StSupBadge, StarRating },\n})\nexport default class TimeEntry extends Vue {\n @Prop() entry!: TimeEntryViewModel;\n\n private userStore: UserModule = UserStore;\n stopwatchLoading: boolean = false;\n deleteLoading: boolean = false;\n\n showDateChanger: boolean = false;\n\n editTimeEntry() {\n if (this.stopwatchLoading || this.deleteLoading || this.entry.isDisabled) {\n return;\n }\n\n this.$router.push({ name: 'TimeEntryEdit', params: { id: this.entry.id!.toString() } });\n }\n\n get selectedUserId(){\n return TimeEntryStore.selectedUserId;\n }\n\n get useProjectTimeTracking(){\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\n }\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n\n get hasProjectTasks() {\n return UserStore.userSettings.hasProjectTasks;\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n getExtraFields(entry: TimeEntryViewModel){\n return entry.timeEntryExtraFields?.filter(x=>!x.hideInDayView) ?? [];\n }\n\n async copyTimeEntry(entryDate: any) {\n await stTimeEntryApi.copyTimeEntry(this.entry.id!, entryDate);\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\n this.showDateChanger = false;\n notifySuccess('Zeiteintrag kopiert');\n }\n\n async moveTimeEntry(entryDate: any) {\n await stTimeEntryApi.moveTimeEntry(this.entry.id!, entryDate);\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\n this.showDateChanger = false;\n notifySuccess('Zeiteintrag verschoben');\n }\n\n async resumeStopwatch(entry: TimeEntryViewModel) {\n try {\n this.stopwatchLoading = true;\n await StopwatchStore.resumeStopwatch(entry.id!);\n\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\n } finally {\n this.stopwatchLoading = false;\n }\n }\n\n async loadData(){\n const date = DateTime.fromISO(this.entry.entryDate!);\n await TimeEntryStore.LoadTimeEntryDays(date);\n }\n\n async undoDeletion(id: number) {\n await stTimeEntryApi.undelete(id);\n\n await this.loadData();\n\n notifySuccess('Zeiteintrag wiederhergestellt.');\n }\n\n async deleteItem(id: number): Promise {\n try {\n this.deleteLoading = true;\n const resp = await stTimeEntryApi.delete(id, true);\n\n await this.loadData();\n\n notifyDeletion(async () => this.undoDeletion(id));\n\n return resp;\n } finally {\n this.deleteLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntry.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntry.vue?vue&type=template&id=00f87b3f&\"\nimport script from \"./TimeEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntry.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimeEntry.vue?vue&type=style&index=0&id=00f87b3f&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-item mt-0 last:border-b-0 bg-white transition duration-150\",on:{\"click\":function($event){$event.stopPropagation();return _vm.editPause.apply(null, arguments)}}},[_c('div',{staticClass:\"st-list-item-content\"},[_c('div',{staticClass:\"col-span-3 sm:col-span-7\"},[_c('div',{staticClass:\"flex items-center h-full\"},[_c('i',{staticClass:\"far fa-lg fa-pause ml-4 mr-6\"}),_c('div',{staticClass:\"font-bold truncate overflow-hidden\"},[_vm._v(_vm._s(_vm.$t('Pause')))])])]),_c('div',{staticClass:\"hidden sm:flex col-span-1 items-center justify-end\"},[(_vm.entry.isInputTimeFromTo)?_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"whitespace-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.entry.timeFrom)+\" \")]),_c('div',{staticClass:\"whitespace-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.entry.timeTo)+\" \")])]):_vm._e(),(!_vm.entry.isValid)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.entry.warnings[0].warning),expression:\"entry.warnings[0].warning\"}],staticClass:\"far fa-exclamation-triangle text-red-400 ml-4 mr-4\"}):_vm._e()]),_c('div',{staticClass:\"col-span-4 sm:col-span-1 flex items-center\"},[_c('div',{staticClass:\"w-full flex flex-col whitespace-nowrap text-right\"},[_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.entry.durationMinutes))+\" h\")])])]),_c('div',{staticClass:\"col-span-5 sm:col-span-3 flex items-center justify-end\"},[_c('st-button-round',{attrs:{\"disabled\":_vm.entry.isDisabled,\"tooltipText\":_vm.entry.isDisabled ? _vm.$t(_vm.entry.disabledReason) : _vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editPause(_vm.entry.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-button-round',{attrs:{\"tooltipText\":_vm.entry.isDeleteDisabled ? _vm.entry.disabledReason : _vm.$t('Löschen'),\"loading\":_vm.deleteLoading,\"disabled\":_vm.entry.isDeleteDisabled},on:{\"click\":function($event){return _vm.deleteItem(_vm.entry.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\nimport { DeleteResultModel, TimeEntryViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stTimeEntryApi } from '@/services/st-api';\nimport { TimeEntryStore } from '@/store/time-entry-store';\nimport { notifyDeletion, notifySuccess } from '@/utlitities/notifications';\n\n@Component({\n components: {},\n})\nexport default class PauseEntry extends Vue {\n @Prop() entry: TimeEntryViewModel | undefined;\n deleteLoading: boolean = false;\n\n editPause() {\n this.$router.push({ name: 'PauseEdit', params: { id: this.entry!.id!.toString() } });\n }\n\n async undoDeletion(id: number) {\n await stTimeEntryApi.undelete(id);\n\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\n\n notifySuccess('Pause wiederhergestellt.');\n }\n\n async deleteItem(id: number): Promise {\n try {\n this.deleteLoading = true;\n const resp = await stTimeEntryApi.delete(id, true);\n\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\n\n notifyDeletion(async () => this.undoDeletion(id));\n\n return resp;\n } finally {\n this.deleteLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PauseEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PauseEntry.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PauseEntry.vue?vue&type=template&id=74e9f8de&\"\nimport script from \"./PauseEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./PauseEntry.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-container rounded-large\"},[_c('div',{staticClass:\"flex items-center justify-around gap-x-4\"},[_c('div',{staticClass:\"st-list-item mt-8 rounded-large relative\",class:{ 'bg-green-500': _vm.isRunning },staticStyle:{\"min-height\":\"64px\"}},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"absolute\":true,\"centered\":true,\"overlay-class\":\"opacity-100\"}}),(_vm.isRunning)?_c('div',{staticClass:\"hover:bg-secondary-dark bg-secondary-normal st-list-item-content items-center hover:bg-green-600\",class:{ 'hover:bg-secondary-dark': _vm.startStopLoading || _vm.delLoading, '': !_vm.startStopLoading && !_vm.delLoading },staticStyle:{\"min-height\":\"64px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.edit()}}},[_c('div',{staticClass:\"col-span-3 flex items-center text-onbgsecondary-normal hover:text-onbgsecondary-dark\"},[_c('i',{staticClass:\"far fa-lg fa-stopwatch ml-4 mr-6\"}),(_vm.useProjectTimeTracking)?_c('div',{staticClass:\"flex flex-col justify-evenly\"},[_c('div',{staticClass:\"font-bold pb-2 break-word\"},[_vm._v(_vm._s(_vm.stopwatch.projectName))]),_c('div',{staticClass:\"text-sm break-word\"},[_vm._v(_vm._s(_vm.stopwatch.customerName))]),(_vm.hasProjectTasks)?[(!_vm.stopwatch.projectTaskName)?_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.$t('Keine Leistung ausgewählt')))]):_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.stopwatch.projectTaskName))])]:_vm._e()],2):_c('div',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('Anwesenheit'))+\" \")])]),_c('div',{staticClass:\"hidden sm:flex col-span-4 flex flex-col justify-around text-onbgsecondary-normal hover:text-onbgsecondary-dark\"},[(_vm.stopwatch.description)?_c('div',{staticClass:\"whitespace-pre-wrap\"},[_vm._v(_vm._s(_vm.stopwatch.description))]):_vm._e(),_vm._l((_vm.getExtraFields(_vm.stopwatch)),function(extraField){return (extraField.value)?_c('div',{key:extraField.description,staticClass:\"mt-2 flex hidden md:flex\"},[_c('div',{staticClass:\"font-bold mr-2\"},[_vm._v(_vm._s(extraField.description)+\":\")]),(extraField.dataType === 'Rating')?_c('div',[_c('star-rating',{attrs:{\"max-rating\":6,\"star-size\":15,\"show-rating\":false,\"read-only\":true},model:{value:(extraField.value),callback:function ($$v) {_vm.$set(extraField, \"value\", $$v)},expression:\"extraField.value\"}})],1):(extraField.dataType === 'YesNo')?_c('div',[(extraField.value.toString().toLowerCase() === 'true')?_c('span',[_vm._v(_vm._s(_vm.$t('Ja')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Nein')))])]):_c('div',[_vm._v(_vm._s(extraField.value))])]):_vm._e()}),_c('div',{staticClass:\"mt-2 flex flex-wrap\"},_vm._l((_vm.stopwatch.tags),function(tag){return _c('span',{staticClass:\"tag mr-2 mb-2\",class:tag.colorClass},[_vm._v(_vm._s(tag.name))])}),0)],2),_c('div',{staticClass:\"hidden sm:block col-span-1\"}),_c('div',{staticClass:\"col-span-4 sm:col-span-1 font-bold text-base text-onbgsecondary-normal hover:text-onbgsecondary-dark\"},[_c('div',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursFromSeconds\")(_vm.durationSeconds))+\" \")])]),_c('div',{staticClass:\"col-span-5 sm:col-span-3 flex justify-end items-center flex-wrap gap-y-4\"},[(!_vm.changeProjectFlag)?[_c('st-button-round',{attrs:{\"tooltip-text\":_vm.$t('Stoppuhr bearbeiten')},on:{\"click\":function($event){return _vm.edit()}}},[_c('i',{staticClass:\"far fa-edit\"})]),_c('st-button-round',{attrs:{\"loading\":_vm.startStopLoading,\"tooltip-text\":_vm.$t('Stoppuhr stoppen')},on:{\"click\":function($event){return _vm.stop()}}},[_c('i',{staticClass:\"far fa-stop\"})]),(_vm.useProjectTimeTracking && !_vm.openTimeEntryWhenStopStopwatch)?_c('st-button-round',{attrs:{\"tooltip-text\":_vm.$t('Projekt wechseln')},on:{\"click\":function($event){_vm.changeProjectFlag = true}}},[_c('i',{staticClass:\"far fa-exchange\"})]):_vm._e(),_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading,\"tooltip-text\":_vm.$t('Stoppuhr löschen')},on:{\"delete\":function($event){return _vm.deleteStopwatch()}}})]:_vm._e()],2)]):_vm._e(),(!_vm.isRunning)?_c('div',{staticClass:\"st-list-item-content hover:bg-white cursor-auto items-center\"},[(_vm.useProjectTimeTracking)?[_c('div',{staticClass:\"col-span-1 sm:col-span-6 font-bold\"},[_c('i',{staticClass:\"far fa-lg fa-stopwatch ml-4 mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Es läuft gerade keine Stoppuhr ...'))+\" \")])]),_c('div',{staticClass:\"col-span-11 sm:col-span-6 flex items-center h-full\"},[_c('div',{staticClass:\"w-full h-full mr-6 flex\"},[_c('stopwatch-select',{attrs:{\"projects\":_vm.projects,\"last-projects\":_vm.lastProjects,\"start-stop-loading\":_vm.startStopLoading},on:{\"start\":_vm.start},model:{value:(_vm.projectId),callback:function ($$v) {_vm.projectId=$$v},expression:\"projectId\"}})],1)])]:[_c('div',{staticClass:\"flex items-center justify-between w-full col-span-12\",staticStyle:{\"min-height\":\"50px\"}},[_c('div',{staticClass:\" font-bold\"},[_c('i',{staticClass:\"far fa-lg fa-stopwatch ml-4 mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Es läuft gerade keine Stoppuhr ...'))+\" \")])]),_c('div',{staticClass:\"col-span-11 sm:col-span-6 flex items-center h-full\"},[_c('div',{staticClass:\"w-full h-full mr-1 flex\"},[_c('st-button',{staticClass:\"green\",attrs:{\"icon\":\"far fa-play\",\"loading\":_vm.startStopLoading},on:{\"click\":_vm.startDefaultStopwatch}},[_vm._v(\" \"+_vm._s(_vm.$t('Stoppuhr starten'))+\" \")])],1)])])]],2):_vm._e()],1),(_vm.changeProjectFlag)?_c('div',{staticClass:\"st-list-item rounded-large w-full mt-8\"},[_c('div',{staticClass:\"st-list-item-content w-full flex items-center\"},[_c('stopwatch-select',{attrs:{\"value\":_vm.projectId,\"projects\":_vm.projects,\"last-projects\":_vm.lastProjects,\"open-on-mounted\":true,\"start-stop-loading\":_vm.startStopLoading},on:{\"input\":_vm.changeProject,\"start\":_vm.changeProject,\"blur\":function($event){_vm.changeProjectFlag=false}}})],1)]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('st-select',{attrs:{\"grouped\":true,\"options\":_vm.getProjectOptions,\"hideSelectButtonIcon\":true,\"hideOptGroups\":true,\"hideOptions\":!_vm.projectSelectQuery,\"searchBoxPlaceholder\":_vm.$t('In allen Projekten suchen ...'),\"openOnMounted\":_vm.openOnMounted},on:{\"search\":_vm.projectSelectSearchTriggered,\"focus\":function($event){_vm.projectSelectIsOpen = true},\"blur\":_vm.setProjectSelectIsOpenFalse},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar className = ref.className;\nvar option = ref.option;\nvar getParentName = ref.getParentName;\nreturn [(option.value === _vm.projectId)?_c('div'):_c('div',{staticClass:\"pl-6 py-4 bg-white hover:bg-blue-50 flex items-center justify-between\"},[_c('div',[_c('div',{staticClass:\"font-thin text-sm whitespace-normal break-word\"},[_vm._v(_vm._s(getParentName(option)))]),_c('div',{staticClass:\"text-base font-bold whitespace-normal break-word\"},[_vm._v(_vm._s(option.text))])]),_c('st-button-round',{staticClass:\"success mr-6\",attrs:{\"no-margin\":true,\"loading\":_vm.startStopLoading},on:{\"click\":function($event){return _vm.start(option.value)}}},[_c('i',{staticClass:\"far fa-play\"})])],1)]}},{key:\"label\",fn:function(ref){\nvar className = ref.className;\nvar option = ref.option;\nvar options = ref.options;\nvar getParentName = ref.getParentName;\nreturn [_c('div',{staticClass:\"flex items-center justify-between w-full\"},[_c('div',{staticClass:\"flex items-center\"},[_c('i',{staticClass:\"far fa-search mr-4 fadeOut\",class:{ hiddenanim: _vm.projectSelectIsOpen }}),_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"font-thin text-sm text-left whitespace-normal break-word\"},[_vm._v(_vm._s(getParentName(option)))]),_c('div',{class:[className, 'text-base font-bold whitespace-normal break-word']},[_vm._v(_vm._s(option.text))])])]),_c('st-button-round',{staticClass:\"success\",attrs:{\"no-margin\":true,\"loading\":_vm.startStopLoading,\"disabled\":_vm.startStopLoading,\"tooltip-text\":_vm.$t('Stoppuhr starten')},on:{\"click\":function($event){return _vm.start(_vm.projectId)}}},[_c('i',{staticClass:\"far fa-play\"})])],1)]}},{key:\"dropdownUp\",fn:function(ref){\nvar query = ref.query;\nvar selectedOption = ref.selectedOption;\nvar options = ref.options;\nreturn [(!_vm.projectSelectQuery)?_c('div',_vm._l((_vm.lastProjects),function(groupedItem,index){return (selectedOption && groupedItem.items[0].id !== selectedOption.value)?_c('div',{key:index,staticClass:\"p-4 pl-6 cursor-pointer hover:bg-blue-50\"},_vm._l((groupedItem.items),function(item){return _c('div',{key:item.id,staticClass:\"flex items-center justify-between\"},[_c('button',{staticClass:\"font-thin text-sm text-left flex-grow break-word\",on:{\"click\":function($event){_vm.projectId = item.id},\"mousedown\":function($event){$event.preventDefault();}}},[_vm._v(\" \"+_vm._s(groupedItem.groupName)+\" \"),_c('div',{staticClass:\"text-base font-bold break-word\"},[_vm._v(\" \"+_vm._s(item.description)+\" \")])]),_c('st-button-round',{staticClass:\"success pr-2\",attrs:{\"tooltip-text\":_vm.$t('Stoppuhr starten'),\"isInTrichSelect\":true,\"no-margin\":true},on:{\"click\":function($event){return _vm.start(item.id)}}},[_c('i',{staticClass:\"far fa-play\"})])],1)}),0):_vm._e()}),0):_vm._e()]}}]),model:{value:(_vm.projectId),callback:function ($$v) {_vm.projectId=$$v},expression:\"projectId\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { StSelectListItemGroup } from '@/services/api/nswag/stapiclient_generated';\n\n@Component({\n components: {},\n})\nexport default class StopwatchSelect extends Vue {\n @Prop() value!: number;\n @Prop() projects!: StSelectListItemGroup[];\n @Prop() lastProjects!: StSelectListItemGroup[];\n @Prop({ default: false }) openOnMounted!: boolean;\n @Prop() startStopLoading!: boolean;\n\n delLoading: boolean = false;\n\n projectSelectQuery: string = '';\n projectSelectIsOpen = false;\n\n get projectId() {\n return this.value;\n }\n\n set projectId(data: number) {\n this.$emit('input', data);\n }\n\n setProjectSelectIsOpenFalse() {\n this.projectSelectIsOpen = false;\n this.$emit('blur');\n }\n\n projectSelectSearchTriggered(query: any) {\n this.projectSelectQuery = query;\n }\n\n get getProjectOptions() {\n if (this.projectSelectQuery) {\n return this.projects;\n }\n\n return this.projects;\n }\n\n start(projectId: number) {\n this.$emit('start', projectId);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StopwatchSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StopwatchSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StopwatchSelect.vue?vue&type=template&id=44a797ce&\"\nimport script from \"./StopwatchSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./StopwatchSelect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport {\r\n ProjectFilter,\r\n ProjectTimeEntryViewModel, StopwatchViewModel,\r\n StSelectListItemGroup,\r\n TagViewModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stProjectApi } from \"@/services/st-api\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport { StopwatchStore } from \"@/store/stopwatch-store\";\r\nimport { TimeEntryStore } from \"@/store/time-entry-store\";\r\nimport StBadge from \"@/components/basic/StBadge.vue\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\nimport StopwatchSelect from \"@/views/Stopwatch/OldLayout/StopwatchSelect.vue\";\r\nimport StarRating from \"vue-star-rating\";\r\n\r\nComponent.registerHooks([\"beforeRouteUpdate\"]);\r\n\r\n@Component({\r\n components: { StBadge, StopwatchSelect, StarRating }\r\n})\r\nexport default class StopwatchOldLayout extends Vue {\r\n lastProjects: StSelectListItemGroup[] = [];\r\n projects: StSelectListItemGroup[] = [];\r\n selectedProject: ProjectTimeEntryViewModel = new ProjectTimeEntryViewModel();\r\n tags: TagViewModel[] = [];\r\n projectId: number = 0;\r\n changeProjectFlag: boolean = false;\r\n\r\n loading = false;\r\n\r\n private startStopLoading: boolean = false;\r\n private delLoading: boolean = false;\r\n\r\n get openTimeEntryWhenStopStopwatch(){\r\n return UserStore.userSettings.openTimeEntryWhenStopStopwatch;\r\n }\r\n\r\n get canViewRates() {\r\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\r\n }\r\n\r\n get useProjectTimeTracking() {\r\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\r\n }\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n get stopwatch() {\r\n return StopwatchStore.StopwatchModel;\r\n }\r\n\r\n getExtraFields(stopwatch: StopwatchViewModel) {\r\n return stopwatch.timeEntryExtraFields?.filter(x => !x.hideInDayView) ?? [];\r\n }\r\n\r\n get isRunning() {\r\n return StopwatchStore.IsRunning;\r\n }\r\n\r\n get durationSeconds() {\r\n return StopwatchStore.RunningSeconds;\r\n }\r\n\r\n get userSettings() {\r\n return UserStore.userSettings;\r\n }\r\n\r\n //\r\n get selectedProjectHasTasks() {\r\n return this.selectedProject.hasProjectTasks;\r\n }\r\n\r\n get hasProjectTasks() {\r\n return UserStore.userSettings.hasProjectTasks;\r\n }\r\n\r\n @Watch(\"isRunning\")\r\n async runningChanged() {\r\n if (!this.isRunning) {\r\n await this.loadData();\r\n }\r\n }\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async loadData() {\r\n try {\r\n this.loading = true;\r\n this.projects = await stProjectApi.getSelectListForTimeTracking();\r\n\r\n this.lastProjects = await stProjectApi.getSelectListOnlyLastUsed(10, true);\r\n\r\n this.projectId = this.lastProjects[0]!.items![0].id!;\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async startDefaultStopwatch() {\r\n await this.start(this.projectId);\r\n }\r\n\r\n async changeProject(projectId: number) {\r\n try {\r\n this.loading = true;\r\n\r\n this.changeProjectFlag = false;\r\n await this.stop();\r\n await this.start(projectId);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async start(projectId: number) {\r\n try {\r\n this.projectId = projectId;\r\n this.startStopLoading = true;\r\n await StopwatchStore.startStopwatchForProject(projectId);\r\n } finally {\r\n this.startStopLoading = false;\r\n }\r\n }\r\n\r\n edit() {\r\n if (this.startStopLoading || this.delLoading) {\r\n return;\r\n }\r\n this.$router.push({ name: \"StopwatchOldLayoutEdit\" });\r\n }\r\n\r\n async loadConnectedData() {\r\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\r\n }\r\n\r\n async stop() {\r\n try {\r\n if(this.openTimeEntryWhenStopStopwatch){\r\n await this.$router.push({name: 'TimeEntryAddFromStopwatch'})\r\n return;\r\n }\r\n this.startStopLoading = true;\r\n await StopwatchStore.stopStopwatch();\r\n this.startStopLoading = false;\r\n this.loading = true;\r\n await this.loadConnectedData();\r\n notifySuccess(\"Stoppuhr gestoppt\");\r\n } finally {\r\n this.loading = false;\r\n this.startStopLoading = false;\r\n }\r\n }\r\n\r\n async deleteStopwatch() {\r\n try {\r\n this.delLoading = true;\r\n await StopwatchStore.deleteStopwatch();\r\n this.delLoading = false;\r\n this.loading = true;\r\n await this.loadConnectedData();\r\n notifySuccess(\"Stoppuhr gelöscht\");\r\n } finally {\r\n this.loading = false;\r\n this.delLoading = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StopwatchOldLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StopwatchOldLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StopwatchOldLayout.vue?vue&type=template&id=273e77d8&\"\nimport script from \"./StopwatchOldLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./StopwatchOldLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StopwatchOldLayout.vue?vue&type=style&index=0&id=273e77d8&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-8 mt-8 bg-white rounded-large shadow flex justify-between items-center relative select-none\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Arbeitszeiten abgeben')))]),_c('div',[_vm._v(_vm._s(_vm.dayLockedComment))]),_c('div',[_c('st-button',{staticClass:\"green ml-4 small\",attrs:{\"icon\":\"far fa-calendar-day\",\"disabled\":!_vm.currentDayCanBeSubmitted},on:{\"click\":_vm.submitDay}},[_vm._v(\" \"+_vm._s(_vm.$t('Aktuellen Tag abgeben'))+\" \")]),_c('st-button',{staticClass:\"green ml-4 small\",attrs:{\"icon\":\"far fa-calendar-week\",\"disabled\":!_vm.currentWeekCanBeSubmitted},on:{\"click\":_vm.submitWeek}},[_vm._v(\" \"+_vm._s(_vm.$t('Ganze Woche abgeben'))+\" \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\r\n import { TimeEntryDay, TimeEntryDayApprovalEditModel, TimeEntryDayApprovalEnum } from '@/services/api/nswag/stapiclient_generated';\r\n import { TimeEntryStore } from '@/store/time-entry-store';\r\n import { DateTime } from 'luxon';\r\n import { UserStore } from '@/store/user-module';\r\n import {stTimeEntryDayApprovalApi} from '@/services/st-api';\r\n\r\n @Component({\r\n components: {},\r\n })\r\n export default class TimeEntriesApproval extends Vue {\r\n @Prop() currentDate: DateTime;\r\n\r\n get currentDayCanBeSubmitted(): boolean {\r\n const day = this.timeEntryDays.find((_) => _.entryDay.substring(0, 10) == this.currentDate.toFormat('yyyy-MM-dd'));\r\n if (!day) {\r\n return true;\r\n }\r\n\r\n return day.appUserDay.dayCanBeSubmitted;\r\n }\r\n\r\n get currentWeekCanBeSubmitted(): boolean {\r\n if (this.timeEntryDays.map((_) => _.appUserDay.dayCanBeSubmitted).filter((_) => _ === true).length) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n get dayLockedComment(): string {\r\n const day = this.timeEntryDays.find((_) => _.entryDay.substring(0, 10) == this.currentDate.toFormat('yyyy-MM-dd'));\r\n if (!day) {\r\n return '';\r\n }\r\n\r\n return day.appUserDay.dayLockedApprovalComment;\r\n }\r\n\r\n get timeEntryDays(): TimeEntryDay[] {\r\n return TimeEntryStore.TimeEntryDays;\r\n }\r\n\r\n @Emit('approvalChanged')\r\n async submitDay() {\r\n let model = TimeEntryDayApprovalEditModel.fromJS({});\r\n model.appUserId = UserStore.currentUser.id;\r\n model.approvalEnum = TimeEntryDayApprovalEnum.IsSubmitted;\r\n model.date = this.currentDate.toFormat(\"yyyy-MM-dd\");\r\n model.approvalMode = 'day';\r\n\r\n await stTimeEntryDayApprovalApi.setTimeEntryDayApproval(model);\r\n }\r\n\r\n @Emit('approvalChanged')\r\n async submitWeek() {\r\n let model = TimeEntryDayApprovalEditModel.fromJS({});\r\n model.appUserId = UserStore.currentUser.id;\r\n model.approvalEnum = TimeEntryDayApprovalEnum.IsSubmitted;\r\n model.date = this.currentDate.toFormat(\"yyyy-MM-dd\");\r\n model.approvalMode = 'week';\r\n\r\n await stTimeEntryDayApprovalApi.setTimeEntryDayApproval(model);\r\n }\r\n }\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntriesApproval.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntriesApproval.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntriesApproval.vue?vue&type=template&id=3bbd1c74&\"\nimport script from \"./TimeEntriesApproval.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntriesApproval.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-item mt-0 last:border-b-0 bg-white transition duration-150 cursor-auto\"},[_c('div',{staticClass:\"st-list-item-content no-hover\"},[_c('div',{staticClass:\"col-span-3 sm:col-span-7\"},[_c('div',{staticClass:\"flex items-center h-full\"},[_c('i',{staticClass:\"far fa-lg fa-pause ml-4 mr-6\"}),_c('div',{staticClass:\"font-bold truncate overflow-hidden\"},[_vm._v(_vm._s(_vm.$t('Pause')))])])]),_c('div',{staticClass:\"hidden sm:flex col-span-1 items-center justify-end\"},[(_vm.entry.isInputTimeFromTo)?_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"whitespace-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.entry.timeFrom)+\" \")]),_c('div',{staticClass:\"whitespace-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.entry.timeTo)+\" \")])]):_vm._e(),(!_vm.entry.isValid)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.entry.warnings[0].warning),expression:\"entry.warnings[0].warning\"}],staticClass:\"far fa-exclamation-triangle text-red-400 ml-4 mr-4\"}):_vm._e()]),_c('div',{staticClass:\"col-span-4 sm:col-span-1 flex items-center\"},[_c('div',{staticClass:\"w-full flex flex-col whitespace-nowrap text-right\"},[_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.entry.durationMinutes))+\" h\")])])]),_c('div',{staticClass:\"col-span-5 sm:col-span-3 flex items-center justify-end\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\nimport { DeleteResultModel, TimeEntryViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stTimeEntryApi } from '@/services/st-api';\nimport { TimeEntryStore } from '@/store/time-entry-store';\nimport { notifyDeletion, notifySuccess } from '@/utlitities/notifications';\n\n@Component({\n components: {},\n})\nexport default class AutoPauseEntry extends Vue {\n @Prop() entry: TimeEntryViewModel | undefined;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoPauseEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoPauseEntry.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AutoPauseEntry.vue?vue&type=template&id=56aebba0&\"\nimport script from \"./AutoPauseEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./AutoPauseEntry.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-8 mt-8 bg-white rounded-large shadow flex justify-between items-center relative select-none\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Stundenkonto Übersicht')))]),(_vm.isLoaded && _vm.summary.hasTargetHoursGlobal && false)?_c('div',{staticClass:\"flex\"},[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getApprovalTooltip()),expression:\"getApprovalTooltip()\"}],staticClass:\"p-2 w-36 relative justify-between px-4 border border-gray-300 rounded ml-4 shadow flex items-center\"},[_c('st-loading',{attrs:{\"absolute\":true,\"delay-loading\":_vm.loading}}),_c('div',{staticClass:\"p-3 pr-5\"},[(!_vm.summary.displayOvertimeIsNotApprovedWarning && !_vm.summary.overtimeIsApproved)?_c('i',{staticClass:\"far fa-calendar-week\"}):_vm._e(),(_vm.summary.displayOvertimeIsNotApprovedWarning)?_c('i',{staticClass:\"far fa-exclamation-triangle text-red-500 font-bold\"}):_vm._e(),(_vm.summary.overtimeIsApproved)?_c('i',{staticClass:\"far fa-check-circle text-green-500 font-bold\"}):_vm._e()]),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[_c('span',{class:{ 'text-red-500': _vm.summary.balanceWeek.durationMinutesBalance < 0, 'text-green-500': _vm.summary.balanceWeek.durationMinutesBalance > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSignAndPlusMinus\")(_vm.summary.balanceWeek.durationMinutesBalance))+\" h \")])]),_c('div',{staticClass:\"text-right text-sm\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.summary.balanceWeek.durationMinutesWork))+\" / \"+_vm._s(_vm._f(\"durationHours\")(_vm.summary.balanceWeek.durationMinutesTarget)))])])],1),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Gesamtsaldo bis einschließlich heute'),expression:\"'Gesamtsaldo bis einschließlich heute'\"}],staticClass:\"p-2 w-36 relative justify-between px-4 border border-gray-300 rounded ml-4 shadow flex items-center\"},[_c('st-loading',{attrs:{\"absolute\":true,\"delay-loading\":_vm.loading}}),_vm._m(0),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[_c('span',{class:{ 'text-red-500': _vm.summary.balanceOverall.durationMinutesBalance < 0, 'text-green-500': _vm.summary.balanceOverall.durationMinutesBalance > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSignAndPlusMinus\")(_vm.summary.balanceOverall.durationMinutesBalance))+\" h \")])])])],1)]):_vm._e(),(_vm.isLoaded && _vm.summary.hasTargetHoursGlobal)?_c('div',{staticClass:\"flex\"},[(_vm.isNotInFuture)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getTodayTooltip(_vm.todaysAppUserDay)),expression:\"getTodayTooltip(todaysAppUserDay)\"}],staticClass:\"p-2 w-36 relative justify-between px-4 border border-gray-300 rounded ml-4 shadow flex items-center\"},[_c('st-loading',{attrs:{\"absolute\":true,\"delay-loading\":_vm.loading}}),_vm._m(1),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[_c('span',{class:{ 'text-red-500': _vm.todaysAppUserDay.balanceMinutes < 0, 'text-green-500': _vm.todaysAppUserDay.balanceMinutes > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSignAndPlusMinus\")(_vm.todaysAppUserDay.balanceMinutes))+\" h \")])]),_c('div',{staticClass:\"text-right text-sm\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.todaysAppUserDay.durationMinutes))+\" / \"+_vm._s(_vm._f(\"durationHours\")(_vm.todaysAppUserDay.targetMinutes)))])])],1):_vm._e(),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Gesamtsaldo bis einschließlich gestern'),expression:\"'Gesamtsaldo bis einschließlich gestern'\"}],staticClass:\"p-2 w-36 relative justify-between px-4 border border-gray-300 rounded ml-4 shadow flex items-center\"},[_c('st-loading',{attrs:{\"absolute\":true,\"delay-loading\":_vm.loading}}),_vm._m(2),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[_c('span',{class:{ 'text-red-500': _vm.summary.balanceOverall.durationMinutesBalance < 0, 'text-green-500': _vm.summary.balanceOverall.durationMinutesBalance > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSignAndPlusMinus\")(_vm.summary.balanceOverall.durationMinutesBalance))+\" h \")])])])],1)]):_vm._e(),(_vm.isLoaded && !_vm.summary.hasTargetHoursGlobal)?_c('div',{staticClass:\"flex\"},[(_vm.todaysAppUserDay)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Gewählter Tag'),expression:\"'Gewählter Tag'\"}],staticClass:\"p-2 w-36 relative justify-between px-4 border border-gray-300 rounded ml-4 shadow flex items-center\"},[_c('st-loading',{attrs:{\"absolute\":true,\"delay-loading\":_vm.loading}}),_vm._m(3),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.todaysAppUserDay.durationMinutes))+\" h\")])])])],1):_vm._e(),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Gesamtsaldo bis gestern'),expression:\"'Gesamtsaldo bis gestern'\"}],staticClass:\"p-2 w-36 relative justify-between px-4 border border-gray-300 rounded ml-4 shadow flex items-center\"},[_c('st-loading',{attrs:{\"absolute\":true,\"delay-loading\":_vm.loading}}),_vm._m(4),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.summary.balanceOverall.durationMinutesWork))+\" h\")])])])],1)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-3 pr-5\"},[_c('i',{staticClass:\"far fa-sigma\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-3 pr-5\"},[_c('i',{staticClass:\"far fa-calendar\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-3 pr-5\"},[_c('i',{staticClass:\"far fa-sigma\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-3 pr-5\"},[_c('i',{staticClass:\"far fa-calendar-week\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-3 pr-5\"},[_c('i',{staticClass:\"far fa-sigma\"})])}]\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { TimeAccountStore } from '@/store/timeaccount-store';\nimport {TimeAccountTeamWeeklyOverviewWeekModel, WeekAppUserDay} from '@/services/api/nswag/stapiclient_generated';\nimport {sum} from 'lodash';\nimport {TimeEntryStore} from '@/store/time-entry-store';\nimport {DateTime} from 'luxon';\n\n@Component({\n methods: {sum},\n components: {},\n})\nexport default class TimeAccountSummary extends Vue {\n delayLoading = false;\n\n get loading() {\n return TimeAccountStore.loading;\n }\n\n get isLoaded() {\n return TimeAccountStore.isLoaded;\n }\n\n get summary() {\n return TimeAccountStore.TimeAccountSummary;\n }\n\n get todaysAppUserDay(): WeekAppUserDay {\n let todayData = this.summary.currentWeekAppUserDays.filter(_=>_.date.substr(0,10) == TimeEntryStore.selectedDate.toFormat(\"yyyy-MM-dd\"));\n return todayData[0];\n }\n\n get isNotInFuture() : boolean {\n if (!this.summary || !TimeEntryStore.selectedDate)\n return false;\n\n return TimeEntryStore.selectedDate.startOf('day') <= DateTime.fromISO(this.summary.dateTo);\n }\n\n getTodayTooltip(day: WeekAppUserDay): string {\n return 'Gewählter Tag: ' + DateTime.fromISO(day.date).toFormat(\"dd.MM.yyyy\");\n }\n\n getApprovalTooltip() {\n let toolTipText = '
Gewählte Woche (in aktueller Woche Werte bis einschließlich heute)
';\n\n if (this.summary.overtimeIsApproved)\n {\n toolTipText += '
Ãœberstunden sind genehmigt
';\n if (this.summary.overtimeIsApprovedComment)\n {\n toolTipText+='
Kommentar:
' + this.summary.overtimeIsApprovedComment + '
';\n }\n }\n\n if (this.summary.displayOvertimeIsNotApprovedWarning)\n {\n toolTipText += '
Ãœberstunden sind nicht genehmigt
';\n }\n\n return {\n content: toolTipText,\n isHtml: true,\n };\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccountSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccountSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeAccountSummary.vue?vue&type=template&id=4860dcb9&\"\nimport script from \"./TimeAccountSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeAccountSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport { AppUserDayViewModel, NewsModel, RightEnum, TimeEntryDay } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport DateSlider from \"@/views/TimeEntries/Components/DateSlider.vue\";\r\nimport { DateTime } from \"luxon\";\r\nimport { dateEqual, DateForEach, endOfWeek, startOfWeek } from \"@/utlitities/helper\";\r\nimport TimeEntryEdit from \"@/views/TimeEntries/TimeEntryEdit/TimeEntryEdit.vue\";\r\nimport PauseEdit from \"@/views/TimeEntries/TimeEntryEdit/PauseEdit.vue\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport { TimeEntryStore } from \"@/store/time-entry-store\";\r\n\r\nimport TimeEntry from \"@/views/TimeEntries/TimeEntry.vue\";\r\nimport PauseEntry from \"@/views/TimeEntries/PauseEntry.vue\";\r\nimport StopwatchOldLayout from \"@/views/Stopwatch/OldLayout/StopwatchOldLayout.vue\";\r\nimport { stNewsApi, stTimeEntryApi } from \"@/services/st-api\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\nimport StBadge from \"@/components/basic/StBadge.vue\";\r\nimport { StopwatchStore } from \"@/store/stopwatch-store\";\r\nimport UserSelect from \"@/views/TimeEntries/UserSelect.vue\";\r\nimport TimeEntriesApproval from '@/views/TimeEntries/Components/TimeEntriesApproval.vue';\r\nimport AutoPauseEntry from \"@/views/TimeEntries/AutoPauseEntry.vue\";\r\nimport TimeAccountSummary from '@/views/TimeEntries/Components/TimeAccountSummary.vue';\r\n\r\nComponent.registerHooks([\"beforeRouteUpdate\", \"beforeRouteEnter\"]);\r\n\r\n@Component({\r\n components: {\r\n TimeAccountSummary,\r\n TimeEntriesApproval,\r\n PauseEntry,\r\n AutoPauseEntry,\r\n TimeEntry,\r\n DateSlider,\r\n TimeEntryEdit,\r\n PauseEdit,\r\n StopwatchOldLayout,\r\n StBadge,\r\n UserSelect\r\n }\r\n})\r\nexport default class TimeEntries extends Vue {\r\n copyLastWorkdayLoading: boolean = false;\r\n copyWeekBeforeLoading: boolean = false;\r\n\r\n loading = false;\r\n delayLoading = false;\r\n\r\n newsModel: NewsModel = NewsModel.fromJS({});\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n if(!this.selectedUserId){\r\n this.selectedUserId = UserStore.currentUser.id ?? 0;\r\n }\r\n\r\n await this.loadData(this.selectedDate);\r\n await StopwatchStore.loadStopwatch();\r\n } finally {\r\n this.loading = false;\r\n }\r\n this.getNews();\r\n }\r\n\r\n async beforeRouteEnter(to: any, from: any, next: any) {\r\n TimeEntryStore.Reset(false);\r\n next();\r\n }\r\n\r\n async beforeRouteUpdate(to: any, from: any, next: any) {\r\n next();\r\n if (to.name == \"TimeEntries\") {\r\n try {\r\n this.delayLoading = true;\r\n await this.loadData(this.selectedDate);\r\n } finally {\r\n this.delayLoading = false;\r\n }\r\n }\r\n }\r\n\r\n get useTimeApproval() {\r\n return UserStore.userSettings.needsTimeEntryApproval;\r\n }\r\n\r\n get useTimeAccountSummary() {\r\n return UserStore.userSettings.featureFlagTimeAccountSummaryOnTimeEntryPage && UserStore.currentUser.tempUseNewTimeAccountSummary;\r\n }\r\n\r\n get selectedUserId(){\r\n return TimeEntryStore.selectedUserId;\r\n }\r\n\r\n set selectedUserId(data: number){\r\n TimeEntryStore.SetSelectedUserId(data);\r\n }\r\n\r\n get useProjectTimeTracking() {\r\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\r\n }\r\n\r\n get canEditTimeEntriesEnumValue(): RightEnum {\r\n return RightEnum.CanEditTimeEntriesForEmployees;\r\n }\r\n\r\n get hasFeatureFlagTimeApproval(){\r\n return UserStore.userSettings.featureFlagTimeApproval;\r\n }\r\n\r\n async getNews() {\r\n this.newsModel = await stNewsApi.getNews();\r\n }\r\n\r\n async newsClicked() {\r\n await stNewsApi.newsClicked();\r\n this.getNews();\r\n }\r\n\r\n get isDifferentUser() {\r\n return this.selectedUserId != UserStore.currentUser.id;\r\n }\r\n\r\n get canViewRates() {\r\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\r\n }\r\n\r\n get accountIsLocked() {\r\n return UserStore.userSettings.accountIsLocked;\r\n }\r\n\r\n get items() {\r\n if (!TimeEntryStore.TimeEntryDays?.length || this.dateNotInSlider(this.selectedDate)) {\r\n let startOfWeekDt = startOfWeek(this.selectedDate);\r\n let endOfWeekDt = endOfWeek(this.selectedDate);\r\n\r\n let dts = DateForEach(startOfWeekDt, endOfWeekDt);\r\n\r\n return dts.map((x) => {\r\n return TimeEntryDay.fromJS({\r\n entryDay: x.toISODate(),\r\n timeEntries: [],\r\n appUserDay: AppUserDayViewModel.fromJS({ dayDescription: {} }),\r\n revenue: 0,\r\n durationMinutes: 0\r\n });\r\n });\r\n }\r\n\r\n return TimeEntryStore.TimeEntryDays;\r\n }\r\n\r\n set items(data: TimeEntryDay[]) {\r\n TimeEntryStore.SetTimeEntryDays(data);\r\n }\r\n\r\n get userDatePattern() {\r\n return UserStore.userSettings.datePattern;\r\n }\r\n\r\n get selectedDate() {\r\n return TimeEntryStore.SelectedDate;\r\n }\r\n\r\n set selectedDate(data: DateTime) {\r\n TimeEntryStore.SetSelectedDate(data);\r\n }\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n get useManualPause() {\r\n return UserStore.useManualPause;\r\n }\r\n\r\n get allowEntriesOnFreeDays() {\r\n return true;\r\n }\r\n\r\n get showFullWeek() {\r\n return UserStore.userSettings.timeEntriesShowFullWeek;\r\n }\r\n\r\n isSelectedDate(entryDay: string) {\r\n return dateEqual(this.selectedDate, DateTime.fromISO(entryDay));\r\n }\r\n\r\n displayDay(day: TimeEntryDay) {\r\n if (\r\n day.timeEntries!.length > 0 ||\r\n day.entryDay?.substring(0, 10) == this.selectedDate.toFormat(\"yyyy-MM-dd\") ||\r\n this.openDays.indexOf(day.entryDay!.substring(0, 10)) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n private openDays: string[] = [];\r\n\r\n collapse(day: TimeEntryDay) {\r\n if (this.openDays.filter((_) => _ == day.entryDay!.substring(0, 10)).length) {\r\n this.openDays = this.openDays.filter((_) => _ != day.entryDay?.substring(0, 10));\r\n } else {\r\n this.openDays.push(day.entryDay!.substring(0, 10));\r\n }\r\n }\r\n\r\n dateNotInSlider(date: DateTime) {\r\n return (\r\n !TimeEntryStore.TimeEntryDays?.length ||\r\n !TimeEntryStore.TimeEntryDays.some((x) => {\r\n return dateEqual(DateTime.fromISO(x.entryDay!), date);\r\n })\r\n );\r\n }\r\n\r\n async changeSelectedDate(date: DateTime) {\r\n this.selectedDate = date;\r\n\r\n //scroll day into view if we display the whole week\r\n if (UserStore.currentUser.timeEntriesShowFullWeek) {\r\n const dayHeader = document.getElementById(this.selectedDate.toFormat(\"yyyy-MM-dd\"));\r\n if (dayHeader) {\r\n dayHeader.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"end\"\r\n });\r\n }\r\n }\r\n\r\n if (this.dateNotInSlider(date)) {\r\n try {\r\n this.loading = true;\r\n await this.loadData(date);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n }\r\n\r\n async approvalChanged() {\r\n await this.loadData(this.selectedDate);\r\n }\r\n\r\n addTimeEntry(day: string) {\r\n let date = DateTime.fromISO(day);\r\n\r\n if (this.isDifferentUser) {\r\n this.$router.push({\r\n name: \"TimeEntryAddForUser\",\r\n params: {\r\n id: \"0\",\r\n appUserId: this.selectedUserId.toString(),\r\n entryDate: date.toFormat(\"yyyy-MM-dd\")\r\n }\r\n });\r\n } else {\r\n this.$router.push({ name: \"TimeEntryAdd\", params: { id: \"0\", entryDate: date.toFormat(\"yyyy-MM-dd\") } });\r\n }\r\n }\r\n\r\n addPauseEntry(day: string) {\r\n let date = DateTime.fromISO(day);\r\n this.$router.push({ name: \"PauseAdd\", params: { id: \"0\", entryDate: date.toFormat(\"yyyy-MM-dd\") } });\r\n }\r\n\r\n async copyLastWorkday(day: TimeEntryDay) {\r\n try {\r\n this.copyLastWorkdayLoading = true;\r\n let copied = await stTimeEntryApi.copyLastWorkday(this.selectedUserId, day.entryDay!);\r\n await this.loadData(DateTime.fromISO(day.entryDay!));\r\n if (!copied) {\r\n notifySuccess(\"Es wurden keine Zeiteinträge zum kopieren gefunden.\");\r\n } else {\r\n if (copied == 1) {\r\n notifySuccess(`Es wurde ${copied} Zeiteintrag kopiert`);\r\n } else {\r\n notifySuccess(`Es wurden ${copied} Zeiteinträge kopiert`);\r\n }\r\n }\r\n } finally {\r\n this.copyLastWorkdayLoading = false;\r\n }\r\n }\r\n\r\n async copyFromDayWeekBefore(day: TimeEntryDay) {\r\n try {\r\n this.copyWeekBeforeLoading = true;\r\n let copied = await stTimeEntryApi.copyDayPreviousWeek(this.selectedUserId, day.entryDay!);\r\n await this.loadData(DateTime.fromISO(day.entryDay!));\r\n if (!copied) {\r\n notifySuccess(\"Es wurden keine Zeiteinträge zum kopieren gefunden.\");\r\n } else {\r\n if (copied == 1) {\r\n notifySuccess(`Es wurde ${copied} Zeiteintrag kopiert`);\r\n } else {\r\n notifySuccess(`Es wurden ${copied} Zeiteinträge kopiert`);\r\n }\r\n }\r\n } finally {\r\n this.copyWeekBeforeLoading = false;\r\n }\r\n }\r\n\r\n async userChanged(appUserId: number) {\r\n try {\r\n this.loading = true;\r\n this.selectedUserId = appUserId;\r\n await this.loadData(this.selectedDate);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async loadData(date: DateTime) {\r\n await TimeEntryStore.LoadTimeEntryDays(date);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntries.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntries.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntries.vue?vue&type=template&id=ee3beb1e&\"\nimport script from \"./TimeEntries.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntries.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Kategorien'))+\" \"),(_vm.showArchived)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('Archiv'))+\")\")]):_vm._e()]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Anlage und Bearbeitung von Kategorien')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-flag\"},on:{\"click\":function($event){return _vm.editTag(0)}}},[_vm._v(_vm._s(_vm.$t('Neue Kategorie'))+\" \")])],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/2 lg:w-1/3\"},[_c('st-search',{attrs:{\"type\":\"text\",\"placeholder\":\"Suche...\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('st-toggle',{model:{value:(_vm.showArchived),callback:function ($$v) {_vm.showArchived=$$v},expression:\"showArchived\"}},[_c('div',{staticClass:\"text-onbgsecondary-normal\"},[_vm._v(_vm._s(_vm.$t('Archiv anzeigen')))])])],1),_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),(!_vm.filteredTags.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-flag\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Kategorien gefunden')))]),(_vm.items.length)?_c('div',{staticClass:\"subdesc\"},[_vm._v(\" \"+_vm._s(_vm.$t('Bitte die Suche anpassen, oder eine neue Kategorie anlegen'))+\" \")]):_vm._e(),(!_vm.items.length)?_c('div',{staticClass:\"subdesc\"},[_vm._v(\" \"+_vm._s(_vm.$t('Hier können Sie Kategorien für die Zeiterfassung hinzufügen. Diese können Sie verwenden, um Ihre Zeiteinträge projektübergreifend zu kategorisieren.'))+\" \")]):_vm._e()]):_vm._e(),_vm._l((_vm.filteredTags),function(tag){return _c('div',{key:tag.id,staticClass:\"st-list-item\",on:{\"click\":function($event){return _vm.editTag(tag.id)}}},[_c('div',{staticClass:\"flex justify-between items-center hover:bg-gray-50 p-4\"},[_c('div',{staticClass:\"flex items-center pl-4\"},[_c('i',{staticClass:\"far fa-flag fa-lg\"}),_c('div',{staticClass:\"ml-6 flex align-items-center flex-col\"},[_c('div',{staticClass:\"tag\",class:tag.colorClass},[_vm._v(_vm._s(tag.name))])])]),_c('div',{staticClass:\"align-self-center flex\"},[_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editTag(tag.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),(!tag.isArchived)?_c('st-button-round',{attrs:{\"loading\":_vm.archivedLoadingId === tag.id,\"tooltipText\":_vm.$t('Archivieren')},on:{\"click\":function($event){return _vm.toggleArchive(tag.id)}}},[_c('i',{staticClass:\"far fa-inbox-in\"})]):_vm._e(),(tag.isArchived)?_c('st-button-round',{attrs:{\"loading\":_vm.archivedLoadingId === tag.id,\"tooltipText\":_vm.$t('Aktivieren')},on:{\"click\":function($event){return _vm.toggleArchive(tag.id)}}},[_c('i',{staticClass:\"far fa-inbox-out\"})]):_vm._e(),_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.tagDelete(tag.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)])])})],2)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { DeleteResultModel, TagFilter, TagViewModel } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stCustomerApi, stProjectTaskApi, stTagApi } from \"@/services/st-api\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport StSearch from \"@/components/basic/StSearch.vue\";\r\nimport { orderBy } from \"lodash\";\r\nimport { DialogResponse } from \"vue-tailwind/dist/components/TDialog\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\n\r\nComponent.registerHooks([\"beforeRouteUpdate\"]);\r\n\r\n@Component({\r\n components: {\r\n StSearch,\r\n StInput2\r\n }\r\n})\r\nexport default class Tags extends Vue {\r\n items: TagViewModel[] = [];\r\n search: string = \"\";\r\n delLoading: boolean = false;\r\n showArchived: boolean = false;\r\n archivedLoadingId = 0;\r\n\r\n loading = false;\r\n delayLoading = false;\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async beforeRouteUpdate(to: any, from: any, next: any) {\r\n next();\r\n if (to.name == \"Tags\") {\r\n try {\r\n this.delayLoading = true;\r\n await this.loadData();\r\n } finally {\r\n this.delayLoading = false;\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"showArchived\")\r\n async changeShowArchived() {\r\n this.loading = true;\r\n await this.loadData();\r\n this.loading = false;\r\n }\r\n\r\n async toggleArchive(id: number) {\r\n try {\r\n this.archivedLoadingId = id;\r\n const item = await stTagApi.get(id);\r\n item.isArchived = !item.isArchived;\r\n await stTagApi.put(id, item);\r\n await this.loadData();\r\n\r\n if (item.isArchived) {\r\n notifySuccess(\"Erfolgreich archiviert\");\r\n } else {\r\n notifySuccess(\"Erfolgreich aktiviert\");\r\n }\r\n } finally {\r\n this.archivedLoadingId = 0;\r\n }\r\n }\r\n\r\n get filteredTags() {\r\n return orderBy(\r\n this.items.filter((_) => _.name?.toLowerCase().indexOf(this.search.toLowerCase()) != -1),\r\n \"name\"\r\n );\r\n }\r\n\r\n editTag(id: number) {\r\n this.$router.push({ name: \"EditTag\", params: { id: id.toString() } });\r\n }\r\n\r\n async loadData() {\r\n const filter: TagFilter = TagFilter.fromJS({ isArchived: this.showArchived });\r\n this.items = await stTagApi.getList(filter);\r\n }\r\n\r\n async tagDelete(id: number) {\r\n try {\r\n this.delLoading = true;\r\n const result = await stTagApi.delete(id, false);\r\n if (result.confirmationNeeded) {\r\n const res: DialogResponse = await this.$dialog.confirm({\r\n title: this.$t(\"Bestätigung\").toString(),\r\n text: result.message,\r\n variant: \"danger\",\r\n okButtonText: this.$t(\"Löschen\").toString(),\r\n cancelButtonText: this.$t(\"Abbrechen\").toString()\r\n });\r\n if (res.isOk) {\r\n await stTagApi.delete(id, true);\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } else {\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } finally {\r\n this.delLoading = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Tags.vue?vue&type=template&id=860d65f0&\"\nimport script from \"./Tags.vue?vue&type=script&lang=ts&\"\nexport * from \"./Tags.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Feiertagsgruppen'))+\" \"),(_vm.showGlobal)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('Vorlagen'))+\")\")]):_vm._e()]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Anlage und Bearbeitung von Feiertagsgruppen')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"fal fa-tree-palm\"},on:{\"click\":function($event){return _vm.editGroup(0)}}},[_vm._v(_vm._s(_vm.$t('Neue Feiertagsgruppe')))])],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/2 lg:w-1/3\"},[_c('st-search',{attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Suche...')},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('st-toggle',{model:{value:(_vm.showGlobal),callback:function ($$v) {_vm.showGlobal=$$v},expression:\"showGlobal\"}},[_c('div',{staticClass:\"text-onbgsecondary-normal\"},[_vm._v(_vm._s(_vm.$t('Vorlagen anzeigen')))])])],1),_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),(!_vm.filteredGroups.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"fal fa-tree-palm\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine eigenen Feiertagsgruppe gefunden')))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(\" \"+_vm._s(_vm.$t('Hier können Sie eigene Feiertagsgruppen definieren, bspw. wenn Sie zusätzlich zu den Vorlagen weitere Betriebsfeiertage o.Ä. haben.'))+\" \")])]):_vm._e(),_vm._l((_vm.filteredGroups),function(group){return _c('div',{key:group.id,staticClass:\"st-list-item relative\",on:{\"click\":function($event){return _vm.editGroup(group.id)}}},[_c('div',{staticClass:\"st-list-item-content\"},[_c('div',{staticClass:\"col-span-6 sm:col-span-8 flex items-center\"},[_c('i',{staticClass:\"fal fa-tree-palm fa-lg fa-fw\"}),_c('span',{staticClass:\"st-list-item-header\"},[_vm._v(\" \"+_vm._s(group.name)+\" \")])]),_c('div',{staticClass:\"hidden sm:flex col-span-2 flex items-center justify-self-end\"}),_c('div',{staticClass:\"col-span-6 sm:col-span-2 flex justify-end items-center\"},[(group.isGlobal)?_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Anzeigen')},on:{\"click\":function($event){return _vm.editGroup(group.id)}}},[_c('i',{staticClass:\"far fa-eye\"})]):_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editGroup(group.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),(!group.isGlobal)?_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.deleteItem(group.id)}}}):_vm._e()],1)])])})],2)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport {\n PublicHolidayGroupFilter,\n PublicHolidayGroupViewModel\n} from '@/services/api/nswag/stapiclient_generated';\nimport { stPublicHolidayGroupApi } from '@/services/st-api';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StSearch from '@/components/basic/StSearch.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport { orderBy } from 'lodash';\nimport { DialogResponse } from 'vue-tailwind/dist/components/TDialog';\nimport { UserStore } from '@/store/user-module';\n\nComponent.registerHooks(['beforeRouteUpdate']);\n\n@Component({\n components: {\n StBadge,\n StToggle,\n StSearch,\n StInput2,\n },\n})\nexport default class PublicHolidayGroup extends Vue {\n items: PublicHolidayGroupViewModel[] = [];\n search: string = '';\n\n delLoading: boolean = false;\n showGlobal: boolean = false;\n\n loading = false;\n delayLoading = false;\n\n async mounted() {\n try {\n this.loading = true;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n next();\n if (to.name == 'PublicHolidayGroup') {\n try {\n this.delayLoading = true;\n await this.loadData();\n } finally {\n this.delayLoading = false;\n }\n }\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n @Watch('showGlobal')\n async changeShowGlobal() {\n this.loading = true;\n await this.loadData();\n this.loading = false;\n }\n\n get filteredGroups() {\n return orderBy(\n this.items.filter((_) => _.name?.toLowerCase().indexOf(this.search.toLowerCase()) != -1),\n 'name'\n );\n }\n\n async editGroup(id: number) {\n await this.$router.push({ name: 'PublicHolidayGroupEdit', params: { id: id.toString() } });\n }\n\n async loadData() {\n const filter: PublicHolidayGroupFilter = PublicHolidayGroupFilter.fromJS({ isGlobal: this.showGlobal });\n this.items = await stPublicHolidayGroupApi.getList(filter);\n this.loading = false;\n }\n\n async deleteItem(id: number) {\n try {\n this.delLoading = true;\n const result = await stPublicHolidayGroupApi.delete(id, false);\n if (result.confirmationNeeded) {\n const res: DialogResponse = await this.$dialog.confirm({\n title: this.$t('Bestätigung').toString(),\n text: result.message,\n variant: 'danger',\n okButtonText: this.$t('Löschen').toString(),\n cancelButtonText: this.$t('Abbrechen').toString(),\n });\n if (res.isOk) {\n await stPublicHolidayGroupApi.delete(id, true);\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } else {\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } finally {\n this.delLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayGroup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayGroup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PublicHolidayGroup.vue?vue&type=template&id=537189bb&\"\nimport script from \"./PublicHolidayGroup.vue?vue&type=script&lang=ts&\"\nexport * from \"./PublicHolidayGroup.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Eigene Abwesenheiten')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Urlaub, Krankheit, Sonstige Abwesenheiten')))])]),_c('div',{staticClass:\"flex items-center justify-end\"},[_c('div',{staticClass:\"w-full mr-4 mt-8 sm:mt-0 sm:w-1/2 lg:w-1/3 h-full flex items-center text-gray-700\"},[_c('user-select',{staticClass:\"mt-0 mb-0\",attrs:{\"no-padding\":true,\"right-enum\":_vm.canEditAbsencesForEmployees},on:{\"input\":_vm.loadDataDelayLoading},model:{value:(_vm.selectedUserId),callback:function ($$v) {_vm.selectedUserId=$$v},expression:\"selectedUserId\"}})],1),_c('st-button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Sie können ebenso direkt das Datum im Kalender anklicken')),expression:\"$t('Sie können ebenso direkt das Datum im Kalender anklicken')\"}],staticClass:\"green mt-8 sm:mt-0 whitespace-nowrap\",attrs:{\"icon\":\"far fa-tree-palm\"},on:{\"click\":function($event){return _vm.addAbsence()}}},[_vm._v(\" \"+_vm._s(_vm.$t('Abwesenheit eintragen / beantragen'))+\" \")])],1)]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header text-lg font-bold\"},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.$t('Jahr'))+\" \"+_vm._s(_vm.year))]),_c('i',{staticClass:\"far fa-arrow-circle-left mr-4 text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(-1)}}}),_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(1)}}})])])])]),_c('div',{staticClass:\"grid lg:grid-cols-2 md:grid-cols-1 gap-4 mb-4\"},[_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Urlaubstage'))+\" \"+_vm._s(_vm.year))]),_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"grid grid-cols-2 gap-4\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Kontingent')))]),_c('div',{staticClass:\"flex items-center\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.totalVacationDaysThisYear))+\" \"),(_vm.vacationStats.carryOverVactionDays)?_c('span',{staticClass:\"ml-2\"},[_vm._v(\" (\"+_vm._s(_vm.$t('davon'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.carryOverVactionDays))+\" \"+_vm._s(_vm.$t('aus Vorjahr'))+\") \")]):_vm._e()]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Genommen / Beantragt')))]),_c('div',{staticClass:\"flex items-center\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.approvedVacationDays))+\" / \"+_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.requestedVacationDays)))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Rest')))]),_c('div',[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.restVacationDays)))])])])],1),_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Nächster Urlaub')))]),_c('div',{staticClass:\"report-card-body text-center\"},[(!_vm.vacationStats.nextVacation)?_c('div',{staticClass:\"text-lg\"},[_c('i',{staticClass:\"far fa-frown fa-lg text-gray-700\"}),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Kein Urlaub geplant (genehmigt)'))+\" \")]):_c('div',{staticClass:\"text-lg\"},[_vm._v(\" \"+_vm._s(_vm.$t('In'))+\" \"+_vm._s(_vm.vacationStats.nextVacationInDays)+\" \"),(_vm.vacationStats.nextVacationInDays === 1)?_c('span',[_vm._v(_vm._s(_vm.$t('Tag')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Tagen')))]),_c('br'),_vm._v(\" (\"+_vm._s(_vm._f(\"formatDate\")(_vm.vacationStats.nextVacation.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(_vm.vacationStats.nextVacation.dateTo))+\") \")])])],1)]),_c('st-tabs',{attrs:{\"tabs\":_vm.tabs},scopedSlots:_vm._u([{key:\"calendarHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-calendar mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Kalender'))+\" \")])]},proxy:true},{key:\"listHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-list mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Liste'))+\" \")])]},proxy:true},{key:\"calendar\",fn:function(){return [_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('AbsenceLegend',{attrs:{\"is-own-absences\":true}}),_c('v-calendar',{attrs:{\"rows\":_vm.$screens({ default: 12, lg: 3 }),\"columns\":_vm.$screens({ default: 1, lg: 4 }),\"is-expanded\":\"\",\"attributes\":_vm.attributes,\"fromDate\":_vm.fromDate,\"nav-visibility\":'hidden'},on:{\"dayclick\":_vm.dayclick,\"update:from-page\":_vm.updateCalendar},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar monthLabel = ref.monthLabel;\nvar yearLabel = ref.yearLabel;\nreturn [_c('div',{staticClass:\"text-center text-lg font-bold pt-8\"},[_vm._v(_vm._s(monthLabel)+\" \"+_vm._s(yearLabel))])]}},{key:\"day-popover\",fn:function(ref){\nvar day = ref.day;\nvar dayTitle = ref.dayTitle;\nvar label = ref.label;\nvar attributes = ref.attributes;\nreturn _vm._l((attributes),function(attribute){return _c('div',[(attribute.customData.isAbsence)?_c('div',{staticClass:\"text-xs text-gray-300 font-semibold text-center\"},[_vm._v(\" \"+_vm._s(attribute.customData.absenceType)+\" \"),(attribute.customData.absence.isHalfDay)?_c('span',[_vm._v(\"(1/2 d)\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(attribute.customData.absence.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(attribute.customData.absence.dateTo))+\" \"),(attribute.customData.absence.absenceType.approvalNeeded && !attribute.customData.absence.isApprovalDecided)?_c('div',[_vm._v(_vm._s(_vm.$t('(noch nicht genehmigt)')))]):_vm._e(),(attribute.customData.absence.absenceType.approvalNeeded && attribute.customData.absence.isApprovalDecided && attribute.customData.absence.isApproved)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('(genehmigt)'))+\" \")]):_vm._e(),(attribute.customData.absence.absenceType.approvalNeeded && attribute.customData.absence.isApprovalDecided && !attribute.customData.absence.isApproved)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('(abgelehnt)'))+\" \")]):_vm._e()]):_vm._e(),(attribute.customData.isPublicHoliday)?_c('div',{staticClass:\"text-xs text-gray-300 font-semibold text-center\"},[_c('i',{staticClass:\"far fa-tree-palm\"}),_vm._v(\" \"+_vm._s(_vm.$t('Feiertag'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(attribute.customData.description)+\" \")]):_vm._e()])})}}])})]},proxy:true},{key:\"list\",fn:function(){return [_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-content\"},[(!_vm.absences.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-tree-palm\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Abwesenheiten gefunden')))])]):_vm._e(),_vm._l((_vm.absences),function(absence){return _c('div',{key:absence.id,staticClass:\"st-list-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.editAbsence(absence.id)}}},[_c('div',{staticClass:\"st-list-item-content items-center\"},[_c('div',{staticClass:\"col-span-5 flex items-center\"},[_c('absence-type-icon',{attrs:{\"absence-type\":absence.absenceType}}),_c('div',{staticClass:\"st-list-item-header flex flex-col\"},[_c('div',{staticClass:\"pb-2 break-word\"},[_vm._v(_vm._s(absence.absenceType.description))]),_c('div',{staticClass:\"text-sm font-normal\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(absence.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(absence.dateTo)))])])],1),_c('div',{staticClass:\"col-span-4\"},[(absence.absenceType.approvalNeeded && !absence.isApprovalDecided)?[(!absence.isApproved)?_c('st-badge',{attrs:{\"bgClass\":'bg-yellow-500 text-white'}},[_vm._v(_vm._s(_vm.$t('Beantragt')))]):_vm._e()]:_vm._e(),(absence.absenceType.approvalNeeded && absence.isApprovalDecided)?[(absence.isApproved)?_c('st-badge',[_vm._v(_vm._s(_vm.$t('Genehmigt')))]):_vm._e(),(!absence.isApproved)?_c('st-badge',{attrs:{\"bgClass\":'bg-red-500 text-white'}},[_vm._v(_vm._s(_vm.$t('Abgelehnt')))]):_vm._e()]:_vm._e()],2),_c('div',{staticClass:\"col-span-3 flex items-center justify-end\"},[(!absence.isReadOnly)?_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editAbsence(absence.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]):_vm._e(),(absence.isReadOnly)?_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Details')},on:{\"click\":function($event){return _vm.editAbsence(absence.id)}}},[_c('i',{staticClass:\"far fa-eye\"})]):_vm._e(),(!absence.isReadOnly)?_c('st-delete-button',{on:{\"delete\":function($event){return _vm.deleteAbsence(absence.id)}}},[_c('i',{staticClass:\"far fa-trash\"})]):_vm._e()],1)])])})],2)])]},proxy:true}]),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}}),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading,\"delay-loading\":_vm.delayLoading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(_vm.absenceEditModel.id)?[(!_vm.absenceEditModel.isReadOnly)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Abwesenheit bearbeiten\"))+\" \")]):_vm._e(),(_vm.absenceEditModel.isReadOnly)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Details zur Abwesenheit\"))+\" \")]):_vm._e()]:_c('span',[_vm._v(_vm._s(_vm.$t(\"Neue Abwesenheit anlegen\")))])]},proxy:true}])},[_c('div',[(_vm.absenceEditModel)?_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',[_c('div',{staticClass:\"grid grid-cols-12 gap-4 form-group\"},[(!_vm.isOwnAbsencesEdit)?_c('div',{staticClass:\"col-span-12 md:col-span-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Mitarbeiter\")))]),_c('st-select',{attrs:{\"clearable\":false,\"options\":_vm.users,\"idProp\":\"id\",\"name\":\"Mitarbeiter\"},on:{\"input\":_vm.reloadAbsenceTypes},model:{value:(_vm.absenceEditModel.appUserId),callback:function ($$v) {_vm.$set(_vm.absenceEditModel, \"appUserId\", $$v)},expression:\"absenceEditModel.appUserId\"}})],1):_vm._e(),_c('div',{staticClass:\"col-span-12\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Abwesenheitsart\")))]),(_vm.absenceEditModel.isReadOnly)?_c('div',{staticClass:\"form-control disabled\"},[_vm._v(\" \"+_vm._s(_vm.absenceTypeViewModel.description)),(_vm.absenceTypeViewModel.isArchived)?_c('span',{staticClass:\"ml-2\"},[_vm._v(\"(\"+_vm._s(_vm.$t(\"archiviert\"))+\")\")]):_vm._e()]):_c('st-select',{attrs:{\"clearable\":false,\"grouped\":false,\"options\":_vm.absenceTypes,\"placeholder\":_vm.$t('Bitte auswählen'),\"label\":\"Abwesenheitsart\",\"disabled\":_vm.isReadOnly,\"readonly\":_vm.isReadOnly,\"hideSearchBox\":true},on:{\"input\":_vm.validateAbsence},model:{value:(_vm.absenceEditModel.absenceTypeId),callback:function ($$v) {_vm.$set(_vm.absenceEditModel, \"absenceTypeId\", $$v)},expression:\"absenceEditModel.absenceTypeId\"}})],1)]),_c('div',{staticClass:\"grid grid-cols-12 gap-4 form-group items-center\"},[_c('div',{staticClass:\"col-span-12 sm:col-span-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Datum von\")))]),_c('st-datepicker',{attrs:{\"disabled\":_vm.isReadOnly},on:{\"input\":_vm.changeDateFrom},model:{value:(_vm.absenceEditModel.dateFrom),callback:function ($$v) {_vm.$set(_vm.absenceEditModel, \"dateFrom\", $$v)},expression:\"absenceEditModel.dateFrom\"}})],1),_c('div',{staticClass:\"col-span-12 sm:col-span-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Datum bis\")))]),_c('st-datepicker',{attrs:{\"disabled\":_vm.isHalfDay || _vm.isReadOnly},on:{\"input\":_vm.changeDateTo},model:{value:(_vm.absenceEditModel.dateTo),callback:function ($$v) {_vm.$set(_vm.absenceEditModel, \"dateTo\", $$v)},expression:\"absenceEditModel.dateTo\"}})],1),(_vm.halfDayAllowed && _vm.halfDayMakesSense)?_c('div',{staticClass:\"col-span-12 sm:col-span-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(\" \")]),_c('st-toggle',{staticClass:\"ml-4\",attrs:{\"type\":\"right\",\"disabled\":_vm.isReadOnly},on:{\"input\":_vm.changeHalfDay},model:{value:(_vm.absenceEditModel.isHalfDay),callback:function ($$v) {_vm.$set(_vm.absenceEditModel, \"isHalfDay\", $$v)},expression:\"absenceEditModel.isHalfDay\"}},[_vm._v(_vm._s(_vm.$t(\"Halber Tag\"))+\" \")])],1):_vm._e()]),(_vm.isVacation)?_c('div',{staticClass:\"grid grid-cols-12 gap-4 form-group items-center\"},[_c('div',{staticClass:\"col-span-12 sm:col-span-12\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Berechnung\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Urlaubstage:\"))+\" \"+_vm._s(_vm.absenceValidationViewModel.neededVacationDays))])])]):_vm._e(),(_vm.absenceValidationViewModel.isOverlappingAbsence)?_c('div',{staticClass:\"p-4 bg-red-500 text-white mt-4 rounded-xl\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Sie haben bereits eine andere Abwesenheit in diesem Zeitraum eingetragen. Überlappende Abwesenheiten sind nicht erlaubt.\"))+\" \")]):_vm._e(),(_vm.absenceValidationViewModel.notEnoughVacationDaysRemaining)?_c('div',{staticClass:\"p-4 bg-red-500 text-white mt-4 rounded-xl\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Leider sind nicht genügend Urlaubstage übrig.\"))+\" \"),_c('br'),_c('div',{staticClass:\"font-bold mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Benötigte Urlaubstage:\"))+\" \"),(_vm.absenceValidationViewModel.neededVacationDaysPerYear.length === 1)?_c('span',[_vm._v(_vm._s(_vm.absenceValidationViewModel.neededVacationDaysPerYear[0].number))]):_vm._e()]),_vm._l((_vm.absenceValidationViewModel.neededVacationDaysPerYear),function(value){return (_vm.absenceValidationViewModel.neededVacationDaysPerYear.length > 1)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Jahr\"))+\" \"+_vm._s(value.year)+\" - \"+_vm._s(value.number)+\" \"+_vm._s(_vm.$t(\"Tage\"))+\" \")]):_vm._e()}),_c('div',{staticClass:\"font-bold mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Übrige Urlaubstage:\"))+\" \"),(_vm.absenceValidationViewModel.remainingVacationDaysPerYear.length === 1)?_c('span',[_vm._v(_vm._s(_vm.absenceValidationViewModel.remainingVacationDaysPerYear[0].number))]):_vm._e()]),_vm._l((_vm.absenceValidationViewModel.remainingVacationDaysPerYear),function(value){return (_vm.absenceValidationViewModel.remainingVacationDaysPerYear.length > 1)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"Jahr\"))+\" \"+_vm._s(value.year)+\" - \"+_vm._s(value.number)+\" \"+_vm._s(_vm.$t(\"Tage\"))+\" \")]):_vm._e()}),_c('br')],2):_vm._e(),_c('div',{staticClass:\"grid grid-cols-12 gap-x-4 form-group\"},[_c('div',{staticClass:\"col-span-12 mt-4\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Kommentar (optional)\")))]),_c('st-textarea',{attrs:{\"disabled\":_vm.isReadOnly},model:{value:(_vm.absenceEditModel.description),callback:function ($$v) {_vm.$set(_vm.absenceEditModel, \"description\", $$v)},expression:\"absenceEditModel.description\"}})],1)]),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-between\"},[_c('div',[(_vm.canDelete)?_c('st-button',{staticClass:\"red\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.deleteAbsence}},[_vm._v(_vm._s(_vm.$t(\"Löschen\"))+\" \")]):_vm._e()],1),_c('div',[(!_vm.absenceEditModel.isReadOnly)?_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Abbrechen\"))+\" \")]):_vm._e(),(_vm.absenceEditModel.isReadOnly)?_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Schließen\"))+\" \")]):_vm._e(),(!_vm.isReadOnly)?_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid || _vm.isReadOnly,\"loading\":_vm.saving,\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Speichern\"))+\" \")]):_vm._e()],1)])],1)]}}],null,false,3382160500)}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueDatePicker',{attrs:{\"no-header\":\"\",\"color\":\"#357ebd\",\"value\":_vm.getValue,\"min-date\":_vm.minDate,\"maxDate\":_vm.maxDate,\"format\":_vm.datePattern,\"locale\":_vm.pickerLocale,\"fullscreen-mobile\":true,\"disabled\":_vm.disabled,\"type\":_vm.type},on:{\"input\":_vm.input},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar date = ref.date;\nreturn [_vm._t(\"default\",function(){return [_c('div',{staticClass:\"w-full relative\"},[_c('input',_vm._b({staticClass:\"hidden lg:inline\",class:['form-control select-none w-full', _vm.inputClass, _vm.successButtonColor],attrs:{\"type\":\"text\",\"disabled\":_vm.disabled},domProps:{\"value\":date},on:{\"blur\":_vm.changedDate}},'input',_vm.$attrs,false)),_c('input',_vm._b({staticClass:\"inline lg:hidden\",class:['form-control select-none w-full', _vm.inputClass, _vm.successButtonColor],attrs:{\"type\":\"text\",\"disabled\":_vm.disabled,\"readonly\":\"\"},domProps:{\"value\":date},on:{\"blur\":_vm.changedDate}},'input',_vm.$attrs,false)),(_vm.clearable && _vm.value)?_c('i',{staticClass:\"far fa-times text-lg absolute right-6 top-6\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clear.apply(null, arguments)}}}):_vm._e()])]},{\"date\":date})]}}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport {UserStore} from '@/store/user-module';\nimport {DateTime} from 'luxon';\nimport {successButtonColorClass} from '@/utlitities/color';\nimport { dateGreaterEqual, dateSmallerEqual } from \"@/utlitities/helper\";\n\n@Component({\n inheritAttrs: false,\n components: {},\n})\nexport default class StDatePicker extends Vue {\n @Prop() value!: string;\n @Prop() inputClass!: string;\n @Prop() disabledDates!: any;\n @Prop() disabled!: boolean;\n @Prop() minDate!: string;\n @Prop() maxDate!: string;\n @Prop() clearable!: boolean;\n @Prop({default: 'date'}) type!: string;\n\n get getValue() {\n return this.value;\n }\n\n get successButtonColor(){\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\n }\n\n get datePattern(){\n return (UserStore.userSettings.datePattern ?? 'dd.MM.yyyy').toUpperCase()\n }\n\n get pickerLocale() {\n return {lang: UserStore.userSettings.language};\n }\n\n changedDate(val: any) {\n if (!DateTime.fromFormat(val.target.value, UserStore.userSettings.datePattern).isValid)\n {\n this.input(this.value)\n } else {\n this.input(DateTime.fromFormat(val.target.value, UserStore.userSettings.datePattern).toISODate());\n }\n }\n\n @Emit('input')\n clear():any{\n console.log('clear')\n return null;\n }\n\n @Emit('input')\n input(val: string) {\n if(this.minDate){\n if(dateSmallerEqual(DateTime.fromISO(val),DateTime.fromISO(this.minDate))){\n return this.minDate;\n }\n }\n\n if(this.maxDate){\n if(dateGreaterEqual(DateTime.fromISO(val),DateTime.fromISO(this.maxDate))){\n return this.maxDate;\n }\n }\n return val;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDatePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDatePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StDatePicker.vue?vue&type=template&id=17b9fb51&\"\nimport script from \"./StDatePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./StDatePicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StDatePicker.vue?vue&type=style&index=0&id=17b9fb51&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport {\r\n AbsenceEditModel,\r\n AbsenceTypeEnum,\r\n AbsenceTypeViewModel,\r\n AbsenceValidationResultViewModel,\r\n StSelectListItem\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stAbsenceApi, stAbsenceTypeApi, stAppUserApi } from \"@/services/st-api\";\r\nimport AppUserHistory from \"@/views/User/History/AppUserHistory.vue\";\r\nimport AppUserVacationHistory from \"@/views/User/VacationHistory/AppUserVacationHistory.vue\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport StSelect from \"@/components/basic/StSelect.vue\";\r\nimport StToggle from \"@/components/basic/StToggle.vue\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\nimport StExplanation from \"@/components/basic/StExplanation.vue\";\r\nimport AppUserProjectStaffEdit from \"@/views/User/AppUserProjectStaffEdit.vue\";\r\nimport StTabs from \"@/components/tabs/StTabs.vue\";\r\nimport StDatePicker from \"@/components/basic/StDatePicker.vue\";\r\nimport { DateTime } from \"luxon\";\r\nimport { DialogResponse } from \"vue-tailwind/dist/components/TDialog\";\r\nimport { UserStore } from \"@/store/user-module\";\r\n\r\n@Component({\r\n components: {\r\n StDatePicker,\r\n StTabs,\r\n StExplanation,\r\n AppUserHistory,\r\n AppUserVacationHistory,\r\n SlideIn,\r\n StInput2,\r\n StSelect,\r\n StToggle,\r\n AppUserProjectStaffEdit\r\n }\r\n})\r\nexport default class AbsenceEdit extends Vue {\r\n loading = false;\r\n delayLoading = false;\r\n absenceEditModel: AbsenceEditModel = AbsenceEditModel.fromJS({});\r\n absenceTypes: AbsenceTypeViewModel[] = [];\r\n absenceId: number = 0;\r\n day: string | null = \"\";\r\n appUserId: number = 0;\r\n users: StSelectListItem[] = [];\r\n absenceValidationViewModel: AbsenceValidationResultViewModel = AbsenceValidationResultViewModel.fromJS({});\r\n readonlyAbsenceTypeViewModel: AbsenceTypeViewModel = AbsenceTypeViewModel.fromJS({});\r\n\r\n isOwnAbsencesEdit: boolean = true;\r\n invalid: boolean = false;\r\n\r\n private saving: boolean = false;\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n }\r\n\r\n closeSlideIn() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n\r\n slideOutClosed() {\r\n this.$router.push({ name: this.$route.meta.backRouteName });\r\n }\r\n\r\n async created() {\r\n this.loading = true;\r\n\r\n this.isOwnAbsencesEdit = this.$router.currentRoute.name == \"OwnabsencesEdit\" || !this.canEditAbsencesForEmployees;\r\n this.absenceId = parseInt(this.$route.params.id);\r\n if (this.$route.query.day && this.$route.query.day.length) {\r\n this.day = this.$route.query.day as string;\r\n }\r\n if (this.$route.query.userId && this.$route.query.userId.length) {\r\n this.appUserId = parseInt(this.$route.query.userId as string);\r\n }\r\n }\r\n\r\n async mounted() {\r\n this.loading = true;\r\n this.openSlideIn();\r\n if (this.absenceId == 0) {\r\n if (this.day) {\r\n this.absenceEditModel = await stAbsenceApi.getNewForDay(this.day);\r\n } else {\r\n this.absenceEditModel = await stAbsenceApi.getNew();\r\n }\r\n\r\n if (this.appUserId) {\r\n this.absenceEditModel.appUserId = this.appUserId;\r\n }\r\n } else {\r\n this.absenceEditModel = await stAbsenceApi.get(this.absenceId);\r\n }\r\n\r\n if (this.absenceEditModel.isReadOnly) {\r\n this.readonlyAbsenceTypeViewModel = (await stAbsenceTypeApi.getViewModelById(this.absenceEditModel.absenceTypeId));\r\n } else {\r\n await this.loadAbsenceTypes();\r\n this.users = await stAppUserApi.getSelectListForListTimeEntry(this.absenceEditModel.appUserId ?? 0);\r\n }\r\n\r\n this.loading = false;\r\n await this.$nextTick();\r\n }\r\n\r\n async reloadAbsenceTypes(){\r\n try{\r\n this.delayLoading=true;\r\n await this.loadAbsenceTypes();\r\n }finally{\r\n this.delayLoading=false;\r\n }\r\n }\r\n\r\n async loadAbsenceTypes(){\r\n this.absenceTypes = await stAbsenceApi.getListAbsenceTypeForUser(this.absenceEditModel.appUserId);\r\n }\r\n\r\n get absenceTypeViewModel() {\r\n if (this.absenceEditModel.isReadOnly) {\r\n return this.readonlyAbsenceTypeViewModel;\r\n } else {\r\n return this.absenceTypes.find(x => x.id == this.absenceEditModel.absenceTypeId);\r\n }\r\n }\r\n\r\n get halfDayMakesSense(){\r\n return DateTime.fromISO(this.absenceEditModel.dateFrom).toISODate() == DateTime.fromISO(this.absenceEditModel.dateTo).toISODate();\r\n }\r\n\r\n get canEditAbsencesForEmployees() {\r\n return this.userSettings.CanEditAbsencesForEmployees;\r\n }\r\n\r\n get userSettings() {\r\n return UserStore.userSettings;\r\n }\r\n\r\n get isReadOnly(): boolean {\r\n if (!this.absenceEditModel) return true;\r\n\r\n return this.absenceEditModel.isReadOnly!;\r\n }\r\n\r\n get absenceType(): AbsenceTypeViewModel | undefined {\r\n let absenceType = this.absenceTypes.find((_) => _.id == this.absenceEditModel.absenceTypeId);\r\n return absenceType;\r\n }\r\n\r\n get isVacation(): boolean {\r\n if (!this.absenceType) {\r\n return false;\r\n }\r\n return this.absenceType.isVacation!;\r\n }\r\n\r\n get halfDayAllowed(): boolean {\r\n if (this.absenceType && this.absenceType.allowHalfDay) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isHalfDay(): boolean {\r\n return this.halfDayAllowed && this.absenceEditModel.isHalfDay!;\r\n }\r\n\r\n get canDelete(): boolean {\r\n return !!this.absenceEditModel.id && !this.isReadOnly;\r\n }\r\n\r\n changeHalfDay(val: boolean) {\r\n if (val) {\r\n this.absenceEditModel.dateTo = this.absenceEditModel.dateFrom;\r\n }\r\n\r\n this.validateAbsence();\r\n }\r\n\r\n changeDateTo(val: string) {\r\n let dateFrom = DateTime.fromISO(this.absenceEditModel.dateFrom!);\r\n let dateTo = DateTime.fromISO(this.absenceEditModel.dateTo!);\r\n\r\n if (dateTo < dateFrom) {\r\n this.absenceEditModel.dateFrom = this.absenceEditModel.dateTo;\r\n }\r\n\r\n if(!this.halfDayMakesSense){\r\n this.absenceEditModel.isHalfDay = false;\r\n }\r\n\r\n this.validateAbsence();\r\n }\r\n\r\n changeDateFrom(val: string) {\r\n let dateFrom = DateTime.fromISO(this.absenceEditModel.dateFrom!);\r\n let dateTo = DateTime.fromISO(this.absenceEditModel.dateTo!);\r\n\r\n if (dateFrom > dateTo) {\r\n this.absenceEditModel.dateTo = this.absenceEditModel.dateFrom;\r\n }\r\n\r\n if(!this.halfDayMakesSense){\r\n this.absenceEditModel.isHalfDay = false;\r\n }\r\n\r\n this.validateAbsence();\r\n }\r\n\r\n async validateAbsence() {\r\n try {\r\n this.delayLoading = true;\r\n this.absenceValidationViewModel = await stAbsenceApi.validateAbsence(this.absenceEditModel);\r\n } finally {\r\n this.delayLoading = false;\r\n }\r\n }\r\n\r\n async deleteAbsence() {\r\n const res: DialogResponse = await this.$dialog.confirm({\r\n title: this.$t(\"Bestätigung\").toString(),\r\n text: this.$t(\"Möchten Sie diese Abwesenheit wirklich löschen?\"),\r\n variant: \"danger\",\r\n okButtonText: this.$t(\"Löschen\").toString(),\r\n cancelButtonText: this.$t(\"Abbrechen\").toString()\r\n });\r\n if (res.isOk) {\r\n await stAbsenceApi.delete(this.absenceEditModel.id!, true);\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n this.closeSlideIn();\r\n }\r\n }\r\n\r\n async submit() {\r\n try {\r\n this.saving = true;\r\n let successText = \"Erfolgreich gespeichert\";\r\n\r\n if (this.absenceEditModel.id == 0) {\r\n await stAbsenceApi.post(this.absenceEditModel);\r\n successText = \"Abwesenheit angelegt\";\r\n } else {\r\n await stAbsenceApi.put(this.absenceEditModel.id, this.absenceEditModel);\r\n }\r\n\r\n notifySuccess(successText);\r\n\r\n this.closeSlideIn();\r\n } finally {\r\n this.saving = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbsenceEdit.vue?vue&type=template&id=41b7cfc6&\"\nimport script from \"./AbsenceEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./AbsenceEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex items-center justify-end mb-4 text-sm font-bold\"},[(_vm.isOwnAbsences)?[_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded-full bg-green-500 w-5 h-5 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Genehmigt\"))+\" \")]),_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded-full bg-yellow-500 w-5 h-5 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Beantragt\"))+\" \")])]:[_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded bg-transparent border-b-4 border-green-500 w-10 h-10 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Genehmigt\"))+\" \")]),_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded bg-transparent border-b-4 border-yellow-500 w-10 h-10 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Beantragt\"))+\" \")])],_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded-full bg-blue-500 w-10 h-10 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Feiertag'))+\" \")]),_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded-full bg-green-500 w-10 h-10 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Urlaub'))+\" \")]),_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded-full bg-teal-500 w-10 h-10 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Überstunden'))+\" \")]),_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded-full bg-purple-500 w-10 h-10 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Krank'))+\" \")]),_c('div',{staticClass:\"flex mr-4 items-center\"},[_c('div',{staticClass:\"rounded-full bg-pink-500 w-10 h-10 mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Sonstiges'))+\" \")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\n\r\n @Component({\r\n components: {},\r\n })\r\n export default class AbsenceLegend extends Vue {\r\n @Prop() isOwnAbsences: boolean;\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceLegend.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceLegend.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbsenceLegend.vue?vue&type=template&id=909a823e&\"\nimport script from \"./AbsenceLegend.vue?vue&type=script&lang=ts&\"\nexport * from \"./AbsenceLegend.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.absenceType.absenceTypeEnum === 'Vacation')?_c('i',{staticClass:\"far fa-tree-palm fa-lg fa-fw\"}):_vm._e(),(_vm.absenceType.absenceTypeEnum === 'Overtime')?_c('i',{staticClass:\"far fa-tree-palm fa-lg fa-fw\"}):_vm._e(),(_vm.absenceType.absenceTypeEnum === 'Sick')?_c('i',{staticClass:\"far fa-hospital fa-lg fa-fw\"}):_vm._e(),(_vm.absenceType.absenceTypeEnum === 'Other')?_c('i',{staticClass:\"far fa-address-card fa-lg fa-fw\"}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { AbsenceTypeViewModel } from \"@/services/api/nswag/stapiclient_generated\";\r\n\r\n@Component\r\nexport default class OwnAbsences extends Vue {\r\n @Prop() absenceType!: AbsenceTypeViewModel;\r\n}\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTypeIcon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTypeIcon.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbsenceTypeIcon.vue?vue&type=template&id=cbf16076&\"\nimport script from \"./AbsenceTypeIcon.vue?vue&type=script&lang=ts&\"\nexport * from \"./AbsenceTypeIcon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { AbsenceTypeEnum, AbsenceViewModel } from '@/services/api/nswag/stapiclient_generated';\r\n\r\nexport interface AbsenceColor {\r\n VCalendarHighlightColor: string;\r\n VCalendarHighlightFillMode: string;\r\n VCalendarDotColor: string;\r\n BgColorClass: string;\r\n BorderClass: string;\r\n}\r\n\r\nexport function getPublicHolidayColor() {\r\n return {\r\n VCalendarHighlightColor: 'blue',\r\n VCalendarHighlightFillMode: 'solid',\r\n BgColorClass: 'bg-blue-500',\r\n } as AbsenceColor;\r\n}\r\n\r\nfunction constructBorder(absenceViewModel: AbsenceViewModel, mainColor: string) {\r\n const approvalNeeded = absenceViewModel.absenceType.approvalNeeded;\r\n const isApproved = absenceViewModel.isApproved;\r\n const isApprovalDecided = absenceViewModel.isApprovalDecided;\r\n\r\n if (!approvalNeeded) {\r\n return 'border-b-4 ' + 'border-' + mainColor + '-500 hover:border-' + mainColor + '-400';\r\n } else {\r\n if (isApprovalDecided) {\r\n return isApproved ? 'border-b-4 border-green-500' : 'border-b-4 border-red-500';\r\n } else {\r\n return 'border-b-4 border-yellow-500';\r\n }\r\n }\r\n}\r\n\r\nfunction constructBg(absenceViewModel: AbsenceViewModel, mainColor: string) {\r\n const approvalNeeded = absenceViewModel.absenceType.approvalNeeded;\r\n const isApprovalDecided = absenceViewModel.isApprovalDecided;\r\n\r\n if (!approvalNeeded) {\r\n return 'bg-' + mainColor + '-500 hover:bg-' + mainColor + '-400';\r\n } else {\r\n if (isApprovalDecided) {\r\n return 'bg-' + mainColor + '-500 hover:bg-' + mainColor + '-400';\r\n } else {\r\n return 'bg-' + mainColor + '-200 hover:bg-' + mainColor + '-100';\r\n }\r\n }\r\n}\r\n\r\nexport function getAbsenceColor(absenceViewModel: AbsenceViewModel) {\r\n let res = {} as AbsenceColor;\r\n\r\n const approvalNeeded = absenceViewModel.absenceType.approvalNeeded;\r\n const isApproved = absenceViewModel.isApproved;\r\n const isApprovalDecided = absenceViewModel.isApprovalDecided;\r\n const type = absenceViewModel.absenceType.absenceTypeEnum;\r\n\r\n if (!approvalNeeded) {\r\n res.VCalendarHighlightFillMode = 'solid';\r\n } else {\r\n if (isApprovalDecided) {\r\n res.VCalendarHighlightFillMode = absenceViewModel.isHalfDay ? 'outline' : 'solid';\r\n res.VCalendarDotColor = isApproved ? 'green' : 'red';\r\n } else {\r\n res.VCalendarHighlightFillMode = 'light';\r\n res.VCalendarDotColor = 'orange';\r\n }\r\n }\r\n\r\n switch (type) {\r\n case AbsenceTypeEnum.Vacation:\r\n res.VCalendarHighlightColor = 'green';\r\n res.BgColorClass = constructBg(absenceViewModel, 'green');\r\n res.BorderClass = constructBorder(absenceViewModel, 'green');\r\n break;\r\n case AbsenceTypeEnum.Overtime:\r\n res.VCalendarHighlightColor = 'teal';\r\n res.BgColorClass = constructBg(absenceViewModel, 'teal');\r\n res.BorderClass = constructBorder(absenceViewModel, 'teal');\r\n break;\r\n case AbsenceTypeEnum.Sick:\r\n res.VCalendarHighlightColor = 'purple';\r\n res.BgColorClass = constructBg(absenceViewModel, 'purple');\r\n res.BorderClass = constructBorder(absenceViewModel, 'purple');\r\n break;\r\n case AbsenceTypeEnum.Other:\r\n res.VCalendarHighlightColor = 'pink';\r\n res.BgColorClass = constructBg(absenceViewModel, 'pink');\r\n res.BorderClass = constructBorder(absenceViewModel, 'pink');\r\n break;\r\n }\r\n\r\n return res;\r\n}\r\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\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\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport {\r\n AbsenceFilter,\r\n AbsenceTypeEnum,\r\n AbsenceViewModel,\r\n PublicHolidayFilter,\r\n PublicHolidayViewModel,\r\n RightEnum,\r\n VacationStatsViewModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stAbsenceApi, stPublicHolidayApi } from \"@/services/st-api\";\r\nimport AbsenceEdit from \"@/views/Absence/AbsenceEdit.vue\";\r\nimport StTabs from \"@/components/tabs/StTabs.vue\";\r\nimport { TabModel } from \"@/components/tabs/tab-model\";\r\nimport { DateTime } from \"luxon\";\r\nimport StBadge from \"@/components/basic/StBadge.vue\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\nimport AbsenceLegend from \"@/views/Absence/AbsenceLegend.vue\";\r\nimport UserSelect from \"@/views/TimeEntries/UserSelect.vue\";\r\nimport { TimeEntryStore } from \"@/store/time-entry-store\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport AbsenceTypeIcon from \"@/views/Absence/components/AbsenceTypeIcon.vue\";\r\nimport { getAbsenceColor, getPublicHolidayColor } from \"@/views/Absence/helper/get-absence-color\";\r\n\r\n@Component({\r\n components: {\r\n AbsenceTypeIcon,\r\n UserSelect,\r\n AbsenceLegend,\r\n StBadge,\r\n StTabs,\r\n AbsenceEdit,\r\n },\r\n })\r\n export default class OwnAbsences extends Vue {\r\n absences: AbsenceViewModel[] = [];\r\n publicHolidays: PublicHolidayViewModel[] = [];\r\n vacationStats: VacationStatsViewModel = VacationStatsViewModel.fromJS({});\r\n year: number = DateTime.local().year;\r\n activeTabName = 'calendar';\r\n loading = true;\r\n delayLoading = false;\r\n\r\n get tabs(): TabModel[] {\r\n return [\r\n {\r\n TabName: 'calendar',\r\n Disabled: false,\r\n },\r\n {\r\n TabName: 'list',\r\n Disabled: false,\r\n },\r\n ];\r\n }\r\n\r\n get canEditAbsencesForEmployees(): RightEnum {\r\n return RightEnum.CanEditAbsencesForEmployees;\r\n }\r\n\r\n get selectedUserId() {\r\n return TimeEntryStore.selectedUserId;\r\n }\r\n\r\n set selectedUserId(data: number) {\r\n TimeEntryStore.SetSelectedUserId(data);\r\n }\r\n\r\n async updateCalendar(calendarEvent: any) {\r\n if (!calendarEvent.weekday) {\r\n this.year = calendarEvent.year;\r\n await this.loadData();\r\n }\r\n }\r\n\r\n async beforeRouteUpdate(to: any, from: any, next: any) {\r\n next();\r\n if (to.name == 'Ownabsences') {\r\n try {\r\n await this.loadData();\r\n } finally {\r\n }\r\n }\r\n }\r\n\r\n loadDataDelayLoading() {\r\n this.loadData();\r\n }\r\n\r\n dayclick(e: any) {\r\n let id = 0;\r\n if (e.attributes[0] && e.attributes[0].customData.absenceId) {\r\n id = e.attributes[0].customData.absenceId;\r\n }\r\n if (this.selectedUserId != UserStore.currentUser.id)\r\n {\r\n this.$router.push({ name: 'TeamAbsencesFromCalenderEdit', params: { id: id.toString() }, query: { userId: this.selectedUserId.toString(), day: e.id } });\r\n } else {\r\n this.$router.push({ name: 'OwnabsencesEdit', params: { id: id.toString() }, query: { day: e.id } });\r\n }\r\n }\r\n\r\n editAbsence(id: number) {\r\n if (this.selectedUserId != UserStore.currentUser.id)\r\n {\r\n this.$router.push({ name: 'TeamAbsencesFromCalenderEdit', params: { id: id.toString() }, query: { userId: this.selectedUserId.toString() } });\r\n } else {\r\n this.$router.push({ name: 'OwnabsencesEdit', params: { id: id.toString() }});\r\n }\r\n }\r\n\r\n addAbsence() {\r\n if (this.selectedUserId != UserStore.currentUser.id)\r\n {\r\n this.$router.push({ name: 'TeamAbsencesFromCalenderEdit', params: { id: '0' }, query: { userId: this.selectedUserId.toString(), day: DateTime.local().toFormat('yyyy-MM-dd') } });\r\n } else {\r\n this.$router.push({ name: 'OwnabsencesEdit', params: { id: '0' }, query: { day: DateTime.local().plus({ days: 1 }).toFormat('yyyy-MM-dd') } });\r\n }\r\n }\r\n\r\n async deleteAbsence(id: number) {\r\n await stAbsenceApi.delete(id, true);\r\n await this.loadData();\r\n notifySuccess('Erfolgreich gelöscht');\r\n }\r\n\r\n async changeYear(plusminus: number) {\r\n try {\r\n this.loading = true;\r\n this.year += plusminus;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n get fromDate(): Date {\r\n return DateTime.local(this.year, 1, 1, 0, 0, 0, 0).toJSDate();\r\n }\r\n\r\n getHighlightColorForAbsence(absence: AbsenceViewModel | null | undefined) {\r\n if (absence === null || absence === undefined) {\r\n return '';\r\n }\r\n\r\n const absenceColor = getAbsenceColor(absence)\r\n\r\n return {color: absenceColor.VCalendarHighlightColor, fillMode: absenceColor.VCalendarHighlightFillMode};\r\n }\r\n\r\n getDot(absence: AbsenceViewModel | null | undefined){\r\n if (absence === null || absence === undefined) {\r\n return '';\r\n }\r\n\r\n const absenceColor = getAbsenceColor(absence)\r\n\r\n return absenceColor.VCalendarDotColor ? {color: absenceColor.VCalendarDotColor, class: 'h-5 w-5'} : null;\r\n }\r\n\r\n get attributes(): any[] {\r\n let attr = [];\r\n\r\n const phColor = getPublicHolidayColor();\r\n let publicHolidays = this.publicHolidays.map((ph) => {\r\n return {\r\n dates: ph.publicHolidayDate,\r\n highlight: { color: phColor.VCalendarHighlightColor, fillMode: phColor.VCalendarHighlightFillMode },\r\n popover: { visibility: 'hover' },\r\n customData: { isPublicHoliday: true, publicHolidayId: ph.id, description: ph.description },\r\n };\r\n });\r\n\r\n // abgelehnte Anträge werden ausgeblendet\r\n let absences = this.absences\r\n .filter((_) => {\r\n return !(_.isApprovalDecided && !_.isApproved);\r\n })\r\n .map((absence) => {\r\n return {\r\n dates: { start: absence.dateFrom, end: absence.dateTo },\r\n highlight: this.getHighlightColorForAbsence(absence),\r\n dot: this.getDot(absence),\r\n popover: { visibility: 'hover' },\r\n customData: { isAbsence: true, absenceId: absence.id, absence: absence, absenceType: absence.absenceType?.description },\r\n };\r\n });\r\n\r\n attr.push(...absences);\r\n attr.push(...publicHolidays);\r\n return attr;\r\n }\r\n\r\n mounted() {\r\n try {\r\n if (!this.selectedUserId) {\r\n this.selectedUserId = UserStore.currentUser.id ?? 0;\r\n }\r\n this.loading = true;\r\n this.loadDataRaw();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async loadDataRaw() {\r\n let results = await Promise.all([\r\n stAbsenceApi.getList(AbsenceFilter.fromJS({ year: this.year, appUserId: this.selectedUserId })),\r\n stPublicHolidayApi.getListForCurrentUser(PublicHolidayFilter.fromJS({ year: this.year, appUserId: this.selectedUserId })),\r\n stAbsenceApi.getVacationStatsForUser(this.year, this.selectedUserId),\r\n ]);\r\n\r\n this.absences = results[0];\r\n this.publicHolidays = results[1];\r\n this.vacationStats = results[2];\r\n }\r\n\r\n async loadData() {\r\n try {\r\n this.delayLoading = true;\r\n await this.loadDataRaw();\r\n } finally {\r\n this.delayLoading = false;\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OwnAbsences.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OwnAbsences.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OwnAbsences.vue?vue&type=template&id=0875f33d&\"\nimport script from \"./OwnAbsences.vue?vue&type=script&lang=ts&\"\nexport * from \"./OwnAbsences.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading,\"delay-loading\":_vm.delayLoading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(_vm.customer.id)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Kunden'))+\" \"),_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.customer.name))]),_vm._v(\" \"+_vm._s(_vm.$t('bearbeiten'))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t('Neuen Kunden anlegen')))])]},proxy:true}])},[(!_vm.loading)?_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('st-tabs',{attrs:{\"tabs\":_vm.tabs},scopedSlots:_vm._u([{key:\"standardHeader\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('Kunde'))+\" \")]},proxy:true},{key:\"invoiceHeader\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('Rechnungsdaten')))])]},proxy:true},{key:\"rightsHeader\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('Berechtigungen')))])]},proxy:true},{key:\"standard\",fn:function(){return [_c('st-input2',{attrs:{\"label\":\"Kunde\",\"name\":\"Kunde\",\"type\":\"text\",\"rules\":\"required\",\"focus\":true,\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.name),callback:function ($$v) {_vm.$set(_vm.customer, \"name\", $$v)},expression:\"customer.name\"}}),(!_vm.useInvoice)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Adresse')))]),_c('st-textarea',{attrs:{\"rows\":\"3\",\"name\":\"Adresse\",\"type\":\"textarea\",\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.address),callback:function ($$v) {_vm.$set(_vm.customer, \"address\", $$v)},expression:\"customer.address\"}})],1):_vm._e(),_c('st-textarea',{attrs:{\"rows\":\"3\",\"label\":\"Kommentar\",\"name\":\"Kommentar\",\"type\":\"textarea\",\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.comment),callback:function ($$v) {_vm.$set(_vm.customer, \"comment\", $$v)},expression:\"customer.comment\"}}),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex items-center\"},[_c('span',[_vm._v(_vm._s(_vm.$t('Hinweis zur Zeiterfassung')))]),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Dieser Hinweis wird in der Zeiterfassung angezeigt, wenn der entsprechende Kunde ausgewählt wird'))+\" \")])],1),_c('st-textarea',{attrs:{\"rows\":\"3\",\"name\":\"Hinweis zur Zeiterfassung\",\"type\":\"textarea\",\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.commentForTimeTracking),callback:function ($$v) {_vm.$set(_vm.customer, \"commentForTimeTracking\", $$v)},expression:\"customer.commentForTimeTracking\"}})],1),(_vm.canViewRates && !_vm.project.isFixedPrice)?[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stundensatz')))]),_c('st-rate-picker',{attrs:{\"rate-rule-amount-filter\":_vm.rateRuleAmountFilter,\"label\":\"Stundensatz hinzufügen\",\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.amountModel),callback:function ($$v) {_vm.$set(_vm.customer, \"amountModel\", $$v)},expression:\"customer.amountModel\"}})],1)]:_vm._e(),(_vm.noOfActiveProjects <= 1)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Direkt auf Kunden buchen')))]),_c('st-toggle',{attrs:{\"type\":\"right\",\"disabled\":_vm.isReadonly},on:{\"input\":_vm.hasNoProjectChanged},model:{value:(_vm.customer.hasNoProjects),callback:function ($$v) {_vm.$set(_vm.customer, \"hasNoProjects\", $$v)},expression:\"customer.hasNoProjects\"}},[_vm._v(_vm._s(_vm.$t('Kunde hat keine Projekte')))])],1):_vm._e(),(_vm.customer.hasNoProjects)?[_c('edit-customer-project',{attrs:{\"is-readonly\":_vm.isReadonly},model:{value:(_vm.project),callback:function ($$v) {_vm.project=$$v},expression:\"project\"}})]:_vm._e()]},proxy:true},{key:\"invoice\",fn:function(){return [(_vm.useEInvoice)?[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Ansprechpartner'))+\" \")]),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Der Ansprechpartner kann mit dem Platzhalter {Ansprechpartner} im Feld Anrede in den Account-Einstellungen verwendet werden.'))+\" \")])],1),_c('st-input2',{attrs:{\"name\":\"Ansprechpartner\",\"type\":\"text\",\"disabled\":_vm.isReadonly,\"placeholder\":_vm.$t('Frau Müller')},model:{value:(_vm.customer.contactName),callback:function ($$v) {_vm.$set(_vm.customer, \"contactName\", $$v)},expression:\"customer.contactName\"}})],1),(!_vm.useInvoiceEmailSending)?_c('st-input2',{attrs:{\"label\":\"E-Mail Adresse\",\"name\":\"EmailAdresse\",\"type\":\"email\",\"placeholder\":_vm.$t('E-Mail Adresse des Kunden'),\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.invoiceEmail),callback:function ($$v) {_vm.$set(_vm.customer, \"invoiceEmail\", $$v)},expression:\"customer.invoiceEmail\"}}):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Adresse'))+\" \")])]),_c('st-input2',{attrs:{\"name\":\"Adresse\",\"type\":\"text\",\"disabled\":_vm.isReadonly,\"placeholder\":_vm.$t('Straße und Hausnummer')},model:{value:(_vm.customer.streetAddress),callback:function ($$v) {_vm.$set(_vm.customer, \"streetAddress\", $$v)},expression:\"customer.streetAddress\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('PLZ'))+\" \")])]),_c('st-input2',{attrs:{\"name\":\"PLZ\",\"type\":\"text\",\"disabled\":_vm.isReadonly,\"placeholder\":_vm.$t('Postleitzahl')},model:{value:(_vm.customer.zip),callback:function ($$v) {_vm.$set(_vm.customer, \"zip\", $$v)},expression:\"customer.zip\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Ort'))+\" \")])]),_c('st-input2',{attrs:{\"name\":\"Ort\",\"type\":\"text\",\"disabled\":_vm.isReadonly,\"placeholder\":_vm.$t('Ort')},model:{value:(_vm.customer.city),callback:function ($$v) {_vm.$set(_vm.customer, \"city\", $$v)},expression:\"customer.city\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Land'))+\" \")])]),_c('st-select',{attrs:{\"name\":\"Country\",\"options\":_vm.countries,\"multiple\":false,\"placeholder\":_vm.$t('Land auswählen')},model:{value:(_vm.customer.country),callback:function ($$v) {_vm.$set(_vm.customer, \"country\", $$v)},expression:\"customer.country\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('USt ID'))+\" \")])]),_c('st-input2',{attrs:{\"name\":\"Vatid\",\"type\":\"text\",\"disabled\":_vm.isReadonly,\"placeholder\":_vm.$t('DE1234568')},model:{value:(_vm.customer.vatId),callback:function ($$v) {_vm.$set(_vm.customer, \"vatId\", $$v)},expression:\"customer.vatId\"}})],1)]:_vm._e(),(!_vm.useEInvoice)?[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Ansprechpartner'))+\" \")]),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Der Ansprechpartner kann mit dem Platzhalter {Ansprechpartner} im Feld Anrede in den Account-Einstellungen verwendet werden.'))+\" \")])],1),_c('st-input2',{attrs:{\"name\":\"Ansprechpartner\",\"type\":\"text\",\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.contactName),callback:function ($$v) {_vm.$set(_vm.customer, \"contactName\", $$v)},expression:\"customer.contactName\"}})],1),_c('st-textarea',{attrs:{\"rows\":\"4\",\"label\":\"Empfänger\",\"name\":\"Empfänger\",\"type\":\"textarea\",\"focus\":true,\"is-native\":true,\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.address),callback:function ($$v) {_vm.$set(_vm.customer, \"address\", $$v)},expression:\"customer.address\"}})]:_vm._e(),_c('edit-customer-text-overwriter',{attrs:{\"disabled\":_vm.isReadonly,\"label-text\":_vm.$t('Titel'),\"is-textarea\":false,\"text-prop-name\":\"invoiceTitle\",\"settings-prop-name\":\"invoiceTitleSettings\",\"overwrite-prop-name\":\"invoiceTitleOverwritten\"},model:{value:(_vm.customer),callback:function ($$v) {_vm.customer=$$v},expression:\"customer\"}}),_c('edit-customer-text-overwriter',{attrs:{\"disabled\":_vm.isReadonly,\"is-textarea\":true,\"text-prop-name\":\"invoiceDescription\",\"settings-prop-name\":\"invoiceDescriptionSettings\",\"overwrite-prop-name\":\"invoiceDescriptionOverwritten\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"form-label flex\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Anrede'))+\" \"),(!_vm.customer.invoiceDescriptionOverwritten)?[_vm._v(\"(\"+_vm._s(_vm.$t('Account-Einstellungen'))+\")\")]:_vm._e()],2),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t( 'Die Platzhalter {DatumVon} und {DatumBis} können verwendet werden um den ausgewählten Filter im Reiter \"Zeiteinträge\" zu übernehmen. Der Platzhalter {Ansprechpartner} übernimmt den Ansprechpartner des Kunden.' ))+\" \")])],1)]},proxy:true}],null,true),model:{value:(_vm.customer),callback:function ($$v) {_vm.customer=$$v},expression:\"customer\"}}),_c('edit-customer-text-overwriter',{attrs:{\"disabled\":_vm.isReadonly,\"is-textarea\":true,\"label-text\":_vm.$t('Zahlungsinformationen / Kontodaten'),\"text-prop-name\":\"invoicePaymentTerms\",\"settings-prop-name\":\"invoicePaymentTermsSettings\",\"overwrite-prop-name\":\"invoicePaymentTermsOverwritten\"},model:{value:(_vm.customer),callback:function ($$v) {_vm.customer=$$v},expression:\"customer\"}}),(_vm.useInvoiceEmailSending)?[_c('st-separator',{staticClass:\"wide small\"}),(_vm.useInvoiceEmailSending)?_c('st-input2',{attrs:{\"label\":\"E-Mail Adresse\",\"name\":\"EmailAdresse\",\"type\":\"email\",\"placeholder\":_vm.$t('E-Mail Adresse des Kunden'),\"disabled\":_vm.isReadonly},model:{value:(_vm.customer.invoiceEmail),callback:function ($$v) {_vm.$set(_vm.customer, \"invoiceEmail\", $$v)},expression:\"customer.invoiceEmail\"}}):_vm._e(),_c('edit-customer-text-overwriter',{attrs:{\"disabled\":_vm.isReadonly,\"label-text\":_vm.$t('E-Mail Betreff'),\"is-textarea\":false,\"text-prop-name\":\"invoiceEmailSubject\",\"settings-prop-name\":\"invoiceEmailSubjectSettings\",\"overwrite-prop-name\":\"invoiceEmailSubjectOverwritten\",\"placeholder\":_vm.$t('Betreff für ausgehende Rechnungsemails an den Kunden')},model:{value:(_vm.customer),callback:function ($$v) {_vm.customer=$$v},expression:\"customer\"}}),_c('edit-customer-text-overwriter',{attrs:{\"disabled\":_vm.isReadonly,\"label-text\":_vm.$t('E-Mail Text'),\"rows\":\"7\",\"is-textarea\":true,\"text-prop-name\":\"invoiceEmailText\",\"settings-prop-name\":\"invoiceEmailTextSettings\",\"overwrite-prop-name\":\"invoiceEmailTextOverwritten\",\"placeholder\":_vm.$t('Text für ausgehende Rechnungsemails an den Kunden')},model:{value:(_vm.customer),callback:function ($$v) {_vm.customer=$$v},expression:\"customer\"}})]:_vm._e()]},proxy:true},{key:\"rights\",fn:function(){return [_c('div',[_c('project-staff-edit',{attrs:{\"project-id\":_vm.project.id,\"app-users\":_vm.appUsers,\"disabled\":_vm.isReadonly},model:{value:(_vm.projectStaffEditModels),callback:function ($$v) {_vm.projectStaffEditModels=$$v},expression:\"projectStaffEditModels\"}})],1)]},proxy:true}],null,true),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}}),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-4\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),(!_vm.isReadonly)?_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")]):_vm._e()],1)]}}],null,false,2431490871)})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\"},[_vm._t(\"label\",function(){return [_c('div',{staticClass:\"form-label\"},[_vm._v(\" \"+_vm._s(_vm.labelText)+\" \"),(!_vm.overwriteProp)?[_vm._v(\"(\"+_vm._s(_vm.$t('Account-Einstellungen'))+\")\")]:_vm._e()],2)]}),_c('div',{staticClass:\"flex items-start\"},[(_vm.isTextarea)?[(_vm.overwriteProp)?_c('st-textarea',{attrs:{\"rows\":_vm.textareaRows,\"name\":_vm.labelText,\"type\":\"textarea\",\"is-native\":true,\"placeholder\":_vm.placeholder},model:{value:(_vm.textProp),callback:function ($$v) {_vm.textProp=$$v},expression:\"textProp\"}}):_vm._e(),(!_vm.overwriteProp)?_c('st-textarea',{attrs:{\"rows\":_vm.textareaRows,\"name\":_vm.labelText,\"type\":\"textarea\",\"disabled\":true,\"is-native\":true,\"placeholder\":_vm.placeholder},model:{value:(_vm.settingsTextProp),callback:function ($$v) {_vm.settingsTextProp=$$v},expression:\"settingsTextProp\"}}):_vm._e()]:[(_vm.overwriteProp)?_c('st-input2',{attrs:{\"name\":_vm.labelText,\"placeholder\":_vm.placeholder},model:{value:(_vm.textProp),callback:function ($$v) {_vm.textProp=$$v},expression:\"textProp\"}}):_c('st-input2',{attrs:{\"name\":_vm.labelText,\"disabled\":true,\"placeholder\":_vm.placeholder},model:{value:(_vm.settingsTextProp),callback:function ($$v) {_vm.settingsTextProp=$$v},expression:\"settingsTextProp\"}})],_c('st-button-round',{staticClass:\"small ml-4\",attrs:{\"tooltip-text\":_vm.overwriteProp ? _vm.$t('Aus den Account-Einstellungen übernehmen') : _vm.$t('Für diesen Kunden überschreiben')},on:{\"click\":function($event){_vm.overwriteProp = !_vm.overwriteProp}}},[(!_vm.overwriteProp)?_c('i',{staticClass:\"far fa-pen\"}):_c('i',{staticClass:\"far fa-undo\"})])],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { CustomerEditModel } from \"@/services/api/nswag/stapiclient_generated\";\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class EditCustomerTextOverwriter extends Vue {\r\n @Prop() value!: CustomerEditModel;\r\n @Prop() overwritePropName!: string;\r\n @Prop() textPropName!: string;\r\n @Prop() settingsPropName!: string;\r\n @Prop() isTextarea!: boolean;\r\n @Prop() labelText!: string;\r\n @Prop() rows!: string;\r\n @Prop() placeholder!: string;\r\n\r\n get textareaRows(){\r\n return this.rows ? this.rows : '4';\r\n }\r\n\r\n get overwriteProp(){\r\n return (this.value as any)[this.overwritePropName];\r\n }\r\n\r\n set overwriteProp(data: boolean){\r\n let clone: any = { ...this.value, [this.overwritePropName]: data };\r\n this.$emit(\"input\", clone);\r\n }\r\n\r\n get settingsTextProp(){\r\n return (this.value as any)[this.settingsPropName];\r\n }\r\n\r\n get textProp(){\r\n return (this.value as any)[this.textPropName];\r\n }\r\n\r\n set textProp(data: string){\r\n let clone: any = { ...this.value, [this.textPropName]: data };\r\n this.$emit(\"input\", clone);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomerTextOverwriter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomerTextOverwriter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCustomerTextOverwriter.vue?vue&type=template&id=652e766a&\"\nimport script from \"./EditCustomerTextOverwriter.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCustomerTextOverwriter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div'),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label flex items-center\"},[_vm._v(_vm._s(_vm.$t('Berechtigte Mitarbeiter'))+\" \"),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Benutzer der Rollen \"Administrator\" und \"Manager\"'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('können auf alle Projekte zugreifen und werden hier nicht explizit aufgelistet.'))+\" \")])],1),(_vm.assignableStaff.length)?_c('div',[_c('st-select',{attrs:{\"disabled\":_vm.disabled,\"options\":_vm.assignableStaff,\"placeholder\":_vm.$t('Mitarbeiter berechtigen'),\"idProp\":\"appUserId\",\"labelProp\":\"appUserName\"},on:{\"input\":_vm.assignEmployee},model:{value:(_vm.assignedAppUserId),callback:function ($$v) {_vm.assignedAppUserId=$$v},expression:\"assignedAppUserId\"}})],1):_vm._e()]),_vm._l((_vm.explicitAssignedStaff),function(staff,index){return _c('div',{key:staff.appUserId,staticClass:\"st-list-item-open border border-gray-300 flex items-center justify-between\"},[_c('div',[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.getAppUserName(staff.appUserId)))]),_c('div',[_c('div',[(_vm.getCanViewTimeEntriesEmployeesGlobal(staff.appUserId))?_c('st-toggle',{staticClass:\"mt-2\",attrs:{\"disabled\":true,\"value\":true,\"type\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Darf Zeiteinträge aller Benutzer für das Projekt sehen'))+\" \")]):_c('st-toggle',{staticClass:\"mt-2\",attrs:{\"disabled\":_vm.disabled,\"type\":\"right\"},model:{value:(staff.canViewAllProjectTimeEntries),callback:function ($$v) {_vm.$set(staff, \"canViewAllProjectTimeEntries\", $$v)},expression:\"staff.canViewAllProjectTimeEntries\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Darf Zeiteinträge aller Benutzer für das Projekt sehen'))+\" \")])],1)])]),_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Berechtigung entfernen'),\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.unassignEmployee(index)}}},[_c('i',{staticClass:\"far fa-trash-alt\"})])],1)}),_vm._l((_vm.allProjectsAppUsers),function(appUser,index){return _c('div',{key:appUser.appUserId,staticClass:\"st-list-item-open border border-gray-300 flex items-center justify-between\"},[_c('div',[_c('span',{staticClass:\"font-bold flex\"},[_vm._v(_vm._s(appUser.appUserName)+\" \"),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Folgender Benutzer der Rolle \"Mitarbeiter\" hat aktuell das Recht \"Auf alle Projekte buchen\"'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Wenn ihm das Recht entzogen wird, kann er pro Projekt explizit zugordnet werden.'))+\" \")])],1),_c('st-toggle',{staticClass:\"mt-2\",attrs:{\"disabled\":appUser.canViewTimeEntriesForEmployees || _vm.disabled,\"value\":_vm.getAllProjectUserCanViewAll(appUser),\"type\":\"right\"},on:{\"input\":function($event){return _vm.toggleAllProjectUserCanViewAll(appUser)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Darf Zeiteinträge aller Benutzer für das Projekt sehen'))+\" \")]),_c('st-toggle',{staticClass:\"mt-2\",attrs:{\"disabled\":true,\"value\":appUser.canEditTimeEntriesForEmployees,\"type\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Darf Zeiteinträge aller Benutzer für das Projekt bearbeiten'))+\" \")])],1)])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\r\nimport {ProjectStaffAppUserViewModel, ProjectStaffEditModel} from '@/services/api/nswag/stapiclient_generated';\r\nimport {projectStaffApi} from '@/services/st-api';\r\nimport {clone} from '@/utlitities/helper';\r\nimport {UserStore} from '@/store/user-module';\r\nimport StRatePicker from \"@/components/basic/StRatePicker.vue\";\r\n\r\n@Component({\r\n components: { StRatePicker },\r\n})\r\nexport default class ProjectStaffEdit extends Vue {\r\n @Prop() projectId!: number;\r\n @Prop() value!: ProjectStaffEditModel[];\r\n @Prop() appUsers!: ProjectStaffAppUserViewModel[];\r\n @Prop() disabled!: boolean;\r\n assignedAppUserId: number = 0;\r\n\r\n get assignableStaff() {\r\n return this.appUsers\r\n .filter(x => !this.explicitAssignedStaff.some(y => y.appUserId == x.appUserId) && !this.allProjectsAppUsers.some(y => y.appUserId == x.appUserId));\r\n }\r\n\r\n get allProjectsAppUsers() {\r\n return this.appUsers\r\n .filter(x => x.canEditTimeEntriesForAllProjects);\r\n }\r\n\r\n get explicitAssignedStaff(){\r\n return this.projectStaff.filter(x=>!this.allProjectsAppUsers.map(y=>y.appUserId).some(y=>y == x.appUserId));\r\n }\r\n\r\n get projectStaff() {\r\n return this.value;\r\n }\r\n\r\n set projectStaff(data: ProjectStaffEditModel[]) {\r\n this.$emit('input', data);\r\n }\r\n\r\n getAllProjectUserCanViewAll(appUser: ProjectStaffAppUserViewModel){\r\n if(appUser.canViewTimeEntriesForEmployees){\r\n return true;\r\n }\r\n\r\n return this.projectStaff.find(x=>x.appUserId == appUser.appUserId)?.canViewAllProjectTimeEntries;\r\n }\r\n\r\n toggleAllProjectUserCanViewAll(appUser: ProjectStaffAppUserViewModel){\r\n const idx = this.projectStaff.findIndex(x=>x.appUserId == appUser.appUserId);\r\n\r\n if(idx == -1){\r\n let newItem: ProjectStaffEditModel = ProjectStaffEditModel.fromJS({\r\n projectId: this.projectId,\r\n appUserId: appUser.appUserId,\r\n canViewAllProjectTimeEntries: true\r\n });\r\n\r\n this.projectStaff.push(newItem);\r\n }else{\r\n this.projectStaff.splice(idx,1);\r\n }\r\n }\r\n\r\n getAppUserName(appUserId: number) {\r\n return this.appUsers.find(x => x.appUserId == appUserId)?.appUserName;\r\n }\r\n\r\n getCanViewTimeEntriesEmployeesGlobal(appUserId: number) {\r\n return this.appUsers.find(x => x.appUserId == appUserId)?.canViewTimeEntriesForEmployees;\r\n }\r\n\r\n unassignEmployee(index: number) {\r\n this.projectStaff.splice(index, 1);\r\n }\r\n\r\n assignEmployee() {\r\n let newItem: ProjectStaffEditModel = ProjectStaffEditModel.fromJS({\r\n projectId: this.projectId,\r\n appUserId: this.assignedAppUserId,\r\n canViewAllProjectTimeEntries: false\r\n });\r\n\r\n this.projectStaff.push(newItem);\r\n\r\n this.assignedAppUserId = 0;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectStaffEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectStaffEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectStaffEdit.vue?vue&type=template&id=08bf2f28&\"\nimport script from \"./ProjectStaffEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectStaffEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"w-24\"},[_c('st-input2',{attrs:{\"value\":_vm.value,\"type\":\"number\",\"step\":\"1\",\"markOnFocus\":true},on:{\"input\":_vm.input}})],1),_c('input',{staticClass:\"form-control border-l-0 w-14 font-bold\",attrs:{\"type\":\"text\",\"disabled\":\"\",\"value\":\"%\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\r\nimport { Component, Emit, Prop, Vue } from \"vue-property-decorator\";\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class StPercentInput extends Vue {\r\n @Prop() value!: number;\r\n\r\n @Emit('input')\r\n input(val: string){\r\n let res = parseInt(val);\r\n\r\n if(!res){\r\n return 0;\r\n }\r\n\r\n return res;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StPercentInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StPercentInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StPercentInput.vue?vue&type=template&id=752ed608&\"\nimport script from \"./StPercentInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./StPercentInput.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.warningTextDisplay)?_c('div',{staticClass:\"alert alert-yellow\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.warningTextDisplay)+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { stProjectApi } from \"@/services/st-api\";\r\nimport { ProjectCheckFixedPriceChangeCommand } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { notifyError } from \"@/utlitities/notifications\";\r\n\r\n@Component({\r\n components: {}\r\n})\r\nexport default class ProjectChangeFixedPriceWarning extends Vue {\r\n @Prop() isFixedPrice!: boolean;\r\n @Prop() projectId!: number;\r\n\r\n watchFn: any;\r\n warningTextDisplay: string | null = null;\r\n\r\n async mounted(){\r\n if(this.isFixedPrice === false || this.isFixedPrice === true){\r\n await this.checkFixedPrice();\r\n }\r\n\r\n this.watchFn = this.$watch('isFixedPrice', async ()=>{\r\n await this.checkFixedPrice();\r\n })\r\n }\r\n\r\n beforeDestroy(){\r\n this.watchFn();\r\n }\r\n\r\n async checkFixedPrice() {\r\n this.warningTextDisplay = null;\r\n\r\n const checkResult = await stProjectApi.checkFixedPriceChange(ProjectCheckFixedPriceChangeCommand.fromJS({\r\n id: this.projectId,\r\n changeFixedPriceValueTo: this.isFixedPrice\r\n }));\r\n\r\n if(!checkResult.canBeChanged){\r\n notifyError(checkResult.warningText);\r\n return;\r\n }\r\n\r\n this.warningTextDisplay = checkResult.warningText;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectChangeFixedPriceWarning.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectChangeFixedPriceWarning.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectChangeFixedPriceWarning.vue?vue&type=template&id=3fa03611&\"\nimport script from \"./ProjectChangeFixedPriceWarning.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectChangeFixedPriceWarning.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"flex items-center justify-between gap-x-12\"},[_c('div',{staticClass:\"flex-grow\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Projektstart')))]),_c('st-date-picker',{attrs:{\"placeholder\":_vm.$t('Startdatum des Projekts'),\"clearable\":true,\"max-date\":_vm.project.endDate,\"disabled\":_vm.isReadonly},model:{value:(_vm.project.startDate),callback:function ($$v) {_vm.$set(_vm.project, \"startDate\", $$v)},expression:\"project.startDate\"}})],1),_c('div',{staticClass:\"flex-grow\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Projektende')))]),_c('st-date-picker',{attrs:{\"placeholder\":_vm.$t('Enddatum des Projekts'),\"clearable\":true,\"min-date\":_vm.project.startDate,\"disabled\":_vm.isReadonly},model:{value:(_vm.project.endDate),callback:function ($$v) {_vm.$set(_vm.project, \"endDate\", $$v)},expression:\"project.endDate\"}})],1)])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Abrechnung')))]),(_vm.useFixedPriceProjects)?_c('st-toggle',{class:{'mb-6':!_vm.project.isFixedPrice},attrs:{\"type\":\"right\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.isFixedPrice),callback:function ($$v) {_vm.$set(_vm.project, \"isFixedPrice\", $$v)},expression:\"project.isFixedPrice\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Projekt ist ein Festpreisprojekt'))+\" \")]):_vm._e(),(_vm.project.id > 0)?_c('project-change-fixed-price-warning',{attrs:{\"is-fixed-price\":_vm.project.isFixedPrice,\"project-id\":_vm.project.id}}):_vm._e(),(!_vm.project.isFixedPrice)?_c('st-toggle',{attrs:{\"type\":\"right\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.isBillable),callback:function ($$v) {_vm.$set(_vm.project, \"isBillable\", $$v)},expression:\"project.isBillable\"}},[_vm._v(_vm._s(_vm.$t('Projekt ist verrechenbar')))]):_vm._e()],1),(_vm.project.isFixedPrice)?[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"flex items-center gap-x-12\"},[_c('div',{staticClass:\"w-80\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Festpreis')))]),_c('st-currency-input',{attrs:{\"type\":\"text\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.fixedPrice),callback:function ($$v) {_vm.$set(_vm.project, \"fixedPrice\", $$v)},expression:\"project.fixedPrice\"}})],1),_c('div',{staticClass:\"flex-grow\"},[_c('div',{staticClass:\"form-label flex items-center\"},[_c('span',[_vm._v(_vm._s(_vm.$t('Rechnerischer Stundensatz')))]),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('(optional) Der tatsächliche Stundensatz für das Projekt wird erst nach Projektabschluss berechnet. Der hier eingetragene rechnerische Stundensatz wird während der Projektlaufzeit für die Anzeige verwendet.'))+\" \")])],1),_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"type\":\"text\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.fixedPriceCalcRate),callback:function ($$v) {_vm.$set(_vm.project, \"fixedPriceCalcRate\", $$v)},expression:\"project.fixedPriceCalcRate\"}})],1)])])])]:_vm._e(),(!_vm.project.isFixedPrice)?[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Budget\")))]),_c('div',[_c('div',{staticClass:\"flex item-center w-full\"},[_c('div',{staticClass:\"w-32\"},[_c('st-decimal-input',{attrs:{\"type\":\"text\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.budget),callback:function ($$v) {_vm.$set(_vm.project, \"budget\", $$v)},expression:\"project.budget\"}})],1),_c('div',{staticClass:\"w-64\"},[_c('st-select',{attrs:{\"input-class\":\"border-l-0\",\"options\":_vm.budgetUnitOptions,\"hide-search-box\":true,\"disabled\":_vm.isReadonly},model:{value:(_vm.project.budgetUnit),callback:function ($$v) {_vm.$set(_vm.project, \"budgetUnit\", $$v)},expression:\"project.budgetUnit\"}})],1)])])]),(_vm.project.budget)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex items-center\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Budget-Benachrichtigung\")))]),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Bei Überschreiten des eingestellten Grenzwerts, werden alle Benutzer mit der Rolle Administrator per E-Mail benachrichtigt.\"))+\" \")])],1),_c('div',{staticClass:\"grid grid-cols-1 sm:grid-cols-2\"},[_c('st-toggle',{staticClass:\"my-5\",attrs:{\"type\":\"right\",\"disabled\":_vm.isReadonly},on:{\"input\":_vm.setThresholdIfZero},model:{value:(_vm.project.notifyOnBudgetOverrun),callback:function ($$v) {_vm.$set(_vm.project, \"notifyOnBudgetOverrun\", $$v)},expression:\"project.notifyOnBudgetOverrun\"}},[_c('div',{staticClass:\"flex\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Administratoren benachrichtigen\"))+\" \")])]),(_vm.project.notifyOnBudgetOverrun)?_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"ml-2 mr-4\"},[_vm._v(\"bei\")]),_c('st-percent-input',{attrs:{\"disabled\":_vm.isReadonly},model:{value:(_vm.project.budgetOverrunThresholdPercent),callback:function ($$v) {_vm.$set(_vm.project, \"budgetOverrunThresholdPercent\", $$v)},expression:\"project.budgetOverrunThresholdPercent\"}}),_c('span',{staticClass:\"ml-4\"},[_vm._v(\"Budget-Verbrauch\")])],1):_vm._e()],1)]):_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ProjectAsCustomerEditModel, ProjectEditModel } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport StDatePicker from \"@/components/basic/StDatePicker.vue\";\r\nimport ProjectChangeFixedPriceWarning from \"@/views/Projects/ProjectChangeFixedPriceWarning.vue\";\r\nimport StCurrencyInput from \"@/components/basic/StCurrencyInput.vue\";\r\nimport StPercentInput from \"@/components/basic/StPercentInput.vue\";\r\nimport { UserStore } from \"@/store/user-module\";\r\n\r\n@Component({\r\n components: {\r\n StPercentInput, StCurrencyInput, ProjectChangeFixedPriceWarning, StDatePicker\r\n },\r\n})\r\nexport default class EditCustomerProject extends Vue {\r\n @Prop() value: ProjectEditModel | ProjectAsCustomerEditModel;\r\n @Prop() isReadonly: boolean;\r\n\r\n get project(){\r\n return this.value;\r\n }\r\n\r\n set project(data: ProjectEditModel | ProjectAsCustomerEditModel){\r\n this.$emit('input', data);\r\n }\r\n\r\n get useFixedPriceProjects(){\r\n return UserStore.userSettings.useFixedPriceProjects;\r\n }\r\n\r\n get budgetUnitOptions() {\r\n return [\r\n { id: \"Currency\", description: UserStore.userSettings.currency, disabled: UserStore.userSettings.noRates },\r\n { id: \"Hours\", description: \"h (alle)\" },\r\n { id: \"HoursBillable\", description: \"h (verrechenbar)\" }\r\n ];\r\n }\r\n\r\n setThresholdIfZero() {\r\n if (this.project.notifyOnBudgetOverrun && this.project.budgetOverrunThresholdPercent == 0) {\r\n this.project.budgetOverrunThresholdPercent = 100;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomerProject.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomerProject.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCustomerProject.vue?vue&type=template&id=75435280&\"\nimport script from \"./EditCustomerProject.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCustomerProject.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport {\n CustomerEditModel,\n ProjectAsCustomerEditModel,\n ProjectStaffAppUserViewModel,\n ProjectStaffEditModel,\n RateRuleAmountFilter,\n} from '@/services/api/nswag/stapiclient_generated';\nimport { projectStaffApi, stCustomerApi, stProjectApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport StRatePicker from '@/components/basic/StRatePicker.vue';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport StTextarea from '@/components/basic/StTextarea.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport { TabModel } from '@/components/tabs/tab-model';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport EditCustomerTextOverwriter from '@/views/Projects/EditCustomerTextOverwriter.vue';\nimport ProjectStaffEdit from '@/views/Projects/ProjectStaffEdit.vue';\nimport StPercentInput from '@/components/basic/StPercentInput.vue';\nimport StDatePicker from '@/components/basic/StDatePicker.vue';\nimport StCurrencyInput from '@/components/basic/StCurrencyInput.vue';\nimport ProjectChangeFixedPriceWarning from '@/views/Projects/ProjectChangeFixedPriceWarning.vue';\nimport EditCustomerProject from '@/views/Projects/EditCustomerProject.vue';\n\n@Component({\n components: {\n EditCustomerProject,\n ProjectChangeFixedPriceWarning,\n StCurrencyInput,\n StDatePicker,\n StTextarea,\n StToggle,\n StInput2,\n SlideIn,\n StRatePicker,\n StTabs,\n EditCustomerTextOverwriter,\n ProjectStaffEdit,\n StPercentInput,\n },\n})\nexport default class EditCustomer extends Vue {\n private id: number = 0;\n private customer: CustomerEditModel = CustomerEditModel.fromJS({ name: '' });\n private loading: boolean = true;\n private delayLoading: boolean = false;\n private saving: boolean = false;\n private listPage: string = 'Projects';\n noOfActiveProjects: number = 0;\n appUsers: ProjectStaffAppUserViewModel[] = [];\n isReadonly = false;\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n if (this.$router.currentRoute.meta.activeGroup == 'postprocess') {\n this.$router.push({ name: 'OutgoingInvoiceEdit', params: this.$router.currentRoute.params });\n } else {\n this.$router.push({ name: this.listPage });\n }\n }\n\n created() {\n if (this.$router.currentRoute.meta.activeGroup == 'postprocess') {\n this.id = parseInt(this.$route.params.customerId);\n this.activeTabName = 'invoice';\n } else {\n this.id = parseInt(this.$route.params.id);\n }\n this.isReadonly = !!this.$route.params.readonly;\n }\n\n get countries(): any[] {\n const countries = [\n {\n value: 'DE',\n description: 'Deutschland',\n },\n {\n value: 'AT',\n description: 'Österreich',\n },\n {\n value: 'CH',\n description: 'Schweiz',\n }\n ,\n {\n value: 'NL',\n description: 'Niederlande',\n }\n ,\n {\n value: 'BE',\n description: 'Belgien',\n }\n ,\n {\n value: 'FR',\n description: 'Frankreich',\n }\n ,\n {\n value: 'DK',\n description: 'Dänemark',\n }\n ];\n return countries;\n }\n\n get fromInvoice() {\n return this.$router.currentRoute.meta.activeGroup == 'postprocess';\n }\n\n get useFixedPriceProjects() {\n return UserStore.userSettings.useFixedPriceProjects;\n }\n\n get useEInvoice(): boolean {\n return UserStore.userSettings.useEInvoice;\n }\n\n activeTabName = 'standard';\n\n get tabs(): TabModel[] {\n let res = [\n {\n TabName: 'standard',\n Disabled: this.fromInvoice,\n },\n ];\n\n if (this.useInvoice) {\n res.push({\n TabName: 'invoice',\n Disabled: false,\n });\n }\n\n if (this.customer.hasNoProjects && this.appUsers.length) {\n res.push({\n TabName: 'rights',\n Disabled: false,\n });\n }\n\n return res;\n }\n\n async mounted() {\n this.openSlideIn();\n\n await this.loadEditModel();\n if (this.id) {\n this.noOfActiveProjects = await stCustomerApi.getNoOfActiveProjects(this.id);\n }\n\n if (this.customer.hasNoProjects) {\n this.appUsers = await projectStaffApi.getEmployees(this.project.id ?? 0);\n }\n\n this.loading = false;\n }\n\n async loadEditModel() {\n this.customer = this.id == 0 ? await stCustomerApi.getNew() : await stCustomerApi.get(this.id);\n }\n\n async hasNoProjectChanged() {\n try {\n this.delayLoading = true;\n if (this.customer.hasNoProjects) {\n this.customer.projectEditModel = await stProjectApi.getProjectAsCustomerEditModel(this.id);\n this.appUsers = await projectStaffApi.getEmployees(this.project.id ?? 0);\n }\n } finally {\n this.delayLoading = false;\n }\n }\n\n get budgetUnitOptions() {\n return [\n { id: 'Currency', description: UserStore.userSettings.currency, disabled: UserStore.userSettings.noRates },\n { id: 'Hours', description: 'Stunden (alle)' },\n { id: 'HoursBillable', description: 'Stunden (verrechenbar)' },\n ];\n }\n\n setThresholdIfZero() {\n if (this.project.notifyOnBudgetOverrun && this.project.budgetOverrunThresholdPercent == 0) {\n this.project.budgetOverrunThresholdPercent = 100;\n }\n }\n\n get project() {\n return this.customer.projectEditModel ?? ProjectAsCustomerEditModel.fromJS({});\n }\n\n set project(data: ProjectAsCustomerEditModel) {\n this.customer.projectEditModel = data;\n }\n\n get projectStaffEditModels() {\n return this.project.projectStaff ?? [];\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n get rateRuleAmountFilter() {\n return RateRuleAmountFilter.fromJS({\n customerId: this.id,\n projectId: undefined,\n projectTaskId: undefined,\n appUserId: undefined,\n });\n }\n\n @Watch('customer.amountModel.overrideAmount')\n overrideChanged() {\n if (this.customer?.amountModel && !this.customer.amountModel.overrideAmount) {\n this.customer.amountModel!.amount = this.customer.amountModel?.parentAmount ?? 0;\n }\n }\n\n get useRateRules() {\n return UserStore.userSettings.useRateRules;\n }\n\n get useInvoice() {\n return !UserStore.userSettings.noOutgoingInvoices;\n }\n\n get useInvoiceEmailSending() {\n return UserStore.userSettings.useInvoiceEmailSending;\n }\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n\n async submit() {\n try {\n this.saving = true;\n if (this.customer.id == 0) {\n await stCustomerApi.post(this.customer);\n } else {\n await stCustomerApi.put(this.customer.id, this.customer);\n }\n\n notifySuccess('Erfolgreich gespeichert');\n this.closeSlideIn();\n } finally {\n this.saving = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCustomer.vue?vue&type=template&id=929b8168&\"\nimport script from \"./EditCustomer.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCustomer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-file-alt mr-4\"}),(_vm.project.id)?_c('span',[_vm._v(_vm._s(_vm.$t('Projekt'))+\" \"+_vm._s(_vm.project.name)+\" \"+_vm._s(_vm.$t('bearbeiten')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neues Projekt anlegen')))])]},proxy:true}])},[(!_vm.loading)?_c('div',{staticClass:\"pt-4\"},[_c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('st-tabs',{attrs:{\"tabs\":_vm.tabs},scopedSlots:_vm._u([{key:\"standardHeader\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('Projekt'))+\" \")]},proxy:true},{key:\"rightsHeader\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('Berechtigungen')))])]},proxy:true},{key:\"standard\",fn:function(){return [_c('div',{staticClass:\"grid grid-cols-1\"},[_c('st-input2',{attrs:{\"label\":\"Projektname\",\"name\":\"Projektname\",\"type\":\"text\",\"rules\":\"required\",\"disabled\":_vm.isReadonly,\"focus\":true},model:{value:(_vm.project.name),callback:function ($$v) {_vm.$set(_vm.project, \"name\", $$v)},expression:\"project.name\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Kunde')))]),_c('st-input2',{attrs:{\"value\":_vm.project.customerName,\"disabled\":true}})],1),(_vm.useCustomerProjectId)?_c('st-input2',{attrs:{\"label\":\"Projekt ID\",\"name\":\"Projekt ID\",\"type\":\"text\",\"rules\":\"required\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.customerProjectId),callback:function ($$v) {_vm.$set(_vm.project, \"customerProjectId\", $$v)},expression:\"project.customerProjectId\"}}):_vm._e(),_c('st-textarea',{attrs:{\"rows\":\"3\",\"label\":\"Kommentar\",\"name\":\"Kommentar\",\"type\":\"textarea\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.comment),callback:function ($$v) {_vm.$set(_vm.project, \"comment\", $$v)},expression:\"project.comment\"}}),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex items-center\"},[_c('span',[_vm._v(_vm._s(_vm.$t('Hinweis zur Zeiterfassung')))]),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Dieser Hinweis wird in der Zeiterfassung angezeigt, wenn das entsprechende Projekt ausgewählt wird'))+\" \")])],1),_c('st-textarea',{attrs:{\"rows\":\"3\",\"name\":\"Hinweis zur Zeiterfassung\",\"type\":\"textarea\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.commentForTimeTracking),callback:function ($$v) {_vm.$set(_vm.project, \"commentForTimeTracking\", $$v)},expression:\"project.commentForTimeTracking\"}})],1),(_vm.canViewRates && !_vm.project.isFixedPrice)?[(!_vm.useRateRules)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stundensatz')))]),_c('st-rate-picker',{staticClass:\"mt-4\",attrs:{\"rate-rule-amount-filter\":_vm.rateRuleAmountFilter,\"label\":_vm.$t('Projektstundensatz festlegen'),\"input-class\":\"xl:w-1/6\",\"disabled\":_vm.isReadonly},model:{value:(_vm.project.amountModel),callback:function ($$v) {_vm.$set(_vm.project, \"amountModel\", $$v)},expression:\"project.amountModel\"}}),(_vm.project.isFixedPrice)?_c('div',{staticClass:\"form-control-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('Dies ist ein Festpreisprojekt, der Stundensatz wird nach Abschluss des Projekts berechnet.'))+\" \")]):_vm._e()],1):_vm._e()]:_vm._e(),_c('edit-customer-project',{attrs:{\"is-readonly\":_vm.isReadonly},model:{value:(_vm.project),callback:function ($$v) {_vm.project=$$v},expression:\"project\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Projektleistungen')))]),_c('st-toggle',{staticClass:\"mt-6\",attrs:{\"type\":\"right\",\"value\":!_vm.project.hideGlobalProjectTasks,\"disabled\":_vm.isReadonly},on:{\"input\":function($event){_vm.project.hideGlobalProjectTasks = !_vm.project.hideGlobalProjectTasks}}},[_vm._v(\" \"+_vm._s(_vm.$t('Globale Leistungen anzeigen'))+\" \")])],1),_c('div',{staticClass:\"form-group\"},[_c('project-project-task-edit-list',{attrs:{\"disabled\":_vm.isReadonly,\"is-fixed-price\":_vm.project.isFixedPrice,\"customer-id\":_vm.project.customerId,\"project-rule-amount\":_vm.project.amountModel,\"project-id\":_vm.project.id},model:{value:(_vm.project.projectTasks),callback:function ($$v) {_vm.$set(_vm.project, \"projectTasks\", $$v)},expression:\"project.projectTasks\"}})],1)],2)]},proxy:true},{key:\"rights\",fn:function(){return [_c('div',[_c('project-staff-edit',{attrs:{\"project-id\":_vm.project.id,\"app-users\":_vm.appUsers,\"disabled\":_vm.isReadonly},model:{value:(_vm.projectStaffEditModels),callback:function ($$v) {_vm.projectStaffEditModels=$$v},expression:\"projectStaffEditModels\"}})],1)]},proxy:true}],null,true),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}}),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end mt-6\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.abort}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),(!_vm.isReadonly)?_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")]):_vm._e()],1)]}}],null,false,1600303887)})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{},[(!_vm.editModels || !_vm.editModels.length)?_c('div',{staticClass:\"alert alert-blue\"},[_vm._v(_vm._s(_vm.$t('Keine Projektleistungen vorhanden')))]):_vm._e(),_vm._l((_vm.editModels),function(item,index){return _c('div',{key:index},[_c('div',{staticClass:\"st-list-item-open border border-gray-300 flex flex-col w-full\"},[_c('div',{staticClass:\"flex items-center justify-between\"},[_c('st-input2',{staticClass:\"xl:w-1/2\",attrs:{\"focus\":item.id === 0,\"type\":\"text\",\"rules\":\"required\",\"name\":_vm.$t('Projektleistung'),\"disabled\":_vm.disabled},model:{value:(item.name),callback:function ($$v) {_vm.$set(item, \"name\", $$v)},expression:\"item.name\"}}),(!_vm.disabled)?_c('st-button-round',{staticClass:\"ml-6\",attrs:{\"loading\":_vm.projectTaskDelLoadingId === item.id,\"tooltip-text\":_vm.$t('Projektleistung löschen')},on:{\"click\":function($event){return _vm.remove(index)}}},[_c('i',{staticClass:\"far fa-trash-alt\"})]):_vm._e()],1),(!_vm.useRateRules && _vm.canViewRates && !_vm.isFixedPrice)?_c('div',[_c('st-separator',{staticClass:\"small\"}),_c('st-rate-picker',{attrs:{\"disabled\":_vm.disabled,\"project-rule-amount\":_vm.projectRuleAmount,\"rate-rule-amount-filter\":_vm.getRateRuleAmountFilter(item.id),\"label\":_vm.$t('Stundensatz festlegen'),\"input-class\":\"xl:w-1/3\"},model:{value:(item.amountModel),callback:function ($$v) {_vm.$set(item, \"amountModel\", $$v)},expression:\"item.amountModel\"}})],1):_vm._e()])])}),_c('div',{staticClass:\"flex justify-start mt-6\"},[(!_vm.disabled)?_c('st-button',{staticClass:\"green small float-right\",on:{\"click\":_vm.newItem}},[_vm._v(\" \"+_vm._s(_vm.$t('Neue Projektleistung'))+\" \")]):_vm._e()],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport {\n ProjectTaskEditModel,\n RateRuleAmountFilter,\n RateRuleAmountModel\n} from '@/services/api/nswag/stapiclient_generated';\nimport { stProjectTaskApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport StRatePicker from '@/components/basic/StRatePicker.vue';\nimport {DialogResponse} from 'vue-tailwind/dist/components/TDialog';\nimport {notifySuccess} from '@/utlitities/notifications';\n\n@Component({\n components: {\n StRatePicker,\n },\n})\nexport default class ProjectProjectTaskEditList extends Vue {\n @Prop() projectId!: number;\n @Prop() customerId!: number;\n @Prop() value!: ProjectTaskEditModel[];\n @Prop() projectRuleAmount!: RateRuleAmountModel;\n @Prop() disabled!: boolean;\n @Prop() isFixedPrice!: boolean;\n\n projectTaskDelLoadingId = -1;\n\n async newItem() {\n this.editModels.push(await stProjectTaskApi.getNewWithProjectId(this.customerId, this.projectId));\n }\n\n get useRateRules() {\n return UserStore.userSettings.useRateRules;\n }\n\n getRateRuleAmountFilter(projectTaskId: number){\n return RateRuleAmountFilter.fromJS({\n customerId: this.customerId,\n projectId: this.projectId,\n projectTaskId: projectTaskId,\n appUserId: undefined,\n });\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n\n async remove(index: number) {\n try {\n let projectTaskId = this.editModels[index].id!;\n if(!projectTaskId){\n this.editModels.splice(index, 1);\n return\n }\n\n this.projectTaskDelLoadingId = projectTaskId;\n const result = await stProjectTaskApi.delete(projectTaskId, false, false);\n if (result.confirmationNeeded) {\n const res: DialogResponse = await this.$dialog.confirm({\n title: this.$t('Bestätigung').toString(),\n text: result.message,\n variant: 'danger',\n okButtonText: this.$t('Löschen').toString(),\n cancelButtonText: this.$t('Abbrechen').toString()\n });\n if (res.isOk) {\n this.editModels.splice(index, 1);\n }\n }else{\n this.editModels.splice(index, 1);\n }\n } finally {\n this.projectTaskDelLoadingId = -1;\n }\n }\n\n get editModels() {\n return this.value;\n }\n\n set editModels(data: ProjectTaskEditModel[]) {\n this.$emit('input', data);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectProjectTaskEditList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectProjectTaskEditList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectProjectTaskEditList.vue?vue&type=template&id=e94c8f1a&\"\nimport script from \"./ProjectProjectTaskEditList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectProjectTaskEditList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport {\r\n BudgetUnitEnum,\r\n ProjectEditModel,\r\n ProjectStaffAppUserViewModel,\r\n ProjectStaffEditModel,\r\n RateRuleAmountFilter\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { projectStaffApi, stProjectApi } from \"@/services/st-api\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport StRatePicker from \"@/components/basic/StRatePicker.vue\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport StToggle from \"@/components/basic/StToggle.vue\";\r\nimport ProjectProjectTaskEditList from \"@/views/Projects/ProjectProjectTaskEditList.vue\";\r\nimport ProjectStaffEdit from \"@/views/Projects/ProjectStaffEdit.vue\";\r\nimport { TabModel } from \"@/components/tabs/tab-model\";\r\nimport StTabs from \"@/components/tabs/StTabs.vue\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\nimport StPercentInput from \"@/components/basic/StPercentInput.vue\";\r\nimport StDatePicker from \"@/components/basic/StDatePicker.vue\";\r\nimport StCurrencyInput from \"@/components/basic/StCurrencyInput.vue\";\r\nimport ProjectChangeFixedPriceWarning from \"@/views/Projects/ProjectChangeFixedPriceWarning.vue\";\r\nimport EditCustomerProject from \"@/views/Projects/EditCustomerProject.vue\";\r\n\r\n@Component({\r\n components: {\r\n EditCustomerProject,\r\n ProjectChangeFixedPriceWarning,\r\n StCurrencyInput,\r\n StDatePicker,\r\n ProjectStaffEdit,\r\n ProjectProjectTaskEditList,\r\n StToggle,\r\n StInput2,\r\n SlideIn,\r\n StRatePicker,\r\n StTabs,\r\n StPercentInput\r\n }\r\n})\r\nexport default class EditProject extends Vue {\r\n private customerid: number = 0;\r\n private projectid: number = 0;\r\n private project: ProjectEditModel = ProjectEditModel.fromJS({ customerId: 0, name: \"\", amountModel: {} });\r\n private listPage = \"Projects\";\r\n private loading: boolean = true;\r\n private saving: boolean = false;\r\n appUsers: ProjectStaffAppUserViewModel[] = [];\r\n isReadonly: boolean = false;\r\n\r\n allEmployeesAllowed: boolean = true;\r\n\r\n activeTabName = \"standard\";\r\n\r\n get tabs(): TabModel[] {\r\n let res = [\r\n {\r\n TabName: \"standard\",\r\n Disabled: false\r\n }\r\n ];\r\n\r\n if (this.appUsers.length) {\r\n res.push({\r\n TabName: \"rights\",\r\n Disabled: false\r\n });\r\n }\r\n\r\n return res;\r\n }\r\n\r\n get projectStaffEditModels() {\r\n return this.project.projectStaff ?? [];\r\n }\r\n\r\n set projectStaffEditModels(data: ProjectStaffEditModel[]) {\r\n this.project.projectStaff = data;\r\n }\r\n\r\n get useFixedPriceProjects(){\r\n return UserStore.userSettings.useFixedPriceProjects;\r\n }\r\n\r\n get useCustomerProjectId() {\r\n return UserStore.userSettings.featureFlagCustomerProjectId;\r\n }\r\n\r\n checkAllSelected() {\r\n if (this.allEmployeesAllowed) {\r\n this.projectStaffEditModels = [];\r\n }\r\n }\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n }\r\n\r\n closeSlideIn() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n\r\n slideOutClosed() {\r\n this.$router.push({ name: this.listPage });\r\n }\r\n\r\n created() {\r\n this.customerid = parseInt(this.$route.params.customerid);\r\n this.projectid = parseInt(this.$route.params.projectid);\r\n this.isReadonly = !!this.$route.params.readonly;\r\n }\r\n\r\n async mounted() {\r\n this.openSlideIn();\r\n\r\n this.appUsers = await projectStaffApi.getEmployees(this.projectid);\r\n this.project = this.projectid == 0 ? await stProjectApi.getNew(this.customerid) : await stProjectApi.get(this.projectid);\r\n this.allEmployeesAllowed = !this.projectStaffEditModels.length;\r\n\r\n this.loading = false;\r\n }\r\n\r\n setThresholdIfZero() {\r\n if (this.project.notifyOnBudgetOverrun && this.project.budgetOverrunThresholdPercent == 0) {\r\n this.project.budgetOverrunThresholdPercent = 100;\r\n }\r\n }\r\n\r\n get canViewRates() {\r\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\r\n }\r\n\r\n get rateRuleAmountFilter() {\r\n return RateRuleAmountFilter.fromJS({\r\n customerId: this.customerid,\r\n projectId: this.projectid,\r\n projectTaskId: undefined,\r\n appUserId: undefined\r\n });\r\n }\r\n\r\n get budgetUnitOptions() {\r\n return [\r\n { id: \"Currency\", description: UserStore.userSettings.currency, disabled: UserStore.userSettings.noRates },\r\n { id: \"Hours\", description: \"h (alle)\" },\r\n { id: \"HoursBillable\", description: \"h (verrechenbar)\" }\r\n ];\r\n }\r\n\r\n get budgetTimeFrameOptions() {\r\n return [{ id: \"Fixed\", description: \"fixes Budget\" }];\r\n }\r\n\r\n get budgetInputType() {\r\n if (this.project.budgetUnit == BudgetUnitEnum.Hours) {\r\n return \"duration\";\r\n }\r\n\r\n return \"currency\";\r\n }\r\n\r\n get useRateRules() {\r\n return UserStore.userSettings.useRateRules;\r\n }\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n async submit() {\r\n try {\r\n this.saving = true;\r\n this.project.allowDeleteDependentEntitiesForProjectTasks = true;\r\n if (this.project.id == 0) {\r\n await stProjectApi.post(this.project);\r\n } else {\r\n await stProjectApi.put(this.project.id, this.project);\r\n }\r\n notifySuccess(\"Erfolgreich gespeichert\");\r\n\r\n this.closeSlideIn();\r\n } finally {\r\n this.saving = false;\r\n }\r\n }\r\n\r\n abort() {\r\n this.closeSlideIn();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProject.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProject.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditProject.vue?vue&type=template&id=079d9025&\"\nimport script from \"./EditProject.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditProject.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(_vm.tag.id)?_c('span',[_vm._v(_vm._s(_vm.$t('Kategorie'))+\" \"+_vm._s(_vm.tag.name)+\" \"+_vm._s(_vm.$t('bearbeiten')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Kategorie anlegen')))])]},proxy:true}])},[_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('st-input2',{attrs:{\"label\":\"Name\",\"name\":\"Name\",\"type\":\"text\",\"rules\":\"required\",\"focus\":true},model:{value:(_vm.tag.name),callback:function ($$v) {_vm.$set(_vm.tag, \"name\", $$v)},expression:\"tag.name\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Farbe')))]),_c('v-popover',{staticClass:\"w-20\",attrs:{\"position\":\"bottom-start\",\"popover-inner-class\":\"bg-white shadow-sm border border-gray-200\"},scopedSlots:_vm._u([{key:\"popover\",fn:function(){return [_c('div',{staticClass:\"grid grid-cols-3 p-2\"},_vm._l((_vm.colorClasses),function(colorClass){return _c('div',{directives:[{name:\"close-popover\",rawName:\"v-close-popover\"}],staticClass:\"col-span-1 select-none leading-normal w-20 h-20 text-transparent rounded-sm shadow-sm cursor-pointer m-2\",class:colorClass,on:{\"click\":function($event){_vm.tag.colorClass = colorClass}}})}),0)]},proxy:true}],null,true)},[_c('div',{staticClass:\"leading-normal w-20 text-transparent rounded-sm shadow-sm cursor-pointer select-none\",class:_vm.tag.colorClass},[_vm._v(\"- \")])])],1),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.closeSlideIn()}}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(_vm._s(_vm.$t('Speichern')))])],1)]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { TagEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stTagApi } from '@/services/st-api';\nimport StRatePicker from '@/components/basic/StRatePicker.vue';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\n\n@Component({\n components: {\n StToggle,\n StInput2,\n SlideIn,\n StRatePicker,\n },\n})\nexport default class TagEdit extends Vue {\n private id: number = 0;\n private tag: TagEditModel = new TagEditModel();\n private loading: boolean = true;\n private saving: boolean = false;\n private listPage: string = 'Tags';\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n this.$router.push({ name: this.listPage });\n }\n\n created() {\n this.id = parseInt(this.$route.params.id);\n }\n\n async mounted() {\n this.openSlideIn();\n this.tag = this.id == 0 ? await stTagApi.getNew() : await stTagApi.get(this.id);\n this.loading = false;\n }\n\n get colorClasses() {\n return ['bg-blue-500', 'bg-green-500', 'bg-orange-500', 'bg-red-500', 'bg-purple-500', 'bg-pink-500', 'bg-green-700', 'bg-black', 'bg-gray-500'];\n }\n\n async submit() {\n try {\n this.saving = true;\n if (this.tag.id == 0) {\n await stTagApi.post(this.tag);\n } else {\n await stTagApi.put(this.tag.id, this.tag);\n }\n this.closeSlideIn();\n } finally {\n this.saving = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TagEdit.vue?vue&type=template&id=0eb54af2&\"\nimport script from \"./TagEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./TagEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(_vm.projectTask.id)?_c('span',[_vm._v(_vm._s(_vm.$t('Leistung'))+\" \"+_vm._s(_vm.projectTask.name)+\" \"+_vm._s(_vm.$t('bearbeiten')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Leistung anlegen')))])]},proxy:true}])},[(!_vm.loading)?_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('st-input2',{attrs:{\"label\":\"Name\",\"name\":\"Name\",\"type\":\"text\",\"rules\":\"required\",\"focus\":true},model:{value:(_vm.projectTask.name),callback:function ($$v) {_vm.$set(_vm.projectTask, \"name\", $$v)},expression:\"projectTask.name\"}}),(_vm.canViewRates)?[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('Stundensatz'))+\" \"),_c('st-explanation',{staticClass:\"ml-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Achtung!')))]),_c('br'),_vm._v(\" Stundensätze, die bei globalen \"),_c('br'),_vm._v(\" Leistungen definiert werden, haben Vorrang \"),_c('br'),_vm._v(\" vor beim Kunden oder Projekt definierten Stundensätzen! \")])],1),_c('st-rate-picker',{attrs:{\"label\":_vm.$t('Stundensatz hinzufügen'),\"input-class\":\"xl:w-1/6\"},model:{value:(_vm.projectTask.amountModel),callback:function ($$v) {_vm.$set(_vm.projectTask, \"amountModel\", $$v)},expression:\"projectTask.amountModel\"}})],1)]:_vm._e(),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.closeSlideIn()}}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(_vm._s(_vm.$t('Speichern')))])],1)]}}],null,false,2023039014)})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { ProjectTaskEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stProjectTaskApi } from '@/services/st-api';\nimport StRatePicker from '@/components/basic/StRatePicker.vue';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport StExplanation from '@/components/basic/StExplanation.vue';\nimport {UserStore} from '@/store/user-module';\n\n@Component({\n components: {\n StExplanation,\n StToggle,\n StInput2,\n SlideIn,\n StRatePicker,\n },\n})\nexport default class ProjectTaskEdit extends Vue {\n private id: number = 0;\n private projectTask: ProjectTaskEditModel = ProjectTaskEditModel.fromJS({ name: '' });\n private loading: boolean = true;\n private saving: boolean = false;\n private listPage: string = 'ProjectTasks';\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n this.$router.push({ name: this.listPage });\n }\n\n created() {\n this.id = parseInt(this.$route.params.id);\n }\n\n async mounted() {\n this.openSlideIn();\n this.projectTask = this.id == 0 ? await stProjectTaskApi.getNew() : await stProjectTaskApi.get(this.id);\n this.loading = false;\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n async submit() {\n try {\n this.saving = true;\n if (this.projectTask.id == 0) {\n await stProjectTaskApi.post(this.projectTask);\n } else {\n await stProjectTaskApi.put(this.projectTask.id, this.projectTask);\n }\n notifySuccess('Erfolgreich gespeichert');\n this.closeSlideIn();\n } finally {\n this.saving = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTaskEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectTaskEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectTaskEdit.vue?vue&type=template&id=5fc1dd5c&\"\nimport script from \"./ProjectTaskEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectTaskEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page relative\"},[(_vm.loading)?_c('st-loading',{attrs:{\"absolute\":true}}):_vm._e(),_c('div',{staticClass:\"page-header flex-wrap\"},[_c('div',{staticClass:\"flex flex-wrap items-center\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('Projektbericht'))+\" \"+_vm._s(_vm.loading ? '' : '- ' + _vm.reportModel.name))]),_c('st-button',{staticClass:\"white ml-4\",attrs:{\"icon\":\"fa fa-arrow-left\"},on:{\"click\":_vm.back}},[_vm._v(_vm._s(_vm.$t('Zurück zur Liste')))])],1),_c('div',{staticClass:\"w-full md:w-1/3 mt-6 md:mt-0 text-gray-700\"},[_c('st-select',{attrs:{\"options\":_vm.projects,\"grouped\":true},on:{\"input\":function($event){return _vm.changeProject($event)}},model:{value:(_vm.projectId),callback:function ($$v) {_vm.projectId=$$v},expression:\"projectId\"}})],1)]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"flex font-bold items-center ml-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Projektbericht'))+\" \")])])]),_c('div',{staticClass:\"grid\"},[_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Projekt'))+\" \"+_vm._s(_vm.reportModel.name))]),_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"report-card-comparison\"},[_c('div',{staticClass:\"grid lg:grid-cols-2 gap-4\"},[_c('div',[_c('div',{staticClass:\"grid gap-4 md:grid-cols-4 xl:grid-cols-4\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Kunde:')))]),_c('div',[_vm._v(_vm._s(_vm.reportModel.customerName))])]),_c('div',{staticClass:\"grid gap-4 md:grid-cols-4 xl:grid-cols-4\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Projektlaufzeit:')))]),_c('div',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.reportModel.startDate))+\" - \"+_vm._s(_vm._f(\"formatDate\")(_vm.reportModel.endDate)))])])]),(_vm.canViewRates && _vm.useInternalUserCost)?_c('div',[(_vm.reportModel.budget !== 0 && _vm.dataAvailable)?_c('st-progress',{attrs:{\"budgetMode\":true,\"progress\":_vm.reportModel.budgetPercentage},scopedSlots:_vm._u([{key:\"badgeText\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('Budgetverbrauch:'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.reportModel.budgetActualValue,'0,0'))+\" \"+_vm._s(_vm.$t('von'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.reportModel.budget,'0,0'))+\" \"),(_vm.reportModel.budgetUnit.toLowerCase() === 'hours')?_c('span',[_vm._v(\"h\")]):(_vm.reportModel.budgetUnit.toLowerCase() === 'hoursbillable')?_c('span',[_vm._v(\"h (verrechenbar)\")]):_c('span',[_vm._v(_vm._s(_vm.currency))])]},proxy:true}],null,false,682895028)}):_vm._e()],1):_vm._e()])])])],1)]),_c('div',{staticClass:\"grid md:grid-cols-3 gap-4 mt-4\"},[_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Stunden')))]),_c('div',{staticClass:\"report-card-subheader\"},[_vm._v(_vm._s(_vm.$t('Erfasste Stunden')))]),_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"report-card-value\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.reportModel.hours,'0,0.00'))+\" h\")]),_c('div',{staticClass:\"report-card-comparison\"},[_vm._v(_vm._s(_vm.$t('davon nicht verrechenbar:'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.reportModel.hoursNotBillable,'0,0.00'))+\" h\")])])],1),(_vm.canViewRates)?_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Umsatz')))]),_c('div',{staticClass:\"report-card-subheader\"},[_vm._v(_vm._s(_vm.$t('Umsatz gesamt')))]),_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"report-card-value\"},[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(_vm.reportModel.revenueBillable))+\" \")]),_c('div',{staticClass:\"report-card-comparison\"},[_vm._v(_vm._s(_vm.$t('nicht verrechenbar:'))+\" \"+_vm._s(_vm._f(\"amountCurrency\")(_vm.reportModel.revenueNotBillable)))])])],1):_vm._e(),(_vm.canViewRates && _vm.useInternalUserCost)?_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(\" \"+_vm._s(_vm.$t('Marge'))+\" \"),(!_vm.reportModel.allEntriesHaveCost)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Es sind nicht für alle beteiligten Mitarbeiter im betrachteten Zeitraum Kosten hinterlegt.')),expression:\"$t('Es sind nicht für alle beteiligten Mitarbeiter im betrachteten Zeitraum Kosten hinterlegt.')\"}],staticClass:\"far fa-exclamation-triangle text-yellow-500\"}):_vm._e()]),_c('div',{staticClass:\"report-card-subheader\"},[_vm._v(_vm._s(_vm.$t('Umsatz abzgl. Mitarbeiterkosten')))]),_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"report-card-value\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.reportModel.db1)))]),_c('div',{staticClass:\"report-card-comparison\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiterkosten:'))+\" \"+_vm._s(_vm._f(\"amountCurrency\")(_vm.reportModel.cost)))])])],1):_vm._e(),(_vm.canViewRates && !_vm.useInternalUserCost)?_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Budget')))]),_c('div',{staticClass:\"report-card-subheader\"},[_vm._v(_vm._s(_vm.$t('Verbrauchtes Budget')))]),_c('div',{staticClass:\"report-card-body\"},[(_vm.reportModel.budget === 0)?_c('div',{staticClass:\"text-md text-center\"},[_vm._v(_vm._s(_vm.$t('Kein Budget festgelegt')))]):_vm._e(),(_vm.reportModel.budget !== 0 && _vm.dataAvailable)?_c('st-progress',{attrs:{\"budgetMode\":true,\"progress\":_vm.reportModel.budgetPercentage},scopedSlots:_vm._u([{key:\"badgeText\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.reportModel.budgetActualValue,'0,0'))+\" \"+_vm._s(_vm.$t('von'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.reportModel.budget,'0,0'))+\" \"),(_vm.reportModel.budgetUnit.toLowerCase() === 'hours')?_c('span',[_vm._v(\"h\")]):(_vm.reportModel.budgetUnit.toLowerCase() === 'hoursbillable')?_c('span',[_vm._v(\"h (verrechenbar)\")]):_c('span',[_vm._v(_vm._s(_vm.currency))])]},proxy:true}],null,false,2768886585)}):_vm._e()],1)],1):_vm._e()]),_c('div',{staticClass:\"grid grid-cols-1 gap-4 mt-4 overflow-y-auto\"},[_c('div',{staticClass:\"report-card relative\",staticStyle:{\"min-height\":\"350px\",\"min-width\":\"768px\"}},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),(_vm.canViewRates)?_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Zeit und Umsatz')))]):_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Zeiten')))]),_c('div',{staticClass:\"report-card-body\"},[(_vm.dataAvailable)?_c('apexchart',{attrs:{\"height\":\"350\",\"options\":_vm.timeRevenueChartOptions.chartOptions,\"series\":_vm.timeRevenueChartOptions.series}}):_vm._e()],1)],1)]),_c('div',{staticClass:\"grid grid-cols-12 gap-4 mt-4\"},[_c('div',{staticClass:\"col-span-12 md:col-span-6\"},[_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter (Stunden)')))]),_c('div',{staticClass:\"report-card-body\"},[(_vm.dataAvailable && !_vm.loading)?_c('apexchart',{attrs:{\"height\":\"350\",\"options\":_vm.userChartHoursOptions.chartOptions,\"series\":_vm.userChartHoursOptions.series}}):_vm._e()],1)],1)]),_c('div',{staticClass:\"col-span-12 md:col-span-6\"},[_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter (Umsatz)')))]),_c('div',{staticClass:\"report-card-body\"},[(_vm.dataAvailable && !_vm.loading)?_c('apexchart',{attrs:{\"height\":\"350\",\"options\":_vm.userChartRevenueOptions.chartOptions,\"series\":_vm.userChartRevenueOptions.series}}):_vm._e()],1)],1)]),_c('div',{staticClass:\"col-span-12 sm:col-span-12\"},[_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter Details')))]),_c('div',{staticClass:\"report-card-body\"},[_c('table',{staticClass:\"w-full table-fixed text-left\"},[_c('thead',[_c('tr',{staticClass:\"border-b-2 border-gray-400\"},[_c('th',{staticClass:\"p-4 pl-6\"},[_vm._v(_vm._s(_vm.$t('Benutzer')))]),_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Stunden')))]),(_vm.canViewRates)?_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatz')))]):_vm._e(),(_vm.canViewRates && _vm.useInternalUserCost)?_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Kosten')))]):_vm._e(),_c('th',{staticClass:\"p-4 pr-6 truncate\"},[_vm._v(_vm._s(_vm.$t('Prozentsatz / Alle Benutzer (h)')))])])]),_c('tbody',_vm._l((_vm.reportModel.userModel),function(user){return _c('tr',{key:user.userFullName,staticClass:\"border-b border-gray-400\"},[_c('td',{staticClass:\"p-4 pl-6 truncate\"},[_vm._v(_vm._s(user.userFullName))]),_c('td',{staticClass:\"p-4 truncate text-right\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(user.hours,'0,0.00'))+\" h\")]),(_vm.canViewRates)?_c('td',{staticClass:\"p-4 truncate text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(user.revenueBillable)))]):_vm._e(),(_vm.canViewRates && _vm.useInternalUserCost)?_c('td',{staticClass:\"p-4 truncate text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(user.cost)))]):_vm._e(),_c('td',{staticClass:\"p-4 pr-6 truncate\"},[_c('st-progress',{attrs:{\"progress\":_vm.getUserPercentage(user),\"texts\":[_vm.getUserPercentageLabel(user)]}})],1)])}),0)])])],1)])]),_c('div',{staticClass:\"grid-cols-1 gap-4 mt-4 overflow-y-auto\"},[_c('div',{staticClass:\"report-card relative\",staticStyle:{\"min-width\":\"768px\"}},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Zeiteinträge')))]),_c('div',{staticClass:\"report-card-body\"},[_c('table',{staticClass:\"st-table mt-4\"},[_c('thead',[_c('tr',{staticClass:\"border-b-2 border-gray-400\"},[_c('th',{staticClass:\"p-4 pl-6\"},[_vm._v(_vm._s(_vm.$t('Datum')))]),_c('th',{staticClass:\"p-4\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter')))]),(_vm.canViewRates)?_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Stundensatz')))]):_vm._e(),_c('th',{staticClass:\"p-4\"},[_vm._v(_vm._s(_vm.$t('Beschreibung / Details')))]),_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Dauer')))]),(_vm.canViewRates)?_c('th',{staticClass:\"p-4 pr-6 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatz')))]):_vm._e()])]),_c('tbody',_vm._l((_vm.reportModel.timeEntries),function(timeEntry){return _c('tr',{key:timeEntry.id,staticClass:\"border-b border-gray-400\"},[_c('td',{staticClass:\"p-4 pl-6\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(timeEntry.entryDate)))]),_c('td',{staticClass:\"p-4\"},[_vm._v(_vm._s(timeEntry.appUserName))]),(_vm.canViewRates)?_c('td',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(timeEntry.rateAmount)))]):_vm._e(),_c('td',{staticClass:\"p-4 whitespace-pre-wrap\"},[_vm._v(_vm._s(timeEntry.description))]),_c('td',{staticClass:\"p-4 text-right whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(timeEntry.durationMinutes))+\" h\")]),(_vm.canViewRates)?_c('td',{staticClass:\"p-4 pr-6 text-right whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(timeEntry.revenueBillable)))]):_vm._e()])}),0)])])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\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\nimport { Vue } from 'vue-property-decorator';\nimport Component from 'vue-class-component';\nimport { UserStore } from '@/store/user-module';\nimport { stProjectApi } from '@/services/st-api';\nimport StProgress from '@/components/basic/StProgress.vue';\nimport { ProjectFilter, ProjectReportUserModel, ProjectReportViewModel, StSelectListItemGroup } from '@/services/api/nswag/stapiclient_generated';\nimport { roundToTwo } from '@/utlitities/helper';\nimport ld from 'lodash';\n\n@Component({\n components: {\n StProgress,\n },\n})\nexport default class ProjectReport extends Vue {\n projectId!: number;\n reportModel?: ProjectReportViewModel = ProjectReportViewModel.fromJS({});\n loading = true;\n dataAvailable = false;\n userChartHoursOptions = {};\n userChartRevenueOptions = {};\n projects: StSelectListItemGroup[] = [];\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n\n created() {\n this.projectId = +this.$route.params.projectid;\n }\n\n mounted() {\n this.loadData();\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n get useInternalUserCost() : boolean {\n return UserStore.userSettings.useInternalUserCost;\n }\n\n changeProject(projectId: number) {\n this.$router.push({ name: this.$route.name!, params: { projectid: projectId.toString() } });\n this.loadData();\n }\n\n getUserPercentage(user: ProjectReportUserModel) {\n return ((user.hours || 1) / (this.reportModel?.hours || 1)) * 100;\n }\n\n getUserPercentageLabel(user: ProjectReportUserModel) {\n return Math.round(((user.revenueBillable || 1) / (this.reportModel?.revenueBillable || 1)) * 1000) / 10 + '%';\n }\n\n async loadData() {\n this.loading = true;\n this.projects = await stProjectApi.getSelectListForProjectReport();\n this.reportModel = await stProjectApi.getProjectReport(this.projectId);\n\n await this.generateUserChartHours();\n await this.generateUserChartRevenue();\n this.loading = false;\n this.dataAvailable = true;\n }\n\n getTimeRevenueChartMax(): number {\n //da das Chart nicht automatisch weiß, dass es bis zum größten skalieren muss, müssen wir das hier berechnen\n if (this.reportModel && this.reportModel.timeFrameModel)\n {\n let maxRevenue = ld.max(this.reportModel?.timeFrameModel?.map((entry) => entry.revenue)) ?? 0;\n let maxCost = ld.max(this.reportModel?.timeFrameModel?.map((entry) => entry.cost)) ?? 0;\n return maxRevenue >= maxCost ? maxRevenue * 1.5 : maxCost * 1.5;\n }\n\n return 0;\n }\n\n get timeRevenueChartOptions() {\n let data = {\n series: [\n {\n name: this.$t('Stunden').toString(),\n type: this.useInternalUserCost ? 'line' : 'bar',\n data: this.reportModel?.timeFrameModel?.map((entry) => entry.hours),\n },\n {\n name: this.$t('Umsatz').toString(),\n type: this.useInternalUserCost ? 'bar' : 'line',\n data: this.reportModel?.timeFrameModel?.map((entry) => entry.revenue),\n },\n {\n name: this.$t('Kosten').toString(),\n type: 'bar',\n data: this.reportModel?.timeFrameModel?.map((entry) => entry.cost),\n },\n ],\n chartOptions: {\n chart: {\n height: 350,\n },\n colors: ['#357ebd', '#5cb85c', '#d24545'],\n plotOptions: {\n bar: {\n endingShapes: 'round',\n columnWidth: '50px',\n },\n },\n stroke: {\n width: [2, 2, 2],\n dashArray: [0, 0, 0],\n },\n dataLabels: {\n enabled: false,\n },\n labels: this.reportModel?.timeFrameModel?.map((entry) => {\n if (this.reportModel?.displayTimeChartDaily) {\n return this.$options.filters?.formatDate(entry.date);\n } else {\n return this.$options.filters?.formatMonth(entry.date);\n }\n }),\n xaxis: {\n type: 'string',\n },\n yaxis: [\n {\n seriesName: this.$t('Stunden').toString(),\n title: {\n text: this.$t('Stunden').toString(),\n },\n labels: {\n formatter: (value: any) => {\n return this.$options.filters?.formatNumber(value);\n },\n },\n },\n {\n seriesName: this.$t('Umsatz').toString(),\n title: {\n text: this.$t('Umsatz').toString(),\n },\n opposite: true,\n show: true,\n forceNiceScale: true,\n labels: {\n formatter: (value: any) => {\n return this.$options.filters?.formatNumber(value);\n },\n },\n },\n {\n seriesName: this.$t('Umsatz').toString(),\n title: {\n text: this.$t('Umsatz').toString(),\n },\n opposite: true,\n show: false,\n forceNiceScale: true,\n labels: {\n formatter: (value: any) => {\n return this.$options.filters?.formatNumber(value);\n },\n },\n }\n ],\n },\n };\n\n if (!this.canViewRates) {\n //remove Umsatz und Kosten\n data.series.splice(1, 2);\n data.chartOptions.yaxis.splice(1, 2);\n data.chartOptions.colors.splice(1, 2);\n (data.chartOptions.chart as any).type = 'line';\n }\n\n if (this.canViewRates && !this.useInternalUserCost)\n {\n //remove Kosten\n data.series.splice(2, 1);\n data.chartOptions.yaxis.splice(2, 1);\n data.chartOptions.colors.splice(2, 1);\n (data.chartOptions.chart as any).type = 'line';\n }\n\n return data;\n }\n\n async generateUserChartHours() {\n this.userChartHoursOptions = {\n series: this.reportModel?.userModel?.map((user) => user.hours),\n chartOptions: {\n chart: {\n type: 'pie',\n width: 380,\n },\n colors: ['#2980B9', '#5CB85C', '#5BC0DE', '#F0AD4E', '#D9534F', '#428BCA', '#B57C20', '#4AC499', '#A6D9E2', '#C44AB2', '#4AC45C', '#E2AFA6', '#D38678', '#C44A75'],\n tooltip: {\n y: {\n formatter: (value: number) => roundToTwo(value) + ' h (' + Math.round((value / (this.reportModel?.hours || value)) * 1000) / 10 + '%)',\n },\n },\n stroke: {\n width: [0, 4],\n },\n dataLabels: {\n enabled: true,\n },\n labels: this.reportModel?.userModel?.map((user) => user.userFullName),\n },\n };\n }\n\n async generateUserChartRevenue() {\n this.userChartRevenueOptions = {\n series: this.reportModel?.userModel?.map((user) => user.revenueBillable),\n chartOptions: {\n chart: {\n type: 'pie',\n width: 380,\n },\n colors: ['#2980B9', '#5CB85C', '#5BC0DE', '#F0AD4E', '#D9534F', '#428BCA', '#B57C20', '#4AC499', '#A6D9E2', '#C44AB2', '#4AC45C', '#E2AFA6', '#D38678', '#C44A75'],\n tooltip: {\n y: {\n formatter: (value: number) => roundToTwo(value) + ' ' + this.currency + ' (' + Math.round((value / (this.reportModel?.revenueBillable || value)) * 1000) / 10 + '%)',\n },\n },\n stroke: {\n width: [0, 4],\n },\n dataLabels: {\n enabled: true,\n },\n labels: this.reportModel?.userModel?.map((user) => user.userFullName),\n },\n };\n }\n\n back() {\n this.$router.push({ name: 'Projects' });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectReport.vue?vue&type=template&id=a477888c&\"\nimport script from \"./ProjectReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectReport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProjectReport.vue?vue&type=style&index=0&id=a477888c&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Rechnungen')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Anlage und Bearbeitung von Ausgangsrechnungen')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-credit-card\"},on:{\"click\":function($event){return _vm.editInvoice(0)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Neue Rechnung anlegen'))+\" \")])],1),_c('div',{staticClass:\"p-8 flex justify-between items-center mb-8 bg-white rounded-sm shadow text-lg font-bold\"},[_c('div',{staticClass:\"grid grid-cols-6 items-center\"},[_c('div',{staticClass:\"col-span-4\"},[_vm._v(_vm._s(_vm.selectedDate.toFormat('MMM'))+\" \"+_vm._s(_vm.filter.year))]),_c('i',{staticClass:\"far fa-arrow-circle-left text-xl mr-4 cursor-pointer\",on:{\"click\":function($event){return _vm.switchMonth(-1)}}}),_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.switchMonth(1)}}})]),_c('div',{staticClass:\"flex items-center\"},[_c('VueDatePicker',{attrs:{\"fullscreen-mobile\":true,\"locale\":{ lang: 'de' },\"value\":_vm.selectedDate,\"color\":\"#357ebd\",\"no-header\":\"\",\"type\":\"month\"},on:{\"input\":_vm.switchDate},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar date = ref.date;\nreturn [_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Monat auswählen')),expression:\"$t('Monat auswählen')\"}],ref:\"activator\",staticClass:\"far fa-calendar-alt ml-8 cursor-pointer\"})]}}])}),_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Gehe zu aktuellem Monat'),expression:\"'Gehe zu aktuellem Monat'\"}],staticClass:\"far fa-history ml-8 cursor-pointer\",on:{\"click\":function($event){return _vm.goToToday()}}})],1)]),_c('div',{staticClass:\"st-list-container overflow-x-auto\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"grid grid-cols-1 lg:grid-cols-3 w-full\"},[_c('st-search',{attrs:{\"placeholder\":\"Suche...\",\"type\":\"text\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('div',{staticClass:\"lg:col-span-2 flex justify-end\"})],1)]),_c('div',{staticClass:\"relative\"},[_c('div',{staticClass:\"relative\",staticStyle:{\"min-width\":\"900px\"}},[_c('st-loading',{attrs:{\"centered\":true,\"loading\":_vm.loading}}),(!_vm.filteredInvoices.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-credit-card\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Rechnungen')))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Für den ausgewählten Zeitraum sind noch keine Rechnungen vorhanden')))])]):_vm._e(),_c('div',_vm._l((_vm.filteredInvoices),function(invoice){return _c('div',{key:invoice.id,staticClass:\"st-list-item\",on:{\"click\":function($event){$event.stopPropagation();!invoice.cleared ? _vm.editInvoice(invoice.id) : null}}},[_c('div',{staticClass:\"st-list-item-content\",class:{ 'hover:bg-white': _vm.delLoading, disabled: invoice.cleared }},[_c('div',{staticClass:\"col-span-3 md:col-span-4 flex items-center truncate overflow-hidden\"},[_c('i',{staticClass:\"far fa-credit-card fa-lg fa-fw mr-6\"}),_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"font-bold truncate overflow-hidden pb-2\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(invoice.invoiceDate))+\" - \"+_vm._s(invoice.customerName)+\" \")]),_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(invoice.invoiceNo))]),_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(invoice.title))])])]),_c('div',{staticClass:\"col-span-1 flex items-center justify-end\"},[_c('div',{staticClass:\"w-full flex flex-col whitespace-nowrap text-right font-bold\"},[_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm.$t('Netto')))]),_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm.$t('Ust'))+\" \"+_vm._s(invoice.vatRate)+\" %\")])])]),_c('div',{staticClass:\"col-span-1 flex items-center justify-end\"},[_c('div',{staticClass:\"w-full flex flex-col whitespace-nowrap text-right\"},[_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(invoice.netAmount))+\" \"+_vm._s(_vm.currency))]),_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(invoice.vatAmount))+\" \"+_vm._s(_vm.currency))])])]),_c('div',{staticClass:\"col-span-1 flex items-center justify-end\"},[_c('div',{staticClass:\"w-full flex flex-col whitespace-nowrap text-right font-bold\"},[_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm.$t('Brutto')))])])]),_c('div',{staticClass:\"col-span-1 flex items-center justify-end\"},[_c('div',{staticClass:\"w-full flex flex-col whitespace-nowrap text-right\"},[_c('div',{staticClass:\"mr-0 ml-2\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(invoice.grossAmount))+\" \"+_vm._s(_vm.currency))])])]),_c('div',{staticClass:\"col-span-1 flex items-center justify-end\"},[(_vm.getStatusString(invoice))?_c('st-badge',{attrs:{\"bg-class\":\"text-white bg-green-700\"}},[_vm._v(_vm._s(_vm.getStatusString(invoice)))]):_vm._e()],1),_c('div',{staticClass:\"col-span-4 md:col-span-3 flex items-center justify-end\"},[_c('st-button-round',{attrs:{\"loading\":_vm.printLoadingId === invoice.id,\"tooltip-text\":_vm.$t('Rechnung drucken')},on:{\"click\":function($event){return _vm.printPdf(invoice)}}},[_c('i',{staticClass:\"far fa-file-pdf\"})]),(invoice.timeEntryIds && invoice.timeEntryIds.length)?_c('st-button-round',{attrs:{\"loading\":_vm.printActivityLoadingId === invoice.id,\"tooltip-text\":_vm.$t('Leistungsnachweis drucken')},on:{\"click\":function($event){return _vm.printActivityReport(invoice)}}},[_c('i',{staticClass:\"far fa-file-signature\"})]):_vm._e(),_c('st-button-round',{attrs:{\"tooltip-text\":_vm.$t('Vorschau')},on:{\"click\":function($event){return _vm.togglePreview(invoice.id)}}},[(!_vm.showPreview(invoice.id))?_c('i',{staticClass:\"far fa-eye\"}):_c('i',{staticClass:\"far fa-eye-slash\"})]),_c('st-button-round',{attrs:{\"disabled\":invoice.cleared,\"tooltip-text\":!invoice.cleared ? _vm.$t('Bearbeiten') : _vm.$t('Rechnung ist abgerechnet')},on:{\"click\":function($event){return _vm.editInvoice(invoice.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.deleteInvoice(invoice.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)]),(_vm.showPreview(invoice.id))?_c('div',{staticClass:\"cursor-auto\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('outgoing-invoice-export',{attrs:{\"outside-id\":invoice.id}})],1):_vm._e()])}),0)],1)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'p-16 border border-gray-500': !!_vm.editModel || !!_vm.outsideId }},[(_vm.layoutDefault)?_c('outgoing-invoice-export-classic',{attrs:{\"model\":_vm.model,\"final-description\":_vm.finalDescription,\"logo-url\":_vm.logoUrl}}):_vm._e(),(_vm.layout === 'Modern')?_c('outgoing-invoice-export-modern',{attrs:{\"model\":_vm.model,\"final-description\":_vm.finalDescription,\"logo-url\":_vm.logoUrl}}):_vm._e(),(_vm.layout === 'Other')?_c('outgoing-invoice-export-other',{attrs:{\"model\":_vm.model,\"final-description\":_vm.finalDescription,\"logo-url\":_vm.logoUrl}}):_vm._e(),(_vm.layout === 'Other2')?_c('outgoing-invoice-export-other2',{attrs:{\"model\":_vm.model,\"final-description\":_vm.finalDescription,\"logo-url\":_vm.logoUrl}}):_vm._e(),(_vm.layout === 'Custom' && _vm.settingsModel.customLayoutComponentName)?_c(_vm.settingsModel.customLayoutComponentName,{tag:\"component\",attrs:{\"model\":_vm.model,\"final-description\":_vm.finalDescription,\"logo-url\":_vm.logoUrl}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-base relative flex flex-col justify-between\",staticStyle:{\"min-height\":\"27.7cm\"}},[_c('div',[_c('div',{staticClass:\"grid \",class:{'grid-cols-6': _vm.logoUrl, 'grid-cols-4':!_vm.logoUrl}},[_c('div',{staticClass:\"col-span-2\"},[(_vm.logoUrl)?_c('img',{staticClass:\"h-20 mb-6\",attrs:{\"src\":_vm.logoUrl,\"alt\":\"\"}}):_c('span',{staticClass:\"text-xl font-bold\"},[_vm._v(_vm._s(_vm.$t('Rechnung')))])]),(_vm.logoUrl)?_c('div',{staticClass:\"col-span-2 text-center flex items-start justify-center\"},[_c('span',{staticClass:\"text-xl font-bold\"},[_vm._v(_vm._s(_vm.$t('Rechnung')))])]):_vm._e(),_c('div',{staticClass:\"col-span-2 flex justify-end\"},[_c('div',{staticClass:\"whitespace-pre-line col-span-1 text-sm\",staticStyle:{\"min-height\":\"150px\"}},[_c('span',[_vm._v(_vm._s(_vm.model.addressFromCalculated))]),(_vm.model.fromTaxNumberDe && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Steuernummer: '))+_vm._s(_vm.model.fromTaxNumberDe)+\" \")]):_vm._e(),(_vm.model.fromVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.fromVatId)+\" \")]):_vm._e(),(_vm.model.fromContactEmail && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.fromContactEmail)+\" \")]):_vm._e()])])]),_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"whitespace-pre-line col-span-4 mt-20\"},[_c('span',[_vm._v(_vm._s(_vm.model.addressToCalculated))]),(_vm.model.toVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.toVatId)+\" \")]):_vm._e(),(_vm.model.toContactEmail && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.toContactEmail)+\" \")]):_vm._e()])]),_c('div',{staticClass:\"grid grid-cols-7\"},[_c('div',{staticClass:\"col-span-6 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsdatum'))+\":\")]),_c('div',{staticClass:\"col-span-1 pl-4 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.invoiceDate)))]),_c('div',{staticClass:\"col-span-6 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsnummer'))+\":\")]),_c('div',{staticClass:\"col-span-1 pl-4 text-right\"},[_vm._v(\" \"+_vm._s(_vm.model.invoiceNo))])]),_c('div',{staticClass:\"text-lg font-bold mt-8\"},[_vm._v(_vm._s(_vm.model.title))]),_c('div',{staticClass:\"grid grid-cols-1 mt-16\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.finalDescription}})],1)]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 mt-20\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(_vm.$t('Position')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Anzahl')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Einzelpreis')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Gesamtpreis')))])]),_vm._l((_vm.model.positions),function(pos){return _c('div',{key:pos.id,staticClass:\"grid grid-cols-6 leading-8\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(pos.position))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(pos.quantity))+\" \"+_vm._s(pos.unit))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.rateAmount)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.revenue)))])])}),_c('hr',{staticClass:\"my-2\"}),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[(_vm.model.vatRate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag (netto)'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag'))+\" \")])]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.netAmount)))])]),(_vm.model.vatRate)?[_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatzsteuer'))+\" (\"+_vm._s(_vm.model.vatRate)+\" %)\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.vatAmount)))])]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsbetrag (brutto)')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.grossAmount)))])])]:_vm._e(),_c('div',{staticClass:\"grid grid-cols-1 mt-16\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.paymentTerms}},[_vm._v(\" \"+_vm._s(_vm.model.paymentTerms))])],1)])],2),_c('div',{staticClass:\"grid grid-cols-4 mt-16 text-sm\"},[_c('div',{staticClass:\"col-span-4 text-sm p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.footer}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { OutgoingInvoiceViewModel} from '@/services/api/nswag/stapiclient_generated';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class OutgoingInvoiceExportClassic extends Vue {\r\n @Prop() model!: OutgoingInvoiceViewModel;\r\n @Prop() logoUrl!: string;\r\n @Prop() finalDescription!: string;\r\n\r\n get currency(){\r\n return UserStore.userSettings.currency;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportClassic.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportClassic.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceExportClassic.vue?vue&type=template&id=02632aec&\"\nimport script from \"./OutgoingInvoiceExportClassic.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceExportClassic.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-base relative flex flex-col justify-between\",staticStyle:{\"min-height\":\"27.7cm\"}},[_c('div',[_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"col-span-1 pl-12 pt-12 rounded-lg\"},[(_vm.logoUrl)?_c('img',{staticClass:\"mb-6\",staticStyle:{\"max-height\":\"7rem\"},attrs:{\"src\":_vm.logoUrl,\"alt\":\"\"}}):_vm._e()]),_c('div'),_c('div',{staticClass:\"col-span-2 flex justify-end pr-12\"},[_c('div',{staticClass:\"whitespace-pre-line col-span-1 text-base\",staticStyle:{\"min-height\":\"150px\"}},[_c('span',[_vm._v(_vm._s(_vm.model.addressFromCalculated))]),(_vm.model.fromTaxNumberDe && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Steuernummer: '))+_vm._s(_vm.model.fromTaxNumberDe)+\" \")]):_vm._e(),(_vm.model.fromVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.fromVatId)+\" \")]):_vm._e(),(_vm.model.fromContactEmail && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.fromContactEmail)+\" \")]):_vm._e()])])]),_c('div',{staticClass:\"grid grid-cols-12 px-12 mt-20\"},[_c('div',{staticClass:\"whitespace-pre-line col-span-6\"},[_c('span',[_vm._v(_vm._s(_vm.model.addressToCalculated))]),(_vm.model.toVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.toVatId)+\" \")]):_vm._e(),(_vm.model.toContactEmail && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.toContactEmail)+\" \")]):_vm._e()]),_c('div',{staticClass:\"col-span-6 justify-self-end border w-full\"},[_c('div',{staticClass:\"text-xl p-8 bg-primary-normal font-bold uppercase text-onbgprimary-normal\"},[_vm._v(_vm._s(_vm.$t('Rechnung'))+\" \")]),_c('div',{staticClass:\"table w-full uppercase\"},[_vm._m(0),_c('tr',[_c('td',{staticClass:\"p-8\"},[_c('div',{staticClass:\"font-bold text-primary\"},[_vm._v(_vm._s(_vm.$t('Rechnung Nr')))]),_c('div',[_vm._v(\" \"+_vm._s(_vm.model.invoiceNo)+\" \")])]),_c('td',{staticClass:\"p-8\"},[_c('div',{staticClass:\"font-bold text-primary\"},[_vm._v(_vm._s(_vm.$t('Datum')))]),_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.invoiceDate))+\" \")])])])])])]),_c('div',{staticClass:\"text-xl font-bold mt-8 px-12\"},[_vm._v(_vm._s(_vm.model.title))]),_c('div',{staticClass:\"grid grid-cols-1 mt-16 px-12\"},[_c('div',{staticClass:\"col-span-1 text-lg p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.finalDescription}})],1)]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 mt-20 mx-12 py-8 px-12 bg-primary-normal text-onbgprimary-normal\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(_vm.$t('Position')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Anzahl')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Einzelpreis')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Gesamtpreis')))])]),_vm._l((_vm.model.positions),function(pos){return _c('div',{key:pos.id,staticClass:\"grid grid-cols-6 leading-8 py-8 mx-12 px-12\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(pos.position))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(pos.quantity))+\" \"+_vm._s(pos.unit))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.rateAmount)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.revenue)))])])}),_c('div',{staticClass:\"py-4 bg-primary-normal mx-12 text-onbgprimary-normal\"},[_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 px-12\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[(_vm.model.vatRate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag (netto)'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag'))+\" \")])]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.netAmount)))])]),(_vm.model.vatRate)?[_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 px-12\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatzsteuer'))+\" (\"+_vm._s(_vm.model.vatRate)+\" %)\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.vatAmount)))])]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 px-12\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsbetrag (brutto)')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.grossAmount)))])])]:_vm._e()],2),_c('div',{staticClass:\"grid grid-cols-1 mt-16 text-lg px-12\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.paymentTerms}})],1)])],2),_c('div',{staticClass:\"grid grid-cols-4 mt-16 text-sm px-12\"},[_c('div',{staticClass:\"col-span-4 text-sm p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.footer}})],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('colgroup',[_c('col',{staticStyle:{\"width\":\"50%\"}}),_c('col',{staticStyle:{\"width\":\"50%\"}})])}]\n\nexport { render, staticRenderFns }","\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\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { OutgoingInvoiceViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { UserStore } from '@/store/user-module';\n\n@Component({\n components: {},\n})\nexport default class OutgoingInvoiceExportModern extends Vue {\n @Prop() model!: OutgoingInvoiceViewModel;\n @Prop() logoUrl!: string;\n @Prop() finalDescription!: string;\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportModern.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportModern.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceExportModern.vue?vue&type=template&id=17f661d6&\"\nimport script from \"./OutgoingInvoiceExportModern.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceExportModern.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-8 px-16 text-base relative flex flex-col justify-between\",staticStyle:{\"min-height\":\"27.7cm\",\"font-size\":\"10.5pt !important\",\"font-family\":\"Calibri\"}},[_c('div',[_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"col-span-3 pb-4\"}),_c('div',{staticClass:\"col-span-1 pb-4\"},[(_vm.logoUrl)?_c('img',{staticClass:\"w-full\",attrs:{\"src\":_vm.logoUrl,\"alt\":\"\"}}):_vm._e()]),_c('div',{staticClass:\"col-span-3\"},[_c('div',{staticStyle:{\"font-size\":\"8pt\"}},[_c('span',[_vm._v(_vm._s(_vm.model.addressFromCalculated))]),(_vm.model.fromTaxNumberDe && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Steuernummer: '))+_vm._s(_vm.model.fromTaxNumberDe)+\" \")]):_vm._e(),(_vm.model.fromVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.fromVatId)+\" \")]):_vm._e(),(_vm.model.fromContactEmail && _vm.model.toContactEmail)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.toContactEmail)+\" \")]):_vm._e()]),_c('div',{staticClass:\"whitespace-pre-line mt-4\"},[_c('span',[_vm._v(_vm._s(_vm.model.addressToCalculated))]),(_vm.model.toVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.toVatId)+\" \")]):_vm._e(),(_vm.model.toContactEmail && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.toContactEmail)+\" \")]):_vm._e()])]),_c('div',{staticClass:\"col-span-1 p-with-margin\",staticStyle:{\"font-size\":\"8pt\"}},[_c('vue-markdown',{attrs:{\"source\":_vm.model.footer}})],1)]),_c('div',{staticClass:\"mt-20\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Rechnung Nr.'))+\" \"+_vm._s(_vm.model.invoiceNo))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Datum'))+\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.invoiceDate)))]),(_vm.model.title)?_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.model.title))]):_vm._e()]),_c('div',{staticClass:\"grid grid-cols-1 mt-10 mb-10\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.finalDescription}})],1)]),_vm._l((_vm.model.positions),function(pos,index){return _c('div',{key:pos.id,staticClass:\"grid grid-cols-6 leading-8 py-4\"},[_c('div',{staticClass:\"col-span-1\"},[_vm._v(\"Pos. \"+_vm._s(index + 1))]),_c('div',{staticClass:\"col-span-2\"},[_vm._v(_vm._s(pos.position))]),_c('div',{staticClass:\"col-span-2\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(pos.quantity))+\" \"+_vm._s(pos.unit)+\" x \"+_vm._s(_vm._f(\"amountCurrency\")(pos.rateAmount)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.revenue)))])])}),_c('div',{staticClass:\"py-4\"},[_c('div',{staticClass:\"grid grid-cols-6 leading-8\"},[_c('div',{staticClass:\"col-span-1 col-start-5 text-right\"},[(_vm.model.vatRate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Netto Summe'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag'))+\" \")])]),_c('div',{staticClass:\"col-span-1 text-right border-t border-black\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.netAmount)))])]),(_vm.model.vatRate)?[_c('div',{staticClass:\"grid grid-cols-6 leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('gesetzliche Mehrwertsteuer:'))+\" \"+_vm._s(_vm.model.vatRate)+\" %\")]),_c('div',{staticClass:\"col-span-1 text-right border-b-2 border-black\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.vatAmount)))])]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Bruttorechnungsbetrag')))]),_c('div',{staticClass:\"col-span-1 text-right border-b-4 border-black border-double\",staticStyle:{\"border-style\":\"double !important\"}},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.grossAmount)))])])]:_vm._e()],2),_c('div',{staticClass:\"grid grid-cols-1 mt-8\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.paymentTerms}})],1)])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { OutgoingInvoiceViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { UserStore } from '@/store/user-module';\n\n@Component({\n components: {},\n})\nexport default class OutgoingInvoiceExportOther extends Vue {\n @Prop() model!: OutgoingInvoiceViewModel;\n @Prop() logoUrl!: string;\n @Prop() finalDescription!: string;\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportOther.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportOther.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceExportOther.vue?vue&type=template&id=7b36a2c2&\"\nimport script from \"./OutgoingInvoiceExportOther.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceExportOther.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-8 px-16 text-base relative flex flex-col justify-between\",staticStyle:{\"min-height\":\"27.7cm\",\"font-size\":\"10.5pt !important\"}},[_c('div',[_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"col-span-3 pb-4\"}),_c('div',{staticClass:\"col-span-1 pb-4\"},[(_vm.logoUrl)?_c('img',{staticClass:\"w-full\",attrs:{\"src\":_vm.logoUrl,\"alt\":\"\"}}):_vm._e()]),_c('div',{staticClass:\"col-span-4\"},[_c('div',{staticStyle:{\"font-size\":\"8pt\"}},[_c('span',[_vm._v(_vm._s(_vm.model.addressFromCalculated))]),(_vm.model.fromTaxNumberDe && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Steuernummer: '))+_vm._s(_vm.model.fromTaxNumberDe)+\" \")]):_vm._e(),(_vm.model.fromVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.fromVatId)+\" \")]):_vm._e(),(_vm.model.fromContactEmail && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.fromContactEmail)+\" \")]):_vm._e()]),_c('div',{staticClass:\"whitespace-pre-line mt-4\"},[_c('span',[_vm._v(_vm._s(_vm.model.addressToCalculated))]),(_vm.model.toVatId && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.model.toVatId)+\" \")]):_vm._e(),(_vm.model.toContactEmail && _vm.model.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.model.toContactEmail)+\" \")]):_vm._e()])])]),_c('div',{staticClass:\"mt-20\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Rechnung Nr.'))+\" \"+_vm._s(_vm.model.invoiceNo))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Datum'))+\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.invoiceDate)))]),(_vm.model.title)?_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.model.title))]):_vm._e()]),_c('div',{staticClass:\"grid grid-cols-1 mt-10 mb-10\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.finalDescription}})],1)]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 mt-20\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(_vm.$t('Position')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Anzahl')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Einzelpreis')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Gesamtpreis')))])]),_vm._l((_vm.model.positions),function(pos){return _c('div',{key:pos.id,staticClass:\"grid grid-cols-6 leading-8\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(pos.position))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(pos.quantity))+\" \"+_vm._s(pos.unit))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.rateAmount)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.revenue)))])])}),_c('hr',{staticClass:\"my-2\"}),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[(_vm.model.vatRate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag (netto)'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag'))+\" \")])]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.netAmount)))])]),(_vm.model.vatRate)?[_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Mehrwertsteuer'))+\" (\"+_vm._s(_vm.model.vatRate)+\" %)\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.vatAmount)))])]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsbetrag (brutto)')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.grossAmount)))])])]:_vm._e(),_c('div',{staticClass:\"grid grid-cols-1 mt-8\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.paymentTerms}})],1)])],2),_c('div',{staticClass:\"grid grid-cols-1 mt-8\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\",staticStyle:{\"font-size\":\"8pt\"}},[_c('vue-markdown',{attrs:{\"source\":_vm.model.footer}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { OutgoingInvoiceViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { UserStore } from '@/store/user-module';\n\n@Component({\n components: {},\n})\nexport default class OutgoingInvoiceExportOther2 extends Vue {\n @Prop() model!: OutgoingInvoiceViewModel;\n @Prop() logoUrl!: string;\n @Prop() finalDescription!: string;\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportOther2.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportOther2.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceExportOther2.vue?vue&type=template&id=a7a00044&\"\nimport script from \"./OutgoingInvoiceExportOther2.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceExportOther2.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport OutgoingInvoiceExportClassic from '@/views/OutgoingInvoice/OutgoingInvoiceExportClassic.vue';\nimport {\n OutgoingInvoiceEditModel,\n OutgoingInvoiceSettingsViewModel,\n OutgoingInvoiceViewModel\n} from \"@/services/api/nswag/stapiclient_generated\";\nimport { outgoingInvoiceApi } from '@/services/st-api';\nimport OutgoingInvoiceExportModern from '@/views/OutgoingInvoice/OutgoingInvoiceExportModern.vue';\nimport OutgoingInvoiceExportOther from '@/views/OutgoingInvoice/OutgoingInvoiceExportOther.vue';\nimport OutgoingInvoiceExportOther2 from '@/views/OutgoingInvoice/OutgoingInvoiceExportOther2.vue';\n\n@Component({\n components: {\n OutgoingInvoiceExportClassic,\n OutgoingInvoiceExportModern,\n OutgoingInvoiceExportOther,\n OutgoingInvoiceExportOther2,\n },\n})\nexport default class OutgoingInvoiceExport extends Vue {\n @Prop() outsideId?: number;\n @Prop() editModel?: OutgoingInvoiceEditModel;\n\n settingsModel: OutgoingInvoiceSettingsViewModel = OutgoingInvoiceSettingsViewModel.fromJS({});\n\n id: number = 0;\n model: OutgoingInvoiceViewModel = OutgoingInvoiceViewModel.fromJS({});\n logoUrl: string = '';\n\n get layoutDefault() {\n return !this.layout || this.layout == 'Classic';\n }\n\n get layout() {\n return this.editModel?.layoutName?.toString() ?? this.model.layoutName?.toString();\n }\n\n created() {\n if (this.$route.params.id) {\n this.id = parseInt(this.$route.params.id);\n }\n\n if (this.outsideId) {\n this.id = this.outsideId;\n }\n }\n\n get finalDescription() {\n let res = this.model?.description;\n\n if (!res) {\n return '';\n }\n\n return res\n .replace('{DatumVon}', this.model?.dateFromPlaceholder ?? '')\n .replace('{DatumBis}', this.model?.dateToPlaceholder ?? '')\n .replace('{Ansprechpartner}', this.model?.contactNamePlaceholder ?? '');\n }\n\n @Watch('model.id')\n async idChanged() {\n let file = await outgoingInvoiceApi.getLogo(this.model.id ?? 0);\n\n if (!!file?.data?.size) {\n this.logoUrl = URL.createObjectURL(file.data);\n }\n }\n\n async mounted() {\n this.settingsModel = await outgoingInvoiceApi.getSettingsViewModel();\n\n if (!!this.editModel) {\n this.model = await outgoingInvoiceApi.getViewModelFromEditModel(this.editModel);\n } else if (this.id) {\n this.model = await outgoingInvoiceApi.getViewModel(this.id);\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceExport.vue?vue&type=template&id=6813ba06&\"\nimport script from \"./OutgoingInvoiceExport.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceExport.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport StSearch from '@/components/basic/StSearch.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport { ListParameters, OutgoingInvoiceFilter, OutgoingInvoiceViewModel, TimeEntryFilter, TimeEntryListSettingsModel } from '@/services/api/nswag/stapiclient_generated';\nimport { outgoingInvoiceApi, stListApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport { DateTime } from 'luxon';\nimport { padZero } from '@/utlitities/helper';\nimport OutgoingInvoiceExport from '@/views/OutgoingInvoice/OutgoingInvoiceExport.vue';\n//@ts-ignore\nimport * as FileSaver from 'file-saver';\nimport StBadge from '@/components/basic/StBadge.vue';\n\n@Component({\n components: {\n StSearch,\n StToggle,\n OutgoingInvoiceExport,\n StBadge,\n },\n})\nexport default class OutgoingInvoiceList extends Vue {\n search: string = '';\n delLoading: boolean = false;\n printLoadingId = -1;\n printActivityLoadingId = -1;\n showArchived: boolean = false;\n invoices: OutgoingInvoiceViewModel[] = [];\n filter: OutgoingInvoiceFilter = OutgoingInvoiceFilter.fromJS({});\n\n loading = false;\n delayLoading = false;\n\n previewIds: number[] = [];\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n\n get selectedDate() {\n let isoStr = this.filter.year + '-' + padZero(this.filter.month!) + '-01';\n return DateTime.fromISO(isoStr);\n }\n\n get filteredInvoices() {\n return this.invoices.filter((_) => {\n return _.title?.toLowerCase().indexOf(this.search.toLowerCase()) != -1 || _.invoiceNo?.toLowerCase().indexOf(this.search.toLowerCase()) != -1;\n });\n }\n\n getStatusString(model: OutgoingInvoiceViewModel) {\n return this.$t(model.currentStatus?.statusTranslationString ?? '');\n }\n\n created() {\n this.filter = OutgoingInvoiceFilter.fromJS({\n year: parseInt(this.$route.params?.year ?? UserStore.userNowDateTime.year.toString()),\n month: parseInt(this.$route.params?.month ?? UserStore.userNowDateTime.month.toString()),\n });\n }\n\n async mounted() {\n try {\n this.loading = true;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n showPreview(id: number) {\n return this.previewIds.some((x) => x == id);\n }\n\n togglePreview(id: number) {\n if (this.showPreview(id)) {\n this.previewIds.splice(\n this.previewIds.findIndex((x) => x == id),\n 1\n );\n } else {\n this.previewIds.push(id);\n }\n }\n\n async printPdf(invoice: OutgoingInvoiceViewModel) {\n try {\n this.printLoadingId = invoice.id!;\n let result = await outgoingInvoiceApi.getPdf(invoice.id ?? 0);\n FileSaver.saveAs(result.data, this.$t('Rechnung').toString() + '_' + invoice.invoiceNo + '.pdf');\n } finally {\n this.printLoadingId = -1;\n }\n }\n\n async printActivityReport(invoice: OutgoingInvoiceViewModel) {\n try {\n this.printActivityLoadingId = invoice.id!;\n\n let result = await outgoingInvoiceApi.getActivityReport(invoice.id!);\n FileSaver.saveAs(result.data, this.$t('Leistungsnachweis').toString() + '_' + invoice.invoiceNo + '.pdf');\n } finally {\n this.printActivityLoadingId = -1;\n }\n }\n\n async loadData() {\n this.invoices = await outgoingInvoiceApi.getList(this.filter);\n }\n\n async goToToday() {\n try {\n this.loading = true;\n this.filter.year = UserStore.userNowDateTime.year;\n this.filter.month = UserStore.userNowDateTime.month;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async switchDate(newDate: string) {\n try {\n this.loading = true;\n let newDateTime = DateTime.fromISO(newDate);\n this.filter.year = newDateTime.year;\n this.filter.month = newDateTime.month;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async switchMonth(delta: number) {\n try {\n this.loading = true;\n let newDate = this.selectedDate.plus({ months: delta });\n\n if (this.filter.year) {\n this.filter.year = newDate.year;\n this.filter.month = newDate.month;\n await this.loadData();\n }\n } finally {\n this.loading = false;\n }\n }\n\n async deleteInvoice(id: number) {\n try {\n this.delLoading = true;\n await outgoingInvoiceApi.delete(id);\n await this.loadData();\n } finally {\n this.delLoading = false;\n }\n }\n\n editInvoice(id: number) {\n if (this.delLoading) {\n return;\n }\n this.$router.push({\n name: 'OutgoingInvoiceEdit',\n params: { id: id.toString(), year: this.filter.year!.toString(), month: this.filter.month!.toString() },\n });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceList.vue?vue&type=template&id=1dd94219&\"\nimport script from \"./OutgoingInvoiceList.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Rechnungen')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Ausgangsrechnung bearbeiten')))])]),_c('st-button',{staticClass:\"white mt-8 sm:mt-0\",attrs:{\"icon\":\"fa fa-arrow-left\"},on:{\"click\":_vm.back}},[_vm._v(_vm._s(_vm.$t('Zurück zur Liste')))])],1),_c('div',[_c('div',{staticClass:\"st-list-container\"},[_c('st-tabs',{attrs:{\"tabs\":_vm.tabs,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [(_vm.isSent)?_c('st-badge',{attrs:{\"bg-class\":\"text-white bg-green-700 ml-8\"}},[_vm._v(_vm._s(_vm.statusString)+\" am \"+_vm._s(_vm._f(\"formatDate\")(_vm.statusDate)))]):_vm._e()]},proxy:true},{key:\"customerHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Kunde'))+\" \")])]},proxy:true},{key:\"timeentriesHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-clock mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Zeiteinträge'))+\" \")])]},proxy:true},{key:\"invoiceHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-credit-card mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnung'))+\" \")])]},proxy:true},{key:\"emailHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-inbox-out mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Versand'))+\" \")])]},proxy:true},{key:\"customer\",fn:function(){return [_c('outgoing-invoice-customer',{attrs:{\"value\":_vm.customerId,\"is-saved-invoice\":_vm.isSavedInvoice},on:{\"input\":_vm.customerChanged,\"goToTab\":function($event){return _vm.goToTab($event)}}})]},proxy:true},{key:\"timeentries\",fn:function(){return [(_vm.initialized)?_c('outgoing-invoice-time-entries',{attrs:{\"customer-id\":_vm.customerId,\"filter-json\":_vm.editModel.filterJson,\"invoice-id\":_vm.editModel.id},on:{\"filterChanged\":_vm.timeEntryFilterChanged,\"placeholdersChanged\":_vm.placeholdersChanged,\"goToTab\":function($event){return _vm.goToTab($event)}},model:{value:(_vm.selectedTimeEntryIds),callback:function ($$v) {_vm.selectedTimeEntryIds=$$v},expression:\"selectedTimeEntryIds\"}}):_vm._e()]},proxy:true},{key:\"invoice\",fn:function(){return [(_vm.initialized)?_c('outgoing-invoice-document',{on:{\"goToTab\":function($event){return _vm.goToTab($event)}},model:{value:(_vm.editModel),callback:function ($$v) {_vm.editModel=$$v},expression:\"editModel\"}}):_vm._e()]},proxy:true},{key:\"email\",fn:function(){return [_c('outgoing-invoice-email',{on:{\"reloadStatus\":_vm.reloadStatus},model:{value:(_vm.editModel),callback:function ($$v) {_vm.editModel=$$v},expression:\"editModel\"}})]},proxy:true}]),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"relative outgoing-invoice-time-entries\"},[(_vm.showChangeWarning)?_c('div',{staticClass:\"absolute w-full h-full min-h-80 bg-opacity-90 p-8 bg-white z-30 flex justify-center items-start\"},[_c('div',{staticClass:\"w-80 text-center font-bold mt-10\"},[_vm._v(\" \"+_vm._s(_vm.$t('Hinzufügen oder Entfernen von Zeiteinträgen ändert den Text der Rechnungsposition auf den Standardwert.'))+\" \"),_c('br'),_c('br'),_c('st-button',{staticClass:\"green\",on:{\"click\":function($event){_vm.overwriteChangedInvoice = true}}},[_vm._v(_vm._s(_vm.$t('Bearbeiten')))])],1)]):_vm._e(),_c('div',{class:{ 'min-h-80': _vm.showChangeWarning }},[_c('div',[_c('div',{staticClass:\"form-heading mb-8 flex items-center justify-between\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Zeiteinträge'))+\" \")]),_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":!_vm.customerId},on:{\"click\":function($event){return _vm.$emit('goToTab', 'invoice')}}},[_c('i',{staticClass:\"far fa-angle-double-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('Weiter')))])],1),_c('div',{staticClass:\"st-list-subheader flex flex-col\"},[_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.filterLoading}}),(_vm.customerId)?_c('time-entry-filter-component',{ref:\"timeentryfilter\",attrs:{\"single-customer\":true},on:{\"startLoading\":function($event){_vm.filterLoading = true},\"endLoading\":function($event){_vm.filterLoading = false},\"applyFilter\":_vm.applyFilter},model:{value:(_vm.timeEntryFilter),callback:function ($$v) {_vm.timeEntryFilter=$$v},expression:\"timeEntryFilter\"}}):_vm._e()],1)]),_c('div',{staticClass:\"relative overflow-x-auto\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading,\"absolute\":true}}),(!_vm.timeEntries || !_vm.timeEntries.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-clock\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Zeiteinträge')))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Für diese Auswahl sind keine Zeiteinträge vorhanden.')))])]):_c('table',{staticClass:\"st-table\",staticStyle:{\"min-width\":\"1024px\"}},[_c('thead',[_c('tr',[_c('th'),_c('th',[_vm._v(_vm._s(_vm.$t('Datum')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Mitarbeiter')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Projekt')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Leistung')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Stundensatz')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Beschreibung')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Dauer')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Umsatz')))]),_c('th',{staticClass:\"text-right\"},[(_vm.anyEntrySelected)?_c('st-button',{staticClass:\"red small\",on:{\"click\":_vm.toggleAllEntries}},[_vm._v(\" \"+_vm._s(_vm.$t('Alle entfernen'))+\" \")]):_c('st-button',{staticClass:\"green small\",on:{\"click\":_vm.toggleAllEntries}},[_vm._v(_vm._s(_vm.$t('Alle hinzufügen')))])],1)])]),_c('tbody',_vm._l((_vm.timeEntries),function(entry){return _c('tr',{key:entry.id,class:{ 'cursor-pointer': !entry.isDisabled, 'bg-gray-300 hover:bg-gray-300': entry.isDisabled, 'bg-green-100': _vm.entrySelected(entry) },on:{\"click\":function($event){return _vm.toggleEntry(entry)}}},[_c('td',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t(entry.disabledReason)),expression:\"$t(entry.disabledReason)\"}]},[(entry.isDisabled)?_c('i',{staticClass:\"far fa-lock ml-4\"}):_vm._e()]),_c('td',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(entry.entryDate)))]),_c('td',[_vm._v(_vm._s(entry.appUserName))]),_c('td',[_vm._v(_vm._s(entry.projectName))]),_c('td',[_vm._v(_vm._s(entry.projectTaskName))]),_c('td',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(entry.rateAmount))+\" \"+_vm._s(_vm.currency))]),_c('td',[_vm._v(_vm._s(entry.description))]),_c('td',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(entry.durationMinutes))+\" h\")]),(entry.isBillable)?_c('td',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(entry.revenueBillable))+\" \"+_vm._s(_vm.currency))]):_c('td',{staticClass:\"whitespace-nowrap line-through\"},[_c('div',{staticClass:\"flex items-center\",staticStyle:{\"min-width\":\"80px\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(entry.revenue))+\" \"+_vm._s(_vm.currency)+\" \"),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Dieser Zeiteintrag ist nicht verrechenbar und wird nur im Leistungsnachweis angezeigt.'))+\" \")])],1)]),_c('td',{staticClass:\"whitespace-nowrap\"},[(_vm.timeEntries.length && !entry.isDisabled)?_c('st-toggle',{attrs:{\"type\":\"right\",\"value\":_vm.entrySelected(entry)}},[_vm._v(_vm._s(_vm.$t('Position hinzufügen')))]):_vm._e()],1)])}),0)])],1)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\n import { outgoingInvoiceApi } from '@/services/st-api';\r\n import { OutgoingInvoiceTimeEntryModel, StSelectListItem, TimeEntryFilter, TimeEntryFilterTimeFrame } from '@/services/api/nswag/stapiclient_generated';\r\n import TimeEntryFilterComponent from '@/components/timeentry-filter/TimeEntryFilterComponent.vue';\r\n import { UserStore } from '@/store/user-module';\r\n import {\r\n IOutgoingInvoicePlaceholders\r\n } from \"@/views/OutgoingInvoice/outgoing-invoice-helper\";\r\n import { DateTime } from \"luxon\";\r\nimport { DtFromIso, formatDate } from \"@/utlitities/helper\";\r\n\r\n @Component({\r\n components: {\r\n TimeEntryFilterComponent,\r\n },\r\n })\r\n export default class OutgoingInvoiceTimeEntries extends Vue {\r\n @Prop() customerId!: number;\r\n @Prop() filterJson!: string;\r\n customers: StSelectListItem[] = [];\r\n timeEntries: OutgoingInvoiceTimeEntryModel[] = [];\r\n @Prop() value!: number[];\r\n @Prop() invoiceId!: number;\r\n\r\n timeEntryFilter: TimeEntryFilter = TimeEntryFilter.fromJS({ customerIds: [], timeframe: TimeEntryFilterTimeFrame.LastMonth });\r\n\r\n overwriteChangedInvoice: boolean = false;\r\n customerWatch: any;\r\n\r\n loading = false;\r\n delayLoading = false;\r\n filterLoading = false;\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n if (this.filterJson) {\r\n this.timeEntryFilter = TimeEntryFilter.fromJS(JSON.parse(this.filterJson));\r\n this.$emit('filterChanged', this.timeEntryFilter);\r\n } else {\r\n await this.customerIdChanged();\r\n }\r\n\r\n this.customerWatch = this.$watch('customerId', async () => {\r\n await this.customerIdChanged();\r\n });\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n beforeDestroy() {\r\n this.customerWatch();\r\n }\r\n\r\n async customerIdChanged() {\r\n try {\r\n this.loading = true;\r\n this.timeEntryFilter.timeframe = TimeEntryFilterTimeFrame.LastMonth;\r\n this.timeEntryFilter.entryDateFrom = UserStore.userNowDateTime.minus({ months: 1 }).startOf('month').toISODate();\r\n this.timeEntryFilter.entryDateTo = UserStore.userNowDateTime.minus({ months: 1 }).endOf('month').toISODate();\r\n this.timeEntryFilter.customerIds = [this.customerId];\r\n this.$emit('filterChanged', this.timeEntryFilter);\r\n this.$emit('placeholdersChanged', this.placeholders);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n get showChangeWarning() {\r\n return !!this.invoiceId && !this.overwriteChangedInvoice;\r\n }\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n\r\n // entryIsDisabled() {}\r\n\r\n get placeholders(){\r\n return {\r\n DateFrom: formatDate(this.timeEntryFilter.entryDateFrom),\r\n DateTo: formatDate(this.timeEntryFilter.entryDateTo)\r\n } as IOutgoingInvoicePlaceholders;\r\n }\r\n\r\n async loadTimeEntries() {\r\n this.timeEntries = await outgoingInvoiceApi.getOutgoingInvoiceTimeEntries(this.invoiceId, this.timeEntryFilter);\r\n }\r\n\r\n private multiTimeout: any;\r\n async applyFilter() {\r\n\r\n if (this.filterLoading) {\r\n return;\r\n }\r\n\r\n if (this.multiTimeout) {\r\n clearTimeout(this.multiTimeout);\r\n }\r\n\r\n this.multiTimeout = setTimeout(async () => {\r\n try {\r\n this.loading = true;\r\n this.$emit('filterChanged', this.timeEntryFilter);\r\n await this.$nextTick();\r\n this.$emit('placeholdersChanged', this.placeholders);\r\n await this.loadTimeEntries();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }, 20);\r\n }\r\n\r\n get selectedTimeEntries(){\r\n return this.timeEntries.filter(x=>this.entrySelected(x));\r\n }\r\n\r\n get selectedTimeEntryIds() {\r\n return this.value;\r\n }\r\n\r\n set selectedTimeEntryIds(data: number[]) {\r\n this.$emit('input', data);\r\n }\r\n\r\n get anyEntrySelected() {\r\n return this.selectedTimeEntryIds?.length;\r\n }\r\n\r\n toggleAllEntries() {\r\n if (this.anyEntrySelected) {\r\n this.selectedTimeEntryIds = [];\r\n } else {\r\n this.selectedTimeEntryIds = this.timeEntries?.filter((x) => !x.isDisabled)?.map((x) => x?.id ?? 0);\r\n }\r\n }\r\n\r\n entrySelected(entry: OutgoingInvoiceTimeEntryModel) {\r\n return this.selectedTimeEntryIds.some((x) => x == entry.id);\r\n }\r\n\r\n toggleEntry(entry: OutgoingInvoiceTimeEntryModel) {\r\n if (entry.isDisabled) {\r\n return;\r\n }\r\n if (this.entrySelected(entry)) {\r\n this.selectedTimeEntryIds = this.selectedTimeEntryIds.filter((x) => x != entry.id);\r\n } else {\r\n this.selectedTimeEntryIds = [...this.selectedTimeEntryIds, entry.id ?? 0];\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceTimeEntries.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceTimeEntries.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceTimeEntries.vue?vue&type=template&id=14c0b2f6&\"\nimport script from \"./OutgoingInvoiceTimeEntries.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceTimeEntries.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OutgoingInvoiceTimeEntries.vue?vue&type=style&index=0&id=14c0b2f6&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"relative\"},[_c('div',[_c('div',{staticClass:\"form-heading mb-8\"},[_c('div',{staticClass:\"flex items-center justify-between\"},[_c('div',{staticClass:\"flex items-center\"},[(!_vm.preview)?_c('st-button',{staticClass:\"white\",attrs:{\"icon\":\"far fa-eye\"},on:{\"click\":function($event){_vm.preview = true}}},[_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(_vm.$t('Vorschau')))])]):_c('st-button',{staticClass:\"white\",on:{\"click\":function($event){_vm.preview = false}}},[_vm._v(_vm._s(_vm.$t('Bearbeiten')))]),_c('div',{staticClass:\"w-60 text-base font-normal flex items-center ml-8\"},[_c('st-select',{attrs:{\"idProp\":\"id\",\"labelProp\":\"label\",\"options\":_vm.layoutOptions},scopedSlots:_vm._u([{key:\"dropdownDown\",fn:function(){return [_c('hr',{staticClass:\"my-4\"}),_c('st-button',{staticClass:\"white w-full\",on:{\"click\":function($event){$event.stopPropagation();return _vm.confirmOwnLayout.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('Ihr eigenes Layout?')))])]},proxy:true}]),model:{value:(_vm.editModel.layoutName),callback:function ($$v) {_vm.$set(_vm.editModel, \"layoutName\", $$v)},expression:\"editModel.layoutName\"}})],1)],1),_c('div',[(_vm.editModel.timeEntryIds && _vm.editModel.timeEntryIds.length)?_c('st-button',{staticClass:\"white mr-8\",attrs:{\"icon\":\"far fa-list-ul\",\"loading\":_vm.pdfActivityLoading},on:{\"click\":_vm.printActivityReport}},[_c('span',{staticClass:\"hidden md:inline ml-2\"},[_vm._v(_vm._s(_vm.$t('Leistungsnachweis')))])]):_vm._e(),(_vm.editModel.isEInvoice)?_c('st-button',{staticClass:\"white mr-8\",attrs:{\"icon\":\"far fa-file\",\"loading\":_vm.xmlLoading},on:{\"click\":_vm.getEInvoiceXml}},[_c('span',{staticClass:\"hidden md:inline ml-2\"},[_vm._v(_vm._s(_vm.$t('XML E-Rechnung')))])]):_vm._e(),_c('st-button',{staticClass:\"white mr-8\",attrs:{\"icon\":\"far fa-credit-card\",\"loading\":_vm.pdfLoading},on:{\"click\":_vm.printInvoice}},[(_vm.editModel.isEInvoice)?_c('span',{staticClass:\"hidden md:inline ml-2\"},[_vm._v(_vm._s(_vm.$t('PDF E-Rechnung')))]):_vm._e(),(!_vm.editModel.isEInvoice)?_c('span',{staticClass:\"hidden md:inline ml-2\"},[_vm._v(_vm._s(_vm.$t('PDF Rechnung')))]):_vm._e()]),_c('st-button',{staticClass:\"green\",attrs:{\"icon\":\"far fa-save\",\"loading\":_vm.saveLoading},on:{\"click\":_vm.save}},[_c('span',{staticClass:\"hidden md:inline ml-2\"},[_vm._v(_vm._s(_vm.$t('Speichern')))])])],1)])]),_c('div',{staticClass:\"overflow-x-auto\"},[_c('div',{staticStyle:{\"min-width\":\"1024px\"}},[(_vm.preview)?_c('div',[_c('outgoing-invoice-export',{attrs:{\"edit-model\":_vm.editModel}})],1):_vm._e(),(!_vm.preview)?[_c('div',{staticClass:\"grid grid-cols-2 gap-4\",staticStyle:{\"min-height\":\"13rem\"}},[_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Empfänger')))]),(!_vm.editModel.isEInvoice)?_c('st-edit-div',{attrs:{\"edit-disabled\":_vm.editModel.isEInvoice,\"edit-tooltip\":_vm.$t('Für diese Rechnung überschreiben?'),\"placeholder\":_vm.$t('Kein Empfänger: Kann in den Kunden-Stammdaten eingestellt werden.'),\"editBtnFlexClass\":\"items-start\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('st-textarea',{attrs:{\"rows\":\"5\"},model:{value:(_vm.editModel.addressTo),callback:function ($$v) {_vm.$set(_vm.editModel, \"addressTo\", $$v)},expression:\"editModel.addressTo\"}})]},proxy:true}],null,false,2960017814),model:{value:(_vm.editModel.addressTo),callback:function ($$v) {_vm.$set(_vm.editModel, \"addressTo\", $$v)},expression:\"editModel.addressTo\"}}):_vm._e(),(_vm.editModel.isEInvoice)?_c('div',{staticClass:\"whitespace-pre-line\"},[_c('div',[_vm._v(_vm._s(_vm.editModel.addressToCalculated))]),(_vm.editModel.toVatId && _vm.editModel.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.editModel.toVatId)+\" \")]):_vm._e(),(_vm.editModel.toContactEmail && _vm.editModel.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.editModel.toContactEmail)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Absender')))]),(!_vm.editModel.isEInvoice)?_c('st-edit-div',{attrs:{\"edit-disabled\":_vm.editModel.isEInvoice,\"edit-tooltip\":_vm.$t('Für diese Rechnung überschreiben?'),\"placeholder\":_vm.$t('Kein Absender: Kann in den Account-Einstellungen, Reiter Rechnungen eingestellt werden.'),\"editBtnFlexClass\":\"items-start\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('st-textarea',{attrs:{\"rows\":\"5\"},model:{value:(_vm.editModel.addressFrom),callback:function ($$v) {_vm.$set(_vm.editModel, \"addressFrom\", $$v)},expression:\"editModel.addressFrom\"}})]},proxy:true}],null,false,2245131579),model:{value:(_vm.editModel.addressFrom),callback:function ($$v) {_vm.$set(_vm.editModel, \"addressFrom\", $$v)},expression:\"editModel.addressFrom\"}}):_vm._e(),(_vm.editModel.isEInvoice)?_c('div',{staticClass:\"whitespace-pre-line\"},[_c('span',[_vm._v(_vm._s(_vm.editModel.addressFromCalculated))]),(_vm.editModel.fromTaxNumberDe && _vm.editModel.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Steuernummer: '))+_vm._s(_vm.editModel.fromTaxNumberDe)+\" \")]):_vm._e(),(_vm.editModel.fromVatId && _vm.editModel.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('USt Id: '))+_vm._s(_vm.editModel.fromVatId)+\" \")]):_vm._e(),(_vm.editModel.fromContactEmail && _vm.editModel.isEInvoice)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail: '))+_vm._s(_vm.editModel.fromContactEmail)+\" \")]):_vm._e()]):_vm._e()],1)]),_c('div',{staticClass:\"grid grid-cols-2 gap-4 mb-8\"},[_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Rechnungsnummer')))]),(_vm.settings.useAutomaticInvoiceNo)?_c('st-edit-div',{attrs:{\"edit-tooltip\":_vm.$t('Für diese Rechnung überschreiben?'),\"textFlexClass\":\"items-center\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('div',{staticClass:\"w-60\"},[_c('st-input2',{model:{value:(_vm.editModel.invoiceNo),callback:function ($$v) {_vm.$set(_vm.editModel, \"invoiceNo\", $$v)},expression:\"editModel.invoiceNo\"}})],1)]},proxy:true}],null,false,4064959816),model:{value:(_vm.editModel.invoiceNo),callback:function ($$v) {_vm.$set(_vm.editModel, \"invoiceNo\", $$v)},expression:\"editModel.invoiceNo\"}}):_c('div',{staticClass:\"w-60\"},[_c('st-input2',{model:{value:(_vm.editModel.invoiceNo),callback:function ($$v) {_vm.$set(_vm.editModel, \"invoiceNo\", $$v)},expression:\"editModel.invoiceNo\"}})],1)],1),_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Rechnungsdatum')))]),_c('st-edit-div',{attrs:{\"edit-tooltip\":_vm.$t('Für diese Rechnung überschreiben?'),\"textFlexClass\":\"items-center\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('div',{staticClass:\"w-60\"},[_c('st-datepicker',{model:{value:(_vm.editModel.invoiceDate),callback:function ($$v) {_vm.$set(_vm.editModel, \"invoiceDate\", $$v)},expression:\"editModel.invoiceDate\"}})],1)]},proxy:true}],null,false,326540523),model:{value:(_vm.editModel.invoiceDate),callback:function ($$v) {_vm.$set(_vm.editModel, \"invoiceDate\", $$v)},expression:\"editModel.invoiceDate\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.editModel.invoiceDate)))])])],1)]),_c('div',{staticClass:\"grid grid-cols-2 gap-4 items-end mb-8 justify-between\"},[_c('div',[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Titel')))]),_c('st-input2',{attrs:{\"placeholder\":_vm.$t('Kann in den Kunden-Stammdaten vorbelegt werden.')},model:{value:(_vm.editModel.title),callback:function ($$v) {_vm.$set(_vm.editModel, \"title\", $$v)},expression:\"editModel.title\"}})],1),_c('div',{staticClass:\"flex justify-end mr-2\"},[_c('st-button',{staticClass:\"white\",on:{\"click\":_vm.editCustomer}},[_c('i',{staticClass:\"far fa-address-card\"}),_vm._v(\" \"+_vm._s(_vm.$t('Kunden-Stammdaten'))+\" \")])],1)]),_c('div',[_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Anrede')))]),_c('st-textarea',{attrs:{\"is-native\":true,\"placeholder\":_vm.$t('Kann in den Kunden-Stammdaten vorbelegt werden.'),\"rows\":\"5\"},model:{value:(_vm.editModel.description),callback:function ($$v) {_vm.$set(_vm.editModel, \"description\", $$v)},expression:\"editModel.description\"}}),(_vm.dateFromPlaceholder)?_c('span',[_c('strong',[_vm._v(\"{DatumVon} =\")]),_vm._v(\" \"+_vm._s(_vm.dateFromPlaceholder)+\" \")]):_vm._e(),(_vm.dateToPlaceholder)?_c('span',[_c('strong',[_vm._v(\"{DatumBis} =\")]),_vm._v(\" \"+_vm._s(_vm.dateToPlaceholder)+\" \")]):_vm._e(),(_vm.contactNamePlaceholder)?_c('span',[_c('strong',[_vm._v(\"{Ansprechpartner} =\")]),_vm._v(\" \"+_vm._s(_vm.contactNamePlaceholder)+\" \")]):_vm._e()],1)]),_c('hr',{staticClass:\"my-8\"}),(!!_vm.editModel.timeEntryIds.length)?_c('div',{staticClass:\"mb-8\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Zeiteinträge gruppieren nach')))]),_c('div',{staticClass:\"grid grid-cols-6 gap-4 items-center\"},[_c('div',{staticClass:\"col-span-2\"},[_c('st-select',{attrs:{\"value\":_vm.filterGroup,\"options\":_vm.timeEntryGroups},on:{\"input\":_vm.filterGroupChanged}})],1),_c('div',{staticClass:\"col-span-2\"},[(_vm.displayDisplayDatesOnGroup)?_c('st-toggle',{attrs:{\"type\":\"right\",\"value\":_vm.displayDatesOnGroup},on:{\"input\":_vm.displayDatesOnGroupChanged}},[_vm._v(\" \"+_vm._s(_vm.$t('Datum anzeigen'))+\" \")]):_vm._e()],1)])]):_vm._e(),_c('div',[_c('div',{staticClass:\"grid grid-cols-6 gap-4\"},[_c('div',{staticClass:\"col-span-2\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Position')))])]),_c('div'),_c('div',[_c('div',{staticClass:\"form-label text-right mr-6\"},[_vm._v(_vm._s(_vm.$t('Anzahl')))])]),_c('div',[_c('div',{staticClass:\"form-label text-right mr-6\"},[_vm._v(_vm._s(_vm.$t('Einzelpreis')))])]),_c('div',[_c('div',{staticClass:\"form-label text-right\"},[_vm._v(_vm._s(_vm.$t('Gesamtpreis')))])])]),(!_vm.editModel.positions.length)?_c('div',{staticClass:\"mt-4 mb-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('Keine Positionen'))+\" \")]):_vm._e(),_vm._l((_vm.editModel.positions),function(pos,index){return _c('div',{key:index,staticClass:\"grid grid-cols-6 gap-4 mb-4 items-center\"},[_c('div',{staticClass:\"col-span-2\"},[_c('st-input2',{model:{value:(pos.position),callback:function ($$v) {_vm.$set(pos, \"position\", $$v)},expression:\"pos.position\"}})],1),_c('div',{staticClass:\"flex justify-start\"},[(!pos.isCalculated)?_c('st-button',{staticClass:\"small red\",on:{\"click\":function($event){return _vm.removePosition(index)}}},[_vm._v(_vm._s(_vm.$t('Entfernen')))]):_vm._e()],1),(pos.isCalculated)?_c('div',{staticClass:\"text-right mr-6\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(pos.quantity))+\" \"+_vm._s(pos.unit))]):_c('div',{staticClass:\"flex items-center mr-6\"},[_c('st-input2',{attrs:{\"input-class\":\"border-r-0\",\"type\":\"number\",\"inputClass\":'text-right'},on:{\"input\":function($event){return _vm.calcRevenue(pos)}},model:{value:(pos.quantity),callback:function ($$v) {_vm.$set(pos, \"quantity\", $$v)},expression:\"pos.quantity\"}}),_c('div',{staticClass:\"w-28\"},[_c('st-select',{attrs:{\"options\":_vm.units},model:{value:(pos.unit),callback:function ($$v) {_vm.$set(pos, \"unit\", $$v)},expression:\"pos.unit\"}})],1)],1),(pos.isCalculated)?_c('div',{staticClass:\"text-right mr-6\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.rateAmount)))]):_c('div',{staticClass:\"flex items-center mr-6\"},[_c('st-input2',{attrs:{\"type\":\"number\",\"inputClass\":'text-right'},on:{\"input\":function($event){return _vm.calcRevenue(pos)}},model:{value:(pos.rateAmount),callback:function ($$v) {_vm.$set(pos, \"rateAmount\", $$v)},expression:\"pos.rateAmount\"}}),_c('span',{staticClass:\"pl-4\"},[_vm._v(_vm._s(_vm.currency))])],1),_c('div',{staticClass:\"text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.revenue)))])])}),_c('st-button',{staticClass:\"small green\",on:{\"click\":_vm.addPosition}},[_vm._v(_vm._s(_vm.$t('Position hinzufügen')))])],2),_c('hr',{staticClass:\"my-8\"}),_c('div',[_c('div',{staticClass:\"grid grid-cols-6 gap-4 items-center font-bold\"},[_c('div',{staticClass:\"col-span-2\"}),_c('div',{staticClass:\"col-span-2 text-right\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag (netto)'))+\" \")]),_c('div',{staticClass:\"col-span-1\"}),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.amountNet)))]),_c('div',{staticClass:\"col-span-2\"}),_c('div',{staticClass:\"col-span-2 text-right\"},[_vm._v(\" \"+_vm._s(_vm.$t('Umsatzsteuer'))+\" \")]),_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"flex items-center mr-6\"},[_c('st-input2',{attrs:{\"inputClass\":'text-right'},model:{value:(_vm.editModel.vatRate),callback:function ($$v) {_vm.$set(_vm.editModel, \"vatRate\", $$v)},expression:\"editModel.vatRate\"}}),_c('span',{staticClass:\"pl-4\"},[_vm._v(\"%\")])],1)]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.amountVat)))]),_c('div',{staticClass:\"col-span-2\"}),_c('div',{staticClass:\"col-span-2 text-right\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag (brutto)'))+\" \")]),_c('div',{staticClass:\"col-span-1\"}),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.amountGross)))])])]),_c('div',{staticClass:\"mb-8\"},[_c('st-textarea',{attrs:{\"is-native\":true,\"rows\":\"5\",\"placeholder\":_vm.$t('Kann in den Rechnungsdaten (Kunde) vorbelegt werden.'),\"label\":_vm.$t('Zahlunsbedingungen / Kontodaten')},model:{value:(_vm.editModel.paymentTerms),callback:function ($$v) {_vm.$set(_vm.editModel, \"paymentTerms\", $$v)},expression:\"editModel.paymentTerms\"}})],1),_c('div',{staticClass:\"grid grid-cols-2 gap-4\",staticStyle:{\"min-height\":\"8rem\"}},[_c('div',{staticClass:\"col-span-1\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Fußzeile')))]),_c('st-edit-div',{attrs:{\"edit-tooltip\":_vm.$t('Für diese Rechnung überschreiben?'),\"placeholder\":_vm.$t('Keine Fußzeile: Kann in den Account-Einstellungen, Reiter Rechnungen vorbelegt werden.'),\"editBtnFlexClass\":\"items-start\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('st-textarea',{attrs:{\"rows\":\"3\"},model:{value:(_vm.editModel.footer),callback:function ($$v) {_vm.$set(_vm.editModel, \"footer\", $$v)},expression:\"editModel.footer\"}})]},proxy:true}],null,false,655076280),model:{value:(_vm.editModel.footer),callback:function ($$v) {_vm.$set(_vm.editModel, \"footer\", $$v)},expression:\"editModel.footer\"}})],1),_c('div')])]:_vm._e()],2)])]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { vm } from '@/main';\r\nimport { DateTime } from 'luxon';\r\n\r\nexport function getOutgoingInvoiceLayoutOptions() {\r\n return [\r\n { id: 'Custom', label: vm.$t('Eigenes Layout') },\r\n { id: 'Classic', label: vm.$t('Klassisch') },\r\n { id: 'Modern', label: vm.$t('Modern') },\r\n { id: 'Other', label: vm.$t('Logo oben rechts') },\r\n { id: 'Other2', label: vm.$t('Logo oben rechts 2') },\r\n ];\r\n}\r\n\r\nexport interface IOutgoingInvoicePlaceholders {\r\n DateFrom?: string;\r\n DateTo?: string;\r\n}\r\n","export class DelayLoading {\r\n private _val: boolean = false;\r\n private t: any;\r\n\r\n get val(){\r\n return this._val;\r\n }\r\n\r\n set val(data:boolean){\r\n if(this.t){\r\n clearTimeout(this.t);\r\n }\r\n if(!data){\r\n this._val = false;\r\n }else{\r\n this.t = setTimeout(()=>{\r\n this._val = data;\r\n clearTimeout(this.t);\r\n },1000);\r\n }\r\n }\r\n\r\n setImmediate(){\r\n this._val = true;\r\n }\r\n}\r\n\r\nexport class MinLoadingTime {\r\n private _val: boolean = false;\r\n private t: any;\r\n\r\n get val(){\r\n return this._val;\r\n }\r\n\r\n set val(data: boolean){\r\n if(this._val && !data && !this.t){\r\n this.t = setTimeout(()=>{\r\n this._val = false;\r\n clearTimeout(this.t);\r\n this.t = null;\r\n }, 300);\r\n }\r\n\r\n if(this._val && !data && this.t){\r\n return\r\n }\r\n\r\n this._val = data;\r\n }\r\n}\r\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\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\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\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport {\n OutgoingInvoiceEditModel,\n OutgoingInvoicePositionEditModel,\n OutgoingInvoiceSettingsViewModel,\n OutgoingInvoiceTimeEntryGroupEnum,\n OutgoingInvoiceTimeEntryGroupFilter,\n TimeEntryFilter,\n TimeEntryFilterTimeFrame,\n} from '@/services/api/nswag/stapiclient_generated';\nimport { outgoingInvoiceApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport OutgoingInvoiceExport from '@/views/OutgoingInvoice/OutgoingInvoiceExport.vue';\n//@ts-ignore\nimport * as FileSaver from 'file-saver';\nimport { roundToTwo } from '@/utlitities/helper';\nimport { getOutgoingInvoiceLayoutOptions, IOutgoingInvoicePlaceholders } from '@/views/OutgoingInvoice/outgoing-invoice-helper';\nimport { DelayLoading } from '@/utlitities/delay-loading';\nimport { DialogResponse } from 'vue-tailwind/dist/components/TDialog';\n\n@Component({\n components: { OutgoingInvoiceExport },\n})\nexport default class OutgoingInvoiceDocument extends Vue {\n @Prop() value!: OutgoingInvoiceEditModel;\n @Prop() placeholders!: IOutgoingInvoicePlaceholders;\n\n filter: OutgoingInvoiceTimeEntryGroupFilter = OutgoingInvoiceTimeEntryGroupFilter.fromJS({});\n settings: OutgoingInvoiceSettingsViewModel = OutgoingInvoiceSettingsViewModel.fromJS({});\n preview: boolean = false;\n pdfLoading = false;\n xmlLoading = false;\n pdfActivityLoading = false;\n saveLoading = false;\n\n delayLoading: DelayLoading = new DelayLoading();\n watchFn: any;\n\n async mounted() {\n this.settings = await outgoingInvoiceApi.getSettingsViewModel();\n this.filter.timeEntryIds = this.timeEntryIds;\n this.filter.group = this.filterGroup;\n this.filter.displayDatesOnGroup = this.displayDatesOnGroup;\n\n this.watchFn = this.$watch('editModel.timeEntryIds', async () => {\n this.filter.timeEntryIds = this.timeEntryIds;\n try {\n this.loading = true;\n await this.reloadPositionsByTimeEntries();\n } finally {\n this.loading = false;\n }\n });\n }\n\n beforeDestroy() {\n this.watchFn();\n }\n\n get loading() {\n return this.delayLoading.val;\n }\n\n set loading(data: boolean) {\n this.delayLoading.val = data;\n }\n\n loadingImmediate() {\n this.delayLoading.setImmediate();\n }\n\n get useInvoiceEmailSending() {\n return UserStore.userSettings.useInvoiceEmailSending;\n }\n\n get isSavedInvoice() {\n return this.editModel.id;\n }\n\n async reloadPositionsByTimeEntries() {\n let temp = this.editModel.positions?.filter((x) => !x.isCalculated) ?? [];\n this.editModel.positions = [];\n this.editModel.positions.push(...(await outgoingInvoiceApi.getPositionsByTimeEntries(this.filter)));\n this.editModel.positions.push(...temp);\n }\n\n editSettings() {\n this.$router.push({ name: 'EditOutInvAccountSettings' });\n }\n\n editCustomer() {\n this.$router.push({ name: 'EditCustomerInvoice', params: { customerId: this.editModel.customerId!.toString() } });\n }\n\n get layoutOptions() {\n let layoutOptions = getOutgoingInvoiceLayoutOptions();\n if (!this.settings.customLayoutComponentName) {\n layoutOptions = layoutOptions.filter((_) => _.id != 'Custom');\n }\n\n return layoutOptions;\n }\n\n get contactNamePlaceholder() {\n if (this.editModel.contactNamePlaceholder && (this.editModel.description?.indexOf('{Ansprechpartner}') ?? -1) > -1) {\n return this.editModel.contactNamePlaceholder;\n }\n }\n\n get dateFromPlaceholder() {\n if (this.editModel.dateFromPlaceholder && (this.editModel.description?.indexOf('{DatumVon}') ?? -1) > -1) {\n return this.editModel.dateFromPlaceholder;\n }\n }\n\n get dateToPlaceholder() {\n if (this.editModel.dateToPlaceholder && (this.editModel.description?.indexOf('{DatumBis}') ?? -1) > -1) {\n return this.editModel.dateToPlaceholder;\n }\n }\n\n get editModel() {\n return this.value;\n }\n\n set editModel(data: OutgoingInvoiceEditModel) {\n this.$emit('input', data);\n }\n\n get timeEntryIds() {\n return this.editModel.timeEntryIds;\n }\n\n get filterGroup() {\n return this.editModel.timeEntryGrouping ?? OutgoingInvoiceTimeEntryGroupEnum.Rate;\n }\n\n get displayDatesOnGroup() {\n return this.editModel.displayDatesOnGroup ?? false;\n }\n\n get units() {\n return ['h', 'St.'];\n }\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n\n get amountNet() {\n return roundToTwo(this.editModel.positions!.map((x) => x.revenue).reduce((x, y) => x! + y!, 0) ?? 0);\n }\n\n get amountVat() {\n return roundToTwo(this.amountNet * (this.editModel.vatRate ?? 0)) / 100;\n }\n\n get amountGross() {\n return this.amountNet + this.amountVat;\n }\n\n get timeEntryGroups(): any[] {\n return [\n {\n value: OutgoingInvoiceTimeEntryGroupEnum.ProjectTask,\n description: this.$t('Leistung'),\n },\n {\n value: OutgoingInvoiceTimeEntryGroupEnum.Rate,\n description: this.$t('Stundensatz'),\n },\n {\n value: OutgoingInvoiceTimeEntryGroupEnum.Project,\n description: this.$t('Projekt'),\n },\n {\n value: OutgoingInvoiceTimeEntryGroupEnum.TimeEntry,\n description: this.$t('Zeiteintrag'),\n },\n ];\n }\n\n get displayDisplayDatesOnGroup() {\n return this.filter.group == OutgoingInvoiceTimeEntryGroupEnum.TimeEntry;\n }\n\n async filterGroupChanged(group: OutgoingInvoiceTimeEntryGroupEnum) {\n this.filter.group = group;\n this.editModel.timeEntryGrouping = group;\n try {\n this.loading = true;\n await this.reloadPositionsByTimeEntries();\n } finally {\n this.loading = false;\n }\n }\n\n async displayDatesOnGroupChanged(displayDatesOnGroup: boolean) {\n this.filter.displayDatesOnGroup = displayDatesOnGroup;\n this.editModel.displayDatesOnGroup = displayDatesOnGroup;\n try {\n this.loading = true;\n await this.reloadPositionsByTimeEntries();\n } finally {\n this.loading = false;\n }\n }\n\n async addPosition() {\n try {\n let t = setTimeout(() => {\n this.loading = true;\n }, 500);\n let newPos = await outgoingInvoiceApi.getNewPositionEditModel();\n this.editModel.positions!.push(newPos);\n clearTimeout(t);\n } finally {\n this.loading = false;\n }\n }\n\n removePosition(index: number) {\n this.editModel.positions!.splice(index, 1);\n }\n\n calcRevenue(pos: OutgoingInvoicePositionEditModel) {\n pos.revenue = roundToTwo(pos.rateAmount ?? 0) * roundToTwo(pos.quantity ?? 0);\n }\n\n async printInvoice() {\n try {\n this.pdfLoading = true;\n if (this.editModel.id == 0) {\n await this.save();\n }\n\n let result = await outgoingInvoiceApi.getPdf(this.editModel.id!);\n FileSaver.saveAs(result.data, this.$t('Rechnung').toString() + '_' + this.editModel.invoiceNo + '.pdf');\n } finally {\n this.pdfLoading = false;\n }\n }\n\n async getEInvoiceXml() {\n try {\n this.xmlLoading = true;\n if (this.editModel.id == 0) {\n await this.save();\n }\n\n let result = await outgoingInvoiceApi.getXml(this.editModel.id!);\n FileSaver.saveAs(result.data, this.$t('Rechnung').toString() + '_' + this.editModel.invoiceNo + '.xml');\n } finally {\n this.xmlLoading = false;\n }\n }\n\n async printActivityReport() {\n try {\n this.pdfActivityLoading = true;\n if (this.editModel.id == 0) {\n await this.save();\n }\n\n let result = await outgoingInvoiceApi.getActivityReport(this.editModel.id!);\n FileSaver.saveAs(result.data, this.$t('Leistungsnachweis').toString() + '_' + this.editModel.invoiceNo + '.pdf');\n } finally {\n this.pdfActivityLoading = false;\n }\n }\n\n async save() {\n try {\n this.saveLoading = true;\n\n if (this.editModel.filterJson) {\n let filter = TimeEntryFilter.fromJS(JSON.parse(this.editModel.filterJson!));\n this.editModel.filterTimeFrame = filter.timeframe;\n\n filter.timeframe = TimeEntryFilterTimeFrame.Custom;\n this.editModel.filterJson = JSON.stringify(filter);\n }\n\n if (this.editModel.id == 0) {\n this.editModel.id = await outgoingInvoiceApi.post(this.editModel);\n } else {\n await outgoingInvoiceApi.put(this.editModel);\n }\n } finally {\n this.saveLoading = false;\n }\n\n notifySuccess('Erfolgreich gespeichert');\n }\n\n async confirmOwnLayout() {\n const res: DialogResponse = await this.$dialog.confirm({\n title: this.$t('Bestätigung').toString(),\n text: this.$t(\n 'Wenn Sie ein eigenes Rechnungslayout haben, dann können wir dieses für Sie hinterlegen. Bitte melden Sie sich bei uns per E-Mail (mail@spiketime.de) oder über die Support-Funktion.'\n ),\n variant: 'success',\n okButtonText: this.$t('Ok, verstanden').toString(),\n cancelButtonText: this.$t('Abbrechen').toString(),\n });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceDocument.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceDocument.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceDocument.vue?vue&type=template&id=6476a5dd&\"\nimport script from \"./OutgoingInvoiceDocument.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceDocument.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading}}),(_vm.showChangeWarning)?_c('div',{staticClass:\"absolute w-full h-80 bg-opacity-90 bg-white z-30 flex justify-center items-start\"},[_c('div',{staticClass:\"w-80 text-center font-bold mt-10\"},[_vm._v(\" \"+_vm._s(_vm.$t('Durch das Ändern des Kunden geht die Zuordnung der Zeiteinträge zur Rechnung verloren.'))+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Sie können aber jederzeit mit dem Zurück Button oben rechts zur Rechnungsliste zurückgehen um den gespeicherten Stand wiederherzustellen.'))+\" \"),_c('br'),_c('br'),_c('st-button',{staticClass:\"green\",on:{\"click\":function($event){_vm.overwriteChangedInvoice=true}}},[_vm._v(_vm._s(_vm.$t('Bearbeiten')))])],1)]):_vm._e(),_c('div',{class:{'h-80': _vm.showChangeWarning}},[_c('div',{staticClass:\"form-heading mb-8 flex items-center justify-between\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Kunde'))+\" \")]),_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":!_vm.customerId},on:{\"click\":function($event){return _vm.$emit('goToTab','timeentries')}}},[_c('i',{staticClass:\"far fa-angle-double-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('Weiter')))])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Kunde auswählen')))]),_c('st-select',{attrs:{\"options\":_vm.customers,\"placeholder\":_vm.$t('-- Bitte Kunden auswählen --')},model:{value:(_vm.customerId),callback:function ($$v) {_vm.customerId=$$v},expression:\"customerId\"}})],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport {Component, Emit, Prop, Vue, Watch} from 'vue-property-decorator';\r\nimport {outgoingInvoiceApi, stCustomerApi} from '@/services/st-api';\r\nimport {\r\n CustomerFilter, OutgoingInvoiceEditModel, OutgoingInvoiceFilter,\r\n OutgoingInvoiceTimeEntryModel,\r\n StSelectListItem,\r\n TimeEntryFilter\r\n} from '@/services/api/nswag/stapiclient_generated';\r\nimport {DelayLoading} from '@/utlitities/delay-loading';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class OutgoingInvoiceCustomer extends Vue {\r\n customers: StSelectListItem[] =[];\r\n @Prop() value!: number;\r\n @Prop() isSavedInvoice!: boolean;\r\n\r\n overwriteChangedInvoice: boolean = false;\r\n\r\n get showChangeWarning(){\r\n return this.isSavedInvoice && !this.overwriteChangedInvoice;\r\n }\r\n\r\n loading=true;\r\n\r\n async mounted(){\r\n try {\r\n this.customers = (await stCustomerApi.getSelectList(CustomerFilter.fromJS({})));\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n get customerId(){\r\n return this.value;\r\n }\r\n\r\n set customerId(val: number){\r\n this.$emit('input', val);\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceCustomer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceCustomer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceCustomer.vue?vue&type=template&id=1aaa9045&\"\nimport script from \"./OutgoingInvoiceCustomer.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceCustomer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('vv-observer',{staticClass:\"relative\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"form-heading mb-8\"},[_c('div',{staticClass:\"flex items-center justify-between\"},[_c('span',[_vm._v(_vm._s(_vm.$t('E-Mail Versand')))]),_c('div',{staticClass:\"flex items-center\"},[(_vm.statusDate)?_c('span',{staticClass:\"mr-12 text-base\"},[_vm._v(_vm._s(_vm.statusString)+\" am \"+_vm._s(_vm._f(\"formatDate\")(_vm.statusDate)))]):_vm._e(),_c('st-button',{staticClass:\"white mr-8\",attrs:{\"type\":\"submit\",\"loading\":_vm.saveLoading}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(_vm.$t('Speichern')))])]),(!_vm.isSent)?_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid,\"loading\":_vm.sendLoading},on:{\"click\":function($event){return _vm.send()}}},[_c('i',{staticClass:\"far fa-inbox-out mr-2\"}),_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(_vm.$t('Versenden')))])]):_c('st-button',{staticClass:\"white\",attrs:{\"disabled\":invalid,\"loading\":_vm.sendLoading},on:{\"click\":function($event){return _vm.send()}}},[_c('i',{staticClass:\"far fa-inbox-out mr-2\"}),_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(_vm.$t('Erneut senden')))])])],1)])]),_c('div',{staticClass:\"grid grid-cols-6 gap-x-4\"},[_c('div',{staticClass:\"form-group col-start-1 col-end-7 md:col-end-4 2xl:col-end-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Von')))]),_c('st-input2',{attrs:{\"value\":\"rechnungen@spiketime.de\",\"disabled\":true,\"type\":\"text\"}})],1),_c('div',{staticClass:\"form-group col-start-1 col-end-7 md:col-start-4 md:col-end-7 2xl:col-start-3 2xl:col-end-5\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Antwort-An')))]),_c('st-input2',{attrs:{\"type\":\"email\"},model:{value:(_vm.editModel.emailReplyTo),callback:function ($$v) {_vm.$set(_vm.editModel, \"emailReplyTo\", $$v)},expression:\"editModel.emailReplyTo\"}})],1),_c('div',{staticClass:\"form-group col-start-1 col-end-7 md:col-end-4 2xl:col-end-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('An')))]),_c('st-input2',{attrs:{\"type\":\"email\",\"name\":_vm.$t('An'),\"rules\":\"required\"},model:{value:(_vm.editModel.emailTo),callback:function ($$v) {_vm.$set(_vm.editModel, \"emailTo\", $$v)},expression:\"editModel.emailTo\"}})],1),_c('div',{staticClass:\"form-group col-start-1 col-end-7 md:col-start-4 md:col-end-7 2xl:col-start-3 2xl:col-end-5\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Kopie (CC)')))]),_c('st-input2',{attrs:{\"type\":\"email\"},model:{value:(_vm.editModel.emailCc),callback:function ($$v) {_vm.$set(_vm.editModel, \"emailCc\", $$v)},expression:\"editModel.emailCc\"}})],1),_c('div',{staticClass:\"form-group col-start-1 col-end-7 2xl:col-end-5\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Betreff')))]),_c('st-input2',{attrs:{\"type\":\"text\",\"rules\":\"required\"},model:{value:(_vm.editModel.emailSubject),callback:function ($$v) {_vm.$set(_vm.editModel, \"emailSubject\", $$v)},expression:\"editModel.emailSubject\"}})],1),_c('div',{staticClass:\"form-group col-span-full\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Text')))]),_c('st-textarea',{attrs:{\"rows\":\"7\",\"is-native\":true},model:{value:(_vm.editModel.emailText),callback:function ($$v) {_vm.$set(_vm.editModel, \"emailText\", $$v)},expression:\"editModel.emailText\"}}),(_vm.dateFromPlaceholder)?_c('span',[_c('strong',[_vm._v(\"{DatumVon} =\")]),_vm._v(\" \"+_vm._s(_vm.dateFromPlaceholder)+\" \")]):_vm._e(),(_vm.dateToPlaceholder)?_c('span',[_c('strong',[_vm._v(\"{DatumBis} =\")]),_vm._v(\" \"+_vm._s(_vm.dateToPlaceholder)+\" \")]):_vm._e(),(_vm.contactNamePlaceholder)?_c('span',[_c('strong',[_vm._v(\"{Ansprechpartner} =\")]),_vm._v(\" \"+_vm._s(_vm.contactNamePlaceholder)+\" \")]):_vm._e()],1),_c('st-separator',{staticClass:\"wide small col-span-full flex items-center justify-between mt-4\"},[_c('span',[_vm._v(_vm._s(_vm.$t('Anhänge')))]),(_vm.editModel.timeEntryIds.length)?_c('st-toggle',{staticClass:\"text-base\",attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.attachTimeSheet),callback:function ($$v) {_vm.$set(_vm.editModel, \"attachTimeSheet\", $$v)},expression:\"editModel.attachTimeSheet\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Leistungsnachweis anhängen'))+\" \")]):_vm._e()],1),_c('div',{staticClass:\"form-group col-span-full text-lg\"},[_c('i',{staticClass:\"far fa-file-pdf mr-2\"}),_c('span',[_vm._v(_vm._s(_vm.$t('Rechnung'))+\"_\"+_vm._s(_vm.editModel.invoiceNo)+\".pdf\")])]),(_vm.editModel.attachTimeSheet)?_c('div',{staticClass:\"form-group col-span-full text-lg\"},[_c('i',{staticClass:\"far fa-file-pdf mr-2\"}),_c('span',[_vm._v(_vm._s(_vm.$t('Leistungsnachweis'))+\"_\"+_vm._s(_vm.editModel.invoiceNo)+\".pdf\")])]):_vm._e()],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { OutgoingInvoiceEditModel, OutgoingInvoiceStatusEnum, TimeEntryFilter, TimeEntryFilterTimeFrame } from '@/services/api/nswag/stapiclient_generated';\nimport { outgoingInvoiceApi } from '@/services/st-api';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport StBadge from '@/components/basic/StBadge.vue';\n\n@Component({\n components: {\n StBadge,\n },\n})\nexport default class OutgoingInvoiceEmail extends Vue {\n @Prop() value!: OutgoingInvoiceEditModel;\n saveLoading = false;\n sendLoading = false;\n\n get editModel() {\n return this.value;\n }\n\n set editModel(data: OutgoingInvoiceEditModel) {\n this.$emit('input', data);\n }\n\n get isSent() {\n return this.editModel.currentStatus?.status == OutgoingInvoiceStatusEnum.Sent;\n }\n\n get statusDate() {\n return this.editModel.currentStatus?.statusDate;\n }\n\n get statusString() {\n return this.$t(this.editModel.currentStatus?.statusTranslationString ?? '');\n }\n\n get contactNamePlaceholder(){\n if (this.editModel.contactNamePlaceholder && (this.editModel.emailText?.indexOf('{Ansprechpartner}') ?? -1) > -1) {\n return this.editModel.contactNamePlaceholder;\n }\n }\n\n get dateFromPlaceholder() {\n if (this.editModel.dateFromPlaceholder && (this.editModel.emailText?.indexOf('{DatumVon}') ?? -1) > -1) {\n return this.editModel.dateFromPlaceholder;\n }\n }\n\n get dateToPlaceholder() {\n if (this.editModel.dateToPlaceholder && (this.editModel.emailText?.indexOf('{DatumBis}') ?? -1) > -1) {\n return this.editModel.dateToPlaceholder;\n }\n }\n\n async save() {\n if (this.editModel.filterJson) {\n let filter = TimeEntryFilter.fromJS(JSON.parse(this.editModel.filterJson!));\n\n filter.timeframe = TimeEntryFilterTimeFrame.Custom;\n this.editModel.filterJson = JSON.stringify(filter);\n }\n\n if (this.editModel.id == 0) {\n this.editModel.id = await outgoingInvoiceApi.post(this.editModel);\n } else {\n await outgoingInvoiceApi.put(this.editModel);\n }\n }\n\nasync send(){\n try{\n this.sendLoading = true;\n await this.save();\n await outgoingInvoiceApi.sendEmail(this.editModel.id!);\n notifySuccess('E-Mail versendet');\n this.$emit('reloadStatus');\n }finally {\n this.sendLoading = false;\n }\n}\n\n async submit() {\n try {\n this.saveLoading = true;\n\n await this.save();\n } finally {\n this.saveLoading = false;\n }\n\n notifySuccess('Erfolgreich gespeichert');\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceEmail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceEmail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceEmail.vue?vue&type=template&id=4cd3b8be&\"\nimport script from \"./OutgoingInvoiceEmail.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceEmail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport { OutgoingInvoiceEditModel, OutgoingInvoiceFilter, OutgoingInvoiceStatusEnum, TimeEntryFilter } from '@/services/api/nswag/stapiclient_generated';\nimport { outgoingInvoiceApi, stCustomerApi } from '@/services/st-api';\nimport OutgoingInvoiceTimeEntries from '@/views/OutgoingInvoice/OutgoingInvoiceTimeEntries.vue';\nimport OutgoingInvoiceDocument from '@/views/OutgoingInvoice/OutgoingInvoiceDocument.vue';\nimport OutgoingInvoiceCustomer from '@/views/OutgoingInvoice/OutgoingInvoiceCustomer.vue';\nimport { TabModel } from '@/components/tabs/tab-model';\nimport { startOfMonth } from '@/utlitities/helper';\nimport { UserStore } from '@/store/user-module';\nimport { IOutgoingInvoicePlaceholders } from '@/views/OutgoingInvoice/outgoing-invoice-helper';\nimport OutgoingInvoiceEmail from '@/views/OutgoingInvoice/OutgoingInvoiceEmail.vue';\nimport StBadge from '@/components/basic/StBadge.vue';\n\nComponent.registerHooks(['beforeRouteUpdate']);\n\n@Component({\n components: {\n StTabs,\n OutgoingInvoiceTimeEntries,\n OutgoingInvoiceDocument,\n OutgoingInvoiceCustomer,\n OutgoingInvoiceEmail,\n StBadge,\n },\n})\nexport default class OutgoingInvoiceEdit extends Vue {\n id: number = 0;\n activeTabName: string = 'customer';\n listYear: number = 0;\n listMonth: number = 0;\n\n editModel: OutgoingInvoiceEditModel = OutgoingInvoiceEditModel.fromJS({ id: 0, positions: [], timeEntryIds: [], currentStatus: {} });\n\n //Wusste mir nicht anders zu helfen, da sonst der Watcher in OutgoingInvoiceDocument beim mounted anspringt ...\n initialized: boolean = false;\n\n loading = false;\n delayLoading = false;\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n next();\n if (to.name == 'OutgoingInvoiceEdit') {\n try {\n this.loading = true;\n const customer = await stCustomerApi.get(this.editModel.customerId!);\n this.editModel.addressTo = customer.address;\n this.editModel.addressToCalculated = this.editModel.isEInvoice ? customer.eInvoiceAddressCalculated : customer.address;\n this.editModel.toContactName = customer.contactName;\n this.editModel.toContactEmail = customer.invoiceEmail;\n this.editModel.toCompanyName = customer.name;\n this.editModel.toStreetAddress = customer.streetAddress;\n this.editModel.toZip = customer.zip;\n this.editModel.toCity = customer.city;\n this.editModel.toVatId = customer.vatId;\n this.editModel.contactNamePlaceholder = customer.contactName;\n this.editModel.description = customer.invoiceDescriptionOverwritten ? customer.invoiceDescription: customer.invoiceDescriptionSettings;\n this.editModel.paymentTerms = customer.invoicePaymentTermsOverwritten ? customer.invoicePaymentTerms : customer.invoicePaymentTermsSettings;\n this.editModel.title = customer.invoiceTitleOverwritten ? customer.invoiceTitle :customer.invoiceTitleSettings;\n this.editModel.emailTo = customer.invoiceEmail;\n this.editModel.emailText = customer.invoiceEmailTextOverwritten ? customer.invoiceEmailText : customer.invoiceEmailTextSettings;\n this.editModel.emailSubject = customer.invoiceEmailSubjectOverwritten ? customer.invoiceEmailSubject : customer.invoiceEmailSubjectSettings;\n } finally {\n this.loading = false;\n }\n }\n }\n\n created() {\n this.id = parseInt(this.$route.params.id);\n this.listYear = parseInt(this.$route.params.year);\n this.listMonth = parseInt(this.$route.params.month);\n }\n\n async loadData() {\n this.editModel = await outgoingInvoiceApi.get(this.id);\n }\n\n async reloadStatus(){\n try {\n this.delayLoading = true;\n const reloadedEditModel = await outgoingInvoiceApi.get(this.editModel.id!);\n this.editModel.currentStatus = reloadedEditModel.currentStatus;\n } finally {\n this.delayLoading = false;\n }\n }\n\n async mounted() {\n if (this.id > 0) {\n this.activeTabName = 'invoice';\n try {\n this.loading = true;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n this.initialized = true;\n }\n //wenn neue Rechnung -> initialized wird erst nach Auswahl des Kunden gesetzt\n }\n\n get isSent() {\n return this.editModel.currentStatus?.status == OutgoingInvoiceStatusEnum.Sent;\n }\n\n get statusDate() {\n return this.editModel.currentStatus?.statusDate;\n }\n\n get statusString() {\n return this.$t(this.editModel.currentStatus?.statusTranslationString ?? '');\n }\n\n get lastMonthDateFrom() {\n return startOfMonth(UserStore.userNowDateTime.minus({ months: 1 })).toFormat('yyyy-MM-dd');\n }\n\n placeholdersChanged(placeholders: IOutgoingInvoicePlaceholders) {\n this.editModel.dateFromPlaceholder = placeholders.DateFrom;\n this.editModel.dateToPlaceholder = placeholders.DateTo;\n }\n\n timeEntryFilterChanged(data: TimeEntryFilter) {\n this.editModel.filterJson = JSON.stringify(data);\n }\n\n get isSavedInvoice() {\n return this.editModel.id;\n }\n\n get selectedTimeEntryIds() {\n return this.editModel.timeEntryIds ?? [];\n }\n\n set selectedTimeEntryIds(ids: number[]) {\n this.editModel.timeEntryIds = ids;\n }\n\n get customerId() {\n return this.editModel.customerId ?? 0;\n }\n\n goToTab(tabName: string) {\n this.activeTabName = tabName;\n }\n\n async customerChanged(customerId: number) {\n if (this.customerId != customerId) {\n try {\n this.delayLoading = true;\n this.editModel = await outgoingInvoiceApi.getNew(customerId, OutgoingInvoiceFilter.fromJS({}));\n } finally {\n this.delayLoading = false;\n }\n this.initialized = true;\n }\n }\n\n get tabs(): TabModel[] {\n let res = [\n {\n TabName: 'customer',\n Disabled: false,\n },\n {\n TabName: 'timeentries',\n Disabled: !this.customerId,\n },\n {\n TabName: 'invoice',\n Disabled: !this.customerId,\n },\n ];\n\n if (this.useInvoiceEmailSending) {\n res.push({\n TabName: 'email',\n Disabled: !this.isSavedInvoice,\n });\n }\n\n return res;\n }\n\n get useInvoiceEmailSending() {\n return UserStore.userSettings.useInvoiceEmailSending;\n }\n\n get initialActiveTab() {\n return this.id ? 'invoice' : '';\n }\n\n back() {\n this.$router.push({ name: 'OutgoingInvoice', params: { year: this.listYear.toString(), month: this.listMonth.toString() } });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceEdit.vue?vue&type=template&id=159eda47&\"\nimport script from \"./OutgoingInvoiceEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Liste')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Filtern, Sortieren und Nachbearbeiten')))])]),_c('div',{staticClass:\"w-full mt-8 sm:mt-0 sm:w-1/2 lg:w-1/3 h-full flex items-center text-gray-700\"},[(_vm.filterSelectVisible && !_vm.loading)?_c('st-select',{attrs:{\"options\":_vm.savedReports,\"idProp\":\"id\",\"labelProp\":\"name\",\"value\":_vm.currentReport.id,\"placeholder\":_vm.$t('Gespeicherten Filter auswählen'),\"hideSearchBox\":!_vm.savedReports.length},on:{\"input\":_vm.changeReport},scopedSlots:_vm._u([{key:\"noResults\",fn:function(){return [_c('div',{staticClass:\"p-4\"},[_c('div',{staticClass:\"pb-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Es gibt noch keine gespeicherten Filter'))+\" \")]),_c('div',{staticClass:\"pb-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Um einen Filter zu speichern klicken Sie auf '))+\" \"),_c('strong',[_vm._v(_vm._s(_vm.$t('Gespeicherten Filter anlegen.')))])]),_c('div',{staticClass:\"pb-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Alle ausgewählten Filter, Gruppierungen, Export-Einstellungen und anzuzeigende Spalten werden gespeichert.'))+\" \")]),_c('div',{staticClass:\"pb-6\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Export-Einstellungen')))]),_vm._v(_vm._s(_vm.$t(' (Hoch- oder Querformat und Filter im Export zeigen) werden über folgende Buttons ausgewählt.'))+\" \"),_c('div',{staticClass:\"flex pt-2\"},[_c('st-button-round',{attrs:{\"small\":true}},[_c('i',{staticClass:\"far fa-arrows-v\"})]),_c('st-button-round',{attrs:{\"small\":true,\"crossed\":true}},[_c('i',{staticClass:\"far fa-filter\"})])],1)]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('Spalten')))]),_vm._v(_vm._s(_vm.$t(' die in der Liste angezeigt werden und deren Breite, werden im Tabellenheader rechts oben, mit folgendem Button eingestellt.'))+\" \"),_c('div',{staticClass:\"flex pt-2\"},[_c('st-button-round',{attrs:{\"small\":true}},[_c('i',{staticClass:\"far fa-line-columns\"})])],1)])])]},proxy:true},{key:\"label\",fn:function(ref){\nvar className = ref.className;\nvar option = ref.option;\nvar options = ref.options;\nreturn [_c('div',{class:[className, 'text-base font-normal whitespace-normal break-word flex justify-between w-full']},[_c('span',[_vm._v(\" \"+_vm._s(option.text)+\" \")]),_c('div',[(option.raw.isDefault)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Standardbericht')),expression:\"$t('Standardbericht')\"}],staticClass:\"far fa-star mr-4\"}):_vm._e(),(option.raw.isExternalAccess)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Für externen Zugriff freigegeben')),expression:\"$t('Für externen Zugriff freigegeben')\"}],staticClass:\"far fa-globe mr-2\"}):_vm._e()])])]}},{key:\"option\",fn:function(ref){\nvar className = ref.className;\nvar option = ref.option;\nreturn [_c('div',{class:[className, 'text-base font-normal pl-8 break-word flex justify-between items-center']},[_c('span',[_vm._v(\" \"+_vm._s(option.text)+\" \")]),_c('div',{staticClass:\"flex items-center\"},[(option.raw.isDefault)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Standardbericht')),expression:\"$t('Standardbericht')\"}],staticClass:\"far fa-star mr-4\"}):_vm._e(),(option.raw.isExternalAccess)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Für externen Zugriff freigegeben')),expression:\"$t('Für externen Zugriff freigegeben')\"}],staticClass:\"far fa-globe mr-6\"}):_vm._e(),_c('st-delete-button',{attrs:{\"small\":true,\"tooltipText\":_vm.$t('Löschen'),\"tooltipOnBody\":true},on:{\"delete\":function($event){return _vm.deleteListPreset(option.value)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)])]}}],null,false,339432350)}):_c('st-input2'),(_vm.currentReport.id || _vm.dirty)?_c('div',{staticClass:\"flex ml-4\"},[(_vm.currentReport.id)?_c('st-button-round',{staticClass:\"flex-grow\",attrs:{\"tooltipText\":_vm.$t('Filter bearbeiten')},on:{\"click\":_vm.openSaveReport}},[_c('i',{staticClass:\"far fa-edit\"})]):_vm._e(),_c('st-button-round',{staticClass:\"flex-grow\",attrs:{\"no-margin\":true,\"tooltipText\":_vm.currentReport.id ? _vm.$t('Neuer Filter') : _vm.$t('Zurücksetzen')},on:{\"click\":_vm.createNewReport}},[(_vm.currentReport.id)?_c('i',{staticClass:\"far fa-plus\"}):_c('i',{staticClass:\"far fa-undo\"})])],1):_vm._e()],1)]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/2 flex font-bold items-center ml-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Filter und Gruppierung'))+\" \")])]),_c('div',{staticClass:\"st-list-subheader flex flex-col\"},[_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.filterLoading || _vm.loading,\"absolute\":true,\"centered\":true}}),_c('div',[_c('time-entry-filter-component',{ref:\"filter\",on:{\"applyFilter\":_vm.applyFilter,\"startLoading\":function($event){_vm.filterLoading = true},\"endLoading\":_vm.filterLoaded},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1),_c('hr',{staticClass:\"mt-4 mb-4\"}),_c('div',{staticClass:\"flex items-center justify-end flex-wrap gap-y-12\"},[_c('time-entry-grouper',{attrs:{\"groupingModel\":_vm.grouping},on:{\"input\":_vm.applyGrouping}}),_c('div',{staticClass:\"flex justify-self-end\"},[(_vm.reportSelected)?_c('st-button',{staticClass:\"small\",class:{'white' : !_vm.dirty, 'green': _vm.dirty},staticStyle:{\"height\":\"34.5px\"},attrs:{\"disabled\":!_vm.dirty,\"tooltip\":!_vm.dirty ? _vm.$t('Keine Änderungen'): null,\"loading\":_vm.saveListPresetLoading,\"type\":\"button\"},on:{\"click\":_vm.saveListPreset}},[_c('i',{staticClass:\"far fa-filter\"}),_vm._v(\" \"+_vm._s(_vm.$t('Änderungen speichern'))+\" \")]):_c('st-button',{staticClass:\"white small\",staticStyle:{\"height\":\"34.5px\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.openSaveReport}},[_c('i',{staticClass:\"far fa-filter\"}),_vm._v(\" \"+_vm._s(_vm.$t('Gespeicherten Filter anlegen'))+\" \")])],1)],1)],1),(_vm.currentReport.isExternalAccess && _vm.currentReport.listPresetExternalUrl)?[_c('hr',{staticClass:\"mt-4\"}),_c('div',{staticClass:\"mt-4 flex items-center\",class:{\n 'justify-between': _vm.currentReport.isExternalAccess && _vm.currentReport.listPresetExternalUrl,\n 'justify-end': !(_vm.currentReport.isExternalAccess && _vm.currentReport.listPresetExternalUrl),\n }},[_c('div',{staticClass:\"filter-group mt-0 xl:w-1/2 px-4\"},[_c('label',{staticClass:\"filter-label\"},[_vm._v(_vm._s(_vm.$t('Externer Zugriff')))]),_c('div',{staticClass:\"filter-control\"},[_c('st-input2',{attrs:{\"value\":_vm.currentReport.listPresetExternalUrl,\"disabled\":true}}),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Adresse kopieren')),expression:\"$t('Adresse kopieren')\"},{name:\"clipboard\",rawName:\"v-clipboard\",value:(_vm.currentReport.listPresetExternalUrl),expression:\"currentReport.listPresetExternalUrl\"}],staticClass:\"form-control border-l-0 flex-shrink w-auto rounded-none cursor-pointer\",on:{\"click\":_vm.copySuccess}},[_c('i',{staticClass:\"far fa-file\"})]),_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Klicken zum Öffnen')),expression:\"$t('Klicken zum Öffnen')\"}],staticClass:\"form-control border-l-0 flex-shrink active:outline-none focus:border-none w-auto rounded-none cursor-pointer\",attrs:{\"href\":_vm.currentReport.listPresetExternalUrl,\"target\":\"_blank\"},on:{\"click\":_vm.copySuccess}},[_c('i',{staticClass:\"far fa-external-link\"})])],1)])])]:_vm._e()],2),_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading,\"absolute\":true}}),_c('div',[(!_vm.listResult || _vm.listResult.numberOfEntries === 0)?_c('div',[_c('div',{staticClass:\"hidden sm:flex justify-end\"},[_c('div',{staticClass:\"p-4 bg-white border-t border-l border-r\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.accountIsLocked ? _vm.$t('Der Account ist gesperrt') : ''),expression:\"accountIsLocked ? $t('Der Account ist gesperrt') : ''\"}]},[_c('st-button',{staticClass:\"green small mr-2 text-sm\",attrs:{\"type\":\"button\",\"disabled\":_vm.accountIsLocked},on:{\"click\":function($event){return _vm.editTimeEntry(0)}}},[_c('i',{staticClass:\"far fa-clock\"}),_vm._v(\" \"+_vm._s(_vm.$t('Neuer Zeiteintrag'))+\" \")])],1)])]),_c('div',{staticClass:\"empty-list-container st-list-item mt-0 cursor-auto\"},[_c('i',{staticClass:\"far fa-clock\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Zeiteinträge')))]),_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Für diese Auswahl sind keine Zeiteinträge vorhanden.')))])])]):_vm._e(),(_vm.listResult && _vm.listResult.numberOfEntries)?_c('div',[_c('div',{staticClass:\"hidden sm:flex justify-between\"},[_c('div',{staticClass:\"p-4 bg-white border-t border-l border-r shadow flex items-center\"},[_c('st-button',{staticClass:\"green small mr-2 text-sm\",attrs:{\"type\":\"button\",\"loading\":_vm.pdfLoading},on:{\"click\":_vm.exportPdf}},[_c('i',{staticClass:\"far fa-file-pdf\"}),_vm._v(\" \"+_vm._s(_vm.$t('PDF Export'))+\" \")]),_c('st-button',{staticClass:\"green small text-sm mr-4\",attrs:{\"type\":\"button\",\"loading\":_vm.excelLoading},on:{\"click\":_vm.exportExcel}},[_c('i',{staticClass:\"far fa-file-pdf\"}),_vm._v(\" \"+_vm._s(_vm.$t('Excel Export'))+\" \")]),_c('st-button-round',{attrs:{\"small\":true,\"tooltip-text\":_vm.listSettings.alignLandscape ? _vm.$t('Zu Hochformat wechseln (PDF)'): _vm.$t('Zu Querformat wechseln (PDF)')},on:{\"click\":function($event){_vm.listSettings.alignLandscape = !_vm.listSettings.alignLandscape}}},[(_vm.listSettings.alignLandscape)?_c('i',{staticClass:\"fas fa-arrows-h\"}):_c('i',{staticClass:\"fas fa-arrows-v\"})]),_c('st-button-round',{attrs:{\"small\":true,\"no-margin\":true,\"crossed\":!_vm.listSettings.displayFilter,\"tooltip-text\":_vm.listSettings.displayFilter\n ? _vm.$t('Ausgewählte Filter werden im Export angezeigt, ausblenden?')\n : _vm.$t('Ausgewählte Filter sind im Export ausgeblendet, anzeigen?')},on:{\"click\":function($event){_vm.listSettings.displayFilter = !_vm.listSettings.displayFilter}}},[_c('i',{staticClass:\"far fa-filter\"})])],1),_c('div',{staticClass:\"p-4 bg-white border-t border-l border-r shadow\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.accountIsLocked ? _vm.$t('Der Account ist gesperrt') : ''),expression:\"accountIsLocked ? $t('Der Account ist gesperrt') : ''\"}]},[_c('st-button',{staticClass:\"green small mr-2 text-sm\",attrs:{\"type\":\"button\",\"disabled\":_vm.accountIsLocked},on:{\"click\":function($event){return _vm.editTimeEntry(0)}}},[_c('i',{staticClass:\"far fa-clock\"}),_vm._v(\" \"+_vm._s(_vm.$t('Neuer Zeiteintrag'))+\" \")])],1)])]),_c('div',{staticClass:\"flex flex-wrap justify-between gap-6 sm:hidden p-4 bg-white border-t border-l border-r shadow\"},[_c('div',{staticClass:\"flex flex-wrap gap-6\"},[_c('st-button',{staticClass:\"green small text-sm\",attrs:{\"type\":\"button\",\"loading\":_vm.pdfLoading},on:{\"click\":_vm.exportPdf}},[_c('i',{staticClass:\"far fa-file-pdf\"}),_vm._v(\" \"+_vm._s(_vm.$t('PDF Export'))+\" \")]),_c('st-button',{staticClass:\"green small text-sm\",attrs:{\"type\":\"button\",\"loading\":_vm.excelLoading},on:{\"click\":_vm.exportExcel}},[_c('i',{staticClass:\"far fa-file-pdf\"}),_vm._v(\" \"+_vm._s(_vm.$t('Excel Export'))+\" \")]),_c('st-button-round',{attrs:{\"small\":true,\"no-margin\":true,\"tooltip-text\":_vm.listSettings.alignLandscape ? _vm.$t('Zu Hochformat wechseln (PDF)'): _vm.$t('Zu Querformat wechseln (PDF)')},on:{\"click\":function($event){_vm.listSettings.alignLandscape = !_vm.listSettings.alignLandscape}}},[(_vm.listSettings.alignLandscape)?_c('i',{staticClass:\"fas fa-arrows-h\"}):_c('i',{staticClass:\"fas fa-arrows-v\"})]),_c('st-button-round',{attrs:{\"small\":true,\"no-margin\":true,\"crossed\":!_vm.listSettings.displayFilter,\"tooltip-text\":_vm.listSettings.displayFilter\n ? _vm.$t('Ausgewählte Filter werden im Export angezeigt, ausblenden?')\n : _vm.$t('Ausgewählte Filter sind im Export ausgeblendet, anzeigen?')},on:{\"click\":function($event){_vm.listSettings.displayFilter = !_vm.listSettings.displayFilter}}},[_c('i',{staticClass:\"far fa-filter\"})])],1),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.accountIsLocked ? _vm.$t('Der Account ist gesperrt') : ''),expression:\"accountIsLocked ? $t('Der Account ist gesperrt') : ''\"}]},[_c('st-button',{staticClass:\"green small text-sm\",attrs:{\"type\":\"button\",\"disabled\":_vm.accountIsLocked},on:{\"click\":function($event){return _vm.editTimeEntry(0)}}},[_c('i',{staticClass:\"far fa-clock\"}),_vm._v(\" \"+_vm._s(_vm.$t('Neuer Zeiteintrag'))+\" \")])],1)]),_c('div',{staticClass:\"overflow-x-auto\"},[_c('list-table',{staticStyle:{\"min-width\":\"1024px\"},attrs:{\"list-params\":_vm.params,\"list-result\":_vm.listResult,\"toggleClearedLoadingId\":_vm.toggleClearedLoadingId,\"delete-loading-id\":_vm.deleteLoadingId},on:{\"toggleClearedAll\":_vm.toggleClearedAll,\"editTimeEntry\":_vm.editTimeEntry,\"deleteItem\":_vm.deleteItem,\"toggleCleared\":_vm.toggleCleared,\"toggleDateSort\":_vm.toggleDateSort},scopedSlots:_vm._u([{key:\"header-top-right\",fn:function(){return [_c('div',{staticClass:\"flex justify-end\"},[_c('st-button-round',{attrs:{\"small\":true,\"tooltipText\":_vm.$t('Sichtbare Spalten')},on:{\"click\":_vm.openColumnEdit}},[_c('i',{staticClass:\"far fa-line-columns\"})])],1)]},proxy:true}],null,false,1455384627)})],1)]):_vm._e()])],1)]),_c('list-column-edit',{ref:\"columns\",model:{value:(_vm.listSettings),callback:function ($$v) {_vm.listSettings=$$v},expression:\"listSettings\"}}),_c('slide-in',{ref:\"settings\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-cogs mr-4\"}),_c('span',{staticClass:\"flex-grow\"},[_vm._v(_vm._s(_vm.$t('Export Einstellungen')))])]},proxy:true}])},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Seitenausrichtung (nur PDF)')))]),_c('st-select',{attrs:{\"name\":\"Ausrichtung\",\"options\":_vm.alignment,\"multiple\":false,\"labelProp\":\"text\",\"placeholder\":_vm.$t('Auswahl')},model:{value:(_vm.listSettingsWork.alignLandscape),callback:function ($$v) {_vm.$set(_vm.listSettingsWork, \"alignLandscape\", $$v)},expression:\"listSettingsWork.alignLandscape\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Filter anzeigen')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.listSettingsWork.displayFilter),callback:function ($$v) {_vm.$set(_vm.listSettingsWork, \"displayFilter\", $$v)},expression:\"listSettingsWork.displayFilter\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Ausgewählte Filter im Export anzeigen'))+\" \")])],1),_c('div',{staticClass:\"flex justify-end border-t border-gray-300 pt-4 mt-6\"},[_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancelSettings}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.saveSettings}},[_vm._v(_vm._s(_vm.$t('Übernehmen')))])],1)])]),_c('slide-in',{ref:\"savereport\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-cogs mr-4\"}),_c('span',{staticClass:\"flex-grow\"},[_vm._v(_vm._s(_vm.$t('Filter speichern')))])]},proxy:true}])},[_c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.saveListPreset.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var invalid = ref.invalid;\nreturn [_c('st-input2',{staticClass:\"mt-6\",attrs:{\"label\":_vm.$t('Name des Filters'),\"name\":\"Name\",\"type\":\"text\",\"rules\":\"required\",\"id\":\"reportName\"},model:{value:(_vm.currentReport.name),callback:function ($$v) {_vm.$set(_vm.currentReport, \"name\", $$v)},expression:\"currentReport.name\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Standard'))+\" \"),_c('st-explanation',{staticClass:\"ml-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Dieser Filter wird beim Öffnen der Seite \"Liste\" automatisch angezeigt.'))+\" \")])],1),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.currentReport.isDefault),callback:function ($$v) {_vm.$set(_vm.currentReport, \"isDefault\", $$v)},expression:\"currentReport.isDefault\"}},[_vm._v(_vm._s(_vm.$t('Als Standardfilter festlegen')))])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Filter freigeben')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.currentReport.isExternalAccess),callback:function ($$v) {_vm.$set(_vm.currentReport, \"isExternalAccess\", $$v)},expression:\"currentReport.isExternalAccess\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Filter für den externen Zugriff freigeben'))+\" \")])],1),_c('div',{staticClass:\"flex justify-end border-t border-gray-300 pt-4 mt-6\"},[_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancelListPreset}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"disabled\":invalid,\"loading\":_vm.saveListPresetLoading}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")])],1)])]}}])})],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filter-group flex-grow\"},[_c('div',{staticClass:\"filter-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('Gruppierung'))+\" \")]),_c('div',{staticClass:\"filter-control gap-x-8 flex-wrap md:flex-nowrap gap-y-8 md:gap-y-0\"},[_c('div',{staticClass:\"md:mr-4 w-60\"},[(!_vm.dateGroupingEnabled)?_c('st-button',{staticClass:\"small w-full toggle\",staticStyle:{\"height\":\"34.5px\"},on:{\"click\":_vm.enableDateGrouping}},[_vm._v(\" \"+_vm._s(_vm.$t('Datum'))+\" \")]):_vm._e(),(_vm.dateGroupingEnabled)?_c('st-select',{ref:\"dateGroup\",staticStyle:{\"width\":\"200px\"},attrs:{\"options\":_vm.dateGroupingOptions,\"labelProp\":\"label\",\"placeholder\":\"Datum nicht gruppieren\"},model:{value:(_vm.dateGrouping),callback:function ($$v) {_vm.dateGrouping=$$v},expression:\"dateGrouping\"}}):_vm._e()],1),(_vm.useProjectTimeTracking)?[_c('st-button',{staticClass:\"small toggle w-60 md:w-auto\",class:{ active: _vm.isCustomerGrouped },staticStyle:{\"height\":\"34.5px\"},on:{\"click\":function($event){return _vm.toggleGroup('customer')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Kunde'))+\" \")]),_c('st-button',{staticClass:\"small toggle w-60 md:w-auto\",class:{ active: _vm.isProjectGrouped },staticStyle:{\"height\":\"34.5px\"},on:{\"click\":function($event){return _vm.toggleGroup('project')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Projekt'))+\" \")])]:_vm._e(),_c('st-button',{staticClass:\"small toggle w-60 md:w-auto\",class:{ active: _vm.isAppUserGrouped },staticStyle:{\"height\":\"34.5px\"},on:{\"click\":function($event){return _vm.toggleGroup('user')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Benutzer'))+\" \")]),(_vm.useProjectTimeTracking)?_c('st-button',{staticClass:\"small toggle w-60 md:w-auto\",class:{ active: _vm.isProjectTaskGrouped },staticStyle:{\"height\":\"34.5px\"},on:{\"click\":function($event){return _vm.toggleGroup('projecttask')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Leistung'))+\" \")]):_vm._e(),_c('div',{staticClass:\"md:ml-4\"},[(_vm.isGrouped)?_c('st-toggle',{attrs:{\"type\":\"right\",\"name\":\"Details anzeigen\"},on:{\"input\":_vm.applyGrouping},model:{value:(_vm.groupingModel.details),callback:function ($$v) {_vm.$set(_vm.groupingModel, \"details\", $$v)},expression:\"groupingModel.details\"}},[_vm._v(_vm._s(_vm.$t('Details anzeigen')))]):_vm._e()],1)],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport { TimeEntryGroupingModel } from '@/services/api/nswag/stapiclient_generated';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport { UserStore } from \"@/store/user-module\";\n\n@Component({\n components: { StInput2 },\n})\nexport default class TimeEntryFilterComponent extends Vue {\n @Prop() groupingModel!: TimeEntryGroupingModel;\n\n dateGroupingEnabledInternal = false;\n\n async mounted() {\n if (!this.groupingModel) {\n this.groupingModel = TimeEntryGroupingModel.fromJS({});\n }\n }\n\n get useProjectTimeTracking(){\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\n }\n\n get isDayGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"EntryDate\") ?? false;\n }\n\n set isDayGrouped(data: boolean){\n this.toggleGroupInModel(this.isDayGrouped, data, \"EntryDate\");\n }\n\n get isWeekGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"EntryWeek\") ?? false;\n }\n\n set isWeekGrouped(data: boolean){\n this.toggleGroupInModel(this.isWeekGrouped, data, \"EntryWeek\");\n }\n\n get isMonthGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"EntryMonth\") ?? false;\n }\n\n set isMonthGrouped(data: boolean){\n this.toggleGroupInModel(this.isMonthGrouped, data, \"EntryMonth\");\n }\n\n get isYearGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"EntryYear\") ?? false;\n }\n\n set isYearGrouped(data: boolean){\n this.toggleGroupInModel(this.isYearGrouped, data, \"EntryYear\");\n }\n\n get isCustomerGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"CustomerName\") ?? false;\n }\n\n set isCustomerGrouped(data: boolean){\n this.toggleGroupInModel(this.isCustomerGrouped, data, \"CustomerName\");\n }\n\n get isProjectGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"ProjectName\") ?? false;\n }\n\n set isProjectGrouped(data: boolean){\n this.toggleGroupInModel(this.isProjectGrouped, data, \"ProjectName\");\n }\n\n get isAppUserGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"AppUserName\") ?? false;\n }\n\n set isAppUserGrouped(data: boolean){\n this.toggleGroupInModel(this.isAppUserGrouped, data, \"AppUserName\");\n }\n\n get isProjectTaskGrouped(){\n return this.groupingModel.groups?.some(x=>x == \"ProjectTaskNameNullChecked\") ?? false;\n }\n\n set isProjectTaskGrouped(data: boolean){\n this.toggleGroupInModel(this.isProjectTaskGrouped, data, \"ProjectTaskNameNullChecked\");\n }\n\n toggleGroupInModel(oldVal: boolean, newVal: boolean, key: string){\n if(!this.groupingModel.groups){\n this.groupingModel.groups = [];\n }\n if(oldVal && !newVal){\n this.groupingModel.groups.splice(this.groupingModel.groups.indexOf(key), 1);\n }\n\n if(!oldVal && newVal){\n this.groupingModel.groups.push(key);\n }\n }\n\n get isGrouped() {\n return (\n this.isDayGrouped ||\n this.isWeekGrouped ||\n this.isMonthGrouped ||\n this.isYearGrouped ||\n this.isAppUserGrouped||\n this.isCustomerGrouped ||\n this.isProjectGrouped ||\n this.isProjectTaskGrouped\n );\n }\n\n get dateGroupingOptions() {\n return [\n {\n value: 'none',\n label: this.$t('Nicht gruppieren'),\n },\n {\n value: 'day',\n label: this.$t('Tag'),\n },\n {\n value: 'week',\n label: this.$t('Woche'),\n },\n\n {\n value: 'month',\n label: this.$t('Monat'),\n },\n\n {\n value: 'year',\n label: this.$t('Jahr'),\n },\n ];\n }\n\n get dateGrouping() {\n if (this.isDayGrouped) return 'day';\n\n if (this.isMonthGrouped) return 'month';\n\n if (this.isWeekGrouped) return 'week';\n\n if (this.isYearGrouped) return 'year';\n\n return 'none';\n }\n\n set dateGrouping(val: any) {\n switch (val) {\n case 'day':\n this.isDayGrouped = true;\n this.isWeekGrouped = false;\n this.isMonthGrouped = false;\n this.isYearGrouped = false;\n break;\n case 'week':\n this.isDayGrouped = false;\n this.isWeekGrouped = true;\n this.isMonthGrouped = false;\n this.isYearGrouped = false;\n break;\n case 'month':\n this.isDayGrouped = false;\n this.isWeekGrouped = false;\n this.isMonthGrouped = true;\n this.isYearGrouped = false;\n break;\n case 'year':\n this.isDayGrouped = false;\n this.isWeekGrouped = false;\n this.isMonthGrouped = false;\n this.isYearGrouped = true;\n break;\n case 'none':\n this.isDayGrouped = false;\n this.isWeekGrouped = false;\n this.isMonthGrouped = false;\n this.isYearGrouped = false;\n this.dateGroupingEnabledInternal = false;\n break;\n }\n\n this.applyGrouping();\n }\n\n get dateGroupingEnabled(): boolean {\n return this.isDayGrouped || this.isWeekGrouped || this.isMonthGrouped || this.isYearGrouped || this.dateGroupingEnabledInternal;\n }\n\n async enableDateGrouping() {\n this.dateGroupingEnabledInternal = true;\n await this.$nextTick();\n (this.$refs.dateGroup as any).open();\n }\n\n toggleGroup(groupName: string) {\n switch (groupName) {\n case 'day':\n this.isDayGrouped = !this.isDayGrouped;\n this.isWeekGrouped = false;\n this.isMonthGrouped = false;\n this.isYearGrouped = false;\n break;\n case 'week':\n this.isDayGrouped = false;\n this.isWeekGrouped = !this.isWeekGrouped;\n this.isMonthGrouped = false;\n this.isYearGrouped = false;\n break;\n case 'month':\n this.isDayGrouped = false;\n this.isWeekGrouped = false;\n this.isMonthGrouped = !this.isMonthGrouped;\n this.isYearGrouped = false;\n break;\n case 'year':\n this.isDayGrouped = false;\n this.isWeekGrouped = false;\n this.isMonthGrouped = false;\n this.isYearGrouped = !this.isYearGrouped;\n break;\n case 'customer':\n this.isCustomerGrouped = !this.isCustomerGrouped;\n break;\n case 'user':\n this.isAppUserGrouped = !this.isAppUserGrouped;\n break;\n case 'project':\n this.isProjectGrouped = !this.isProjectGrouped;\n break;\n case 'projecttask':\n this.isProjectTaskGrouped = !this.isProjectTaskGrouped;\n break;\n case 'details':\n this.groupingModel.details = !this.groupingModel.details;\n break;\n }\n\n this.applyGrouping();\n }\n\n @Emit('input')\n applyGrouping() {\n return this.groupingModel;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryGrouper.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryGrouper.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntryGrouper.vue?vue&type=template&id=0750ffee&\"\nimport script from \"./TimeEntryGrouper.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntryGrouper.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimeEntryGrouper.vue?vue&type=style&index=0&id=0750ffee&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticClass:\"st-table text-sm\",class:{ export: _vm.isExport }},[(!_vm.isExport)?_c('colgroup',[_c('col',{staticStyle:{\"width\":\"25px\"}}),_c('col',{staticStyle:{\"width\":\"70px\"}})]):_vm._e(),_c('thead',[_c('tr',[(!_vm.isExport)?_c('th',[(_vm.canClearEntries)?_c('v-popover',{attrs:{\"open\":_vm.showLockAll,\"placement\":'right',\"trigger\":'manual',\"offset\":\"0\"}},[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Alle Zeiteinträge abschließen / öffnen')),expression:\"$t('Alle Zeiteinträge abschließen / öffnen')\"}],staticClass:\"far fa-lg fa-lock-alt ml-2 cursor-pointer\",on:{\"click\":function($event){$event.stopPropagation();_vm.showLockAll = !_vm.showLockAll}}}),_c('template',{slot:\"popover\"},[_c('div',{staticClass:\"bg-white p-4 rounded-md text-base\"},[_c('div',{staticClass:\"flex flex-col\"},[_c('st-button',{staticClass:\"small blue w-full mb-2 text-center\",on:{\"click\":function($event){return _vm.toggleClearedAll(true)}}},[_c('i',{staticClass:\"fa fa-lock-alt mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Alle Zeiteinträge als abgeschlossen markieren'))+\" \")]),_c('st-button',{staticClass:\"small green w-full text-center\",on:{\"click\":function($event){return _vm.toggleClearedAll(false)}}},[_c('i',{staticClass:\"far fa-unlock-alt mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Alle Zeiteinträge als offen markieren'))+\" \")])],1)])])],2):[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Keine Berechtigung')),expression:\"$t('Keine Berechtigung')\"}],staticClass:\"far fa-lg fa-lock-alt ml-2\"})]],2):_vm._e(),_vm._l((_vm.numberOfReducingGroups),function(n){return _c('th',{key:n})}),(_vm.displayDateColumn)?_c('th',[_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":_vm.toggleSortDateAscending}},[_c('span',[_vm._v(_vm._s(_vm.$t('Datum')))]),(!_vm.isExport)?[(_vm.sortDateAscending)?_c('i',{staticClass:\"far fa-sort-numeric-up text-base ml-2\"}):_c('i',{staticClass:\"far fa-sort-numeric-down-alt text-base ml-2\"})]:_vm._e()],2)]):_vm._e(),(!_vm.grouping.customer && _vm.columnIsVisible('customer'))?_c('th',{style:({ width: _vm.getColumnWidth('customer') })},[_vm._v(\" \"+_vm._s(_vm.$t('Kunde'))+\" \")]):_vm._e(),(!_vm.grouping.project && _vm.columnIsVisible('project'))?_c('th',{style:({ width: _vm.getColumnWidth('project') })},[_vm._v(\" \"+_vm._s(_vm.$t('Projekt'))+\" \")]):_vm._e(),(!_vm.grouping.user && _vm.columnIsVisible('appuser'))?_c('th',{style:({ width: _vm.getColumnWidth('appuser') })},[_vm._v(\" \"+_vm._s(_vm.$t('Mitarbeiter'))+\" \")]):_vm._e(),(!_vm.grouping.projectTask && _vm.columnIsVisible('projecttask'))?_c('th',{style:({ width: _vm.getColumnWidth('projecttask') })},[_vm._v(_vm._s(_vm.$t('Leistung'))+\" \")]):_vm._e(),(_vm.columnIsVisible('rate'))?_c('th',{style:({ width: _vm.getColumnWidth('rate') })},[_vm._v(_vm._s(_vm.$t('Stundensatz')))]):_vm._e(),(_vm.columnIsVisible('description'))?_c('th',{style:({ width: _vm.getColumnWidth('description') })},[_vm._v(\" \"+_vm._s(_vm.$t('Beschreibung / Details'))+\" \")]):_vm._e(),(_vm.columnIsVisible('timefromtocol'))?_c('th',{style:({ width: _vm.getColumnWidth('timefromtocol') })},[_vm._v(\" \"+_vm._s(_vm.$t('Zeit von-bis'))+\" \")]):_vm._e(),(_vm.columnIsVisible('labelscol'))?_c('th',{style:({ width: _vm.getColumnWidth('labelscol') })},[_vm._v(_vm._s(_vm.$t('Kategorien'))+\" \")]):_vm._e(),_vm._l((_vm.listResult.extraFieldHeaderColumns),function(item){return (_vm.extraFieldColumnIsVisible(item.id))?_c('th',{key:item.name,style:({ width: _vm.getExtraFieldColumnWidth(item.id) })},[_vm._v(\" \"+_vm._s(item.name)+\" \")]):_vm._e()}),_vm._l((_vm.listResult.extraFieldSumHeaderColumns),function(item){return (_vm.extraFieldColumnIsVisible(item.id))?_c('th',{key:item.name,staticClass:\"text-right\",style:({ width: _vm.getExtraFieldColumnWidth(item.id) })},[_vm._v(\" \"+_vm._s(item.name)+\" \")]):_vm._e()}),(_vm.columnIsVisible('duration'))?_c('th',{staticClass:\"text-right\",staticStyle:{\"width\":\"100px\"}},[_vm._v(_vm._s(_vm.$t('Dauer')))]):_vm._e(),(_vm.columnIsVisible('revenue'))?_c('th',{staticClass:\"text-right\",staticStyle:{\"width\":\"100px\"}},[_vm._v(_vm._s(_vm.$t('Umsatz')))]):_vm._e(),(!_vm.isExport)?_c('th',[_vm._t(\"header-top-right\")],2):_vm._e()],2)]),_c('tbody',[(!_vm.pageIsChanging)?[_vm._l((_vm.pagedRows),function(resultRow,index){return [(resultRow)?[(resultRow.isSum)?_c('tr',{key:index,staticClass:\"sum\"},[_vm._l((_vm.numberOfReducingGroups),function(n){return _c('td',{key:n})}),(!_vm.isExport)?_c('td'):_vm._e(),(_vm.displayDateColumn)?_c('td'):_vm._e(),(!_vm.grouping.customer && _vm.columnIsVisible('customer'))?_c('td'):_vm._e(),(!_vm.grouping.project && _vm.columnIsVisible('project'))?_c('td'):_vm._e(),(!_vm.grouping.user && _vm.columnIsVisible('appuser'))?_c('td'):_vm._e(),(!_vm.grouping.projectTask && _vm.columnIsVisible('projecttask'))?_c('td'):_vm._e(),(_vm.columnIsVisible('rate'))?_c('td'):_vm._e(),(_vm.columnIsVisible('description'))?_c('td'):_vm._e(),(_vm.columnIsVisible('timefromtocol'))?_c('td'):_vm._e(),(_vm.columnIsVisible('labelscol'))?_c('td'):_vm._e(),_vm._l((_vm.listResult.extraFieldHeaderColumns),function(item){return (_vm.extraFieldColumnIsVisible(item.id))?_c('td',{key:item.name}):_vm._e()}),_vm._l((resultRow.extraFieldSumColumns),function(item){return (_vm.extraFieldColumnIsVisible(item.id))?_c('td',{key:item.name,staticClass:\"text-right font-bold\"},[(item.dataType === 'Decimal')?[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(item.sumValue))+\" \")]:[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(item.sumValue,'0'))+\" \")]],2):_vm._e()}),(_vm.columnIsVisible('duration'))?_c('td',{staticClass:\"text-right font-bold\"},[_c('div',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(resultRow.durationMinutesSum))+\" h\")]),(resultRow.durationMinutesSumNotBillable && _vm.useProjectTimeTracking)?_c('div',{staticClass:\"text-sm mt-2 justify-content-end whitespace-nowrap font-normal pl-4\"},[(!_vm.isExport)?_c('st-explanation',{staticClass:\"inline-block\"},[_vm._v(_vm._s(_vm.$t('davon nicht verrechenbar (n.v.)')))]):_vm._e(),_c('span',[(_vm.isExport)?_c('sup',[_vm._v(\"n.v.\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"durationHours\")(resultRow.durationMinutesSumNotBillable))+\" h \")])],1):_vm._e()]):_vm._e(),(_vm.columnIsVisible('revenue'))?_c('td',{staticClass:\"text-right font-bold whitespace-nowrap\"},[_c('div',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(resultRow.revenueSumBillable)))])]):_vm._e(),(!_vm.isExport)?_c('td',{staticStyle:{\"max-width\":\"20px\"}}):_vm._e()],2):_vm._e(),(resultRow.timeEntry)?_c('tr',{key:resultRow.timeEntry.id,staticClass:\"small\",class:{ 'cursor-pointer': !resultRow.timeEntry.isDisabled, 'bg-gray-300': resultRow.timeEntry.isDisabled && !_vm.isExport },on:{\"click\":function($event){return _vm.editTimeEntry(resultRow.timeEntry)}}},[(!_vm.isExport)?_c('td',[(_vm.toggleClearedLoadingId !== resultRow.timeEntry.id)?[(resultRow.timeEntry.isInvoiced)?[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t(resultRow.timeEntry.disabledReason)),expression:\"$t(resultRow.timeEntry.disabledReason)\"}],staticClass:\"far fa-lg fa-file-invoice fa-fw\"})]:[(!resultRow.timeEntry.isDisabled || resultRow.timeEntry.isCleared)?[(_vm.canClearEntries)?[(!resultRow.timeEntry.isCleared)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Zeiteintrag als abgeschlossen markieren')),expression:\"$t('Zeiteintrag als abgeschlossen markieren')\"}],staticClass:\"fa-fw far fa-lg fa-unlock-alt cursor-pointer ml-2\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleCleared(resultRow.timeEntry.id)}}}):_vm._e(),(resultRow.timeEntry.isCleared)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Zeiteintrag als offen markieren')),expression:\"$t('Zeiteintrag als offen markieren')\"}],staticClass:\"fa-fw far fa-lg fa-lock-alt cursor-pointer ml-2\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleCleared(resultRow.timeEntry.id)}}}):_vm._e()]:[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Keine Berechtigung')),expression:\"$t('Keine Berechtigung')\"}],staticClass:\"far fa-lg fa-lock-alt ml-2 fa-fw\"})]]:[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t(resultRow.timeEntry.disabledReason)),expression:\"$t(resultRow.timeEntry.disabledReason)\"}],staticClass:\"far fa-lg fa-lock-alt ml-2 fa-fw\"})]]]:_c('i',{staticClass:\"far fa-lg fa-spin fa-spinner ml-2 fa-fw\"})],2):_vm._e(),_vm._l((_vm.numberOfReducingGroups),function(n){return _c('td',{key:n})}),(_vm.displayDateColumn)?_c('td',[_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(resultRow.timeEntry.entryDate))+\" \")])]):_vm._e(),(!_vm.grouping.customer && _vm.columnIsVisible('customer'))?_c('td',[_vm._v(\" \"+_vm._s(resultRow.timeEntry.customerName)+\" \")]):_vm._e(),(!_vm.grouping.project && _vm.columnIsVisible('project'))?_c('td',[_vm._v(\" \"+_vm._s(resultRow.timeEntry.projectName)+\" \"),(resultRow.timeEntry.isFixedPrice)?_c('st-sup-badge',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Festpreisprojekt')),expression:\"$t('Festpreisprojekt')\"}]},[_vm._v(\"FP\")]):_vm._e()],1):_vm._e(),(!_vm.grouping.user && _vm.columnIsVisible('appuser'))?_c('td',[_vm._v(\" \"+_vm._s(resultRow.timeEntry.appUserName)+\" \")]):_vm._e(),(!_vm.grouping.projectTask && _vm.columnIsVisible('projecttask'))?_c('td',[_vm._v(\" \"+_vm._s(resultRow.timeEntry.projectTaskName)+\" \")]):_vm._e(),(_vm.columnIsVisible('rate'))?_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(resultRow.timeEntry.rateAmount))+\" \")]):_vm._e(),(_vm.columnIsVisible('description'))?_c('td',{staticClass:\"group relative\"},[(resultRow.timeEntry.description || _vm.columnIsVisible('timefromto') && resultRow.timeEntry.isInputTimeFromTo)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Klick zum Kopieren')),expression:\"$t('Klick zum Kopieren')\"}],staticClass:\"absolute right-0 far fa-copy hidden group-hover:inline\",on:{\"click\":function($event){$event.stopPropagation();return _vm.copyDescription($event, resultRow.timeEntry)}}}):_vm._e(),(resultRow.timeEntry.isInputTimeFromTo && _vm.columnIsVisible('timefromto'))?_c('div',{staticClass:\"font-bold flex flex-col\"},[_c('span',{staticClass:\"flex items-center\"},[_c('span',[_vm._v(_vm._s(resultRow.timeEntry.timeFrom)+\" - \"+_vm._s(resultRow.timeEntry.timeTo))]),(!resultRow.timeEntry.isValid && !_vm.isExport)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(resultRow.timeEntry.warnings.map(function (_) { return _.warning; }).join('

')),expression:\"resultRow.timeEntry.warnings.map((_) => _.warning).join('

')\"}],staticClass:\"far ml-4 mr-4\",class:{\n 'fa-info-circle': resultRow.timeEntry.maxWarningSeverity === 'Info',\n 'fa-exclamation-triangle text-yellow-400': resultRow.timeEntry.maxWarningSeverity === 'Warning',\n 'fa-exclamation-triangle text-red-400': resultRow.timeEntry.maxWarningSeverity === 'Error',\n }}):_vm._e()]),(resultRow.timeEntry.durationMinutesPause && _vm.columnIsVisible('pause'))?_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"durationHours\")(resultRow.timeEntry.durationMinutesPause))+\" h \"+_vm._s(_vm.$t('Pause'))+\")\")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"whitespace-pre-wrap\"},[_vm._v(_vm._s(resultRow.timeEntry.description)+\" \")]),_vm._l((resultRow.timeEntry.timeEntryExtraFields),function(extraField,index){return (_vm.columnIsVisible('additionalfields') && extraField.value)?_c('div',{key:index,staticClass:\"mt-2 flex flex-wrap\"},[_c('div',{staticClass:\"font-bold mr-2\"},[_vm._v(_vm._s(extraField.description)+\":\")]),(extraField.dataType === 'Rating')?_c('div',[_c('star-rating',{attrs:{\"max-rating\":6,\"star-size\":15,\"show-rating\":false,\"read-only\":true},model:{value:(extraField.value),callback:function ($$v) {_vm.$set(extraField, \"value\", $$v)},expression:\"extraField.value\"}})],1):(extraField.dataType === 'YesNo')?_c('div',[(extraField.value.toString().toLowerCase() === 'true')?_c('span',[_vm._v(_vm._s(_vm.$t('Ja')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Nein')))])]):_c('div',[_vm._v(_vm._s(extraField.value))])]):_vm._e()}),(resultRow.timeEntry.tags.length && _vm.columnIsVisible('labels'))?_c('div',{staticClass:\"mt-2 flex flex-wrap\"},_vm._l((resultRow.timeEntry.tags),function(tag){return _c('span',{key:tag.id,staticClass:\"tag small mr-2 mb-2\",class:tag.colorClass},[_vm._v(_vm._s(tag.name))])}),0):_vm._e()],2):_vm._e(),(_vm.columnIsVisible('timefromtocol'))?_c('td',[_c('div',{staticClass:\"flex flex-col\"},[_c('span',{staticClass:\"flex items-center whitespace-nowrap\"},[_c('span',[_vm._v(_vm._s(resultRow.timeEntry.timeFrom)+\" - \"+_vm._s(resultRow.timeEntry.timeTo))]),(!resultRow.timeEntry.isValid && !_vm.isExport)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(resultRow.timeEntry.warnings.map(function (_) { return _.warning; }).join('

')),expression:\"resultRow.timeEntry.warnings.map((_) => _.warning).join('

')\"}],staticClass:\"far ml-4 mr-4\",class:{\n 'fa-info-circle': resultRow.timeEntry.maxWarningSeverity === 'Info',\n 'fa-exclamation-triangle text-yellow-400': resultRow.timeEntry.maxWarningSeverity === 'Warning',\n 'fa-exclamation-triangle text-red-400': resultRow.timeEntry.maxWarningSeverity === 'Error',\n }}):_vm._e()]),(resultRow.timeEntry.durationMinutesPause && _vm.columnIsVisible('pause'))?_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"durationHours\")(resultRow.timeEntry.durationMinutesPause))+\" h \"+_vm._s(_vm.$t('Pause'))+\")\")]):_vm._e()])]):_vm._e(),(_vm.columnIsVisible('labelscol'))?_c('td',[_c('div',{staticClass:\"mt-2 flex flex-wrap\"},_vm._l((resultRow.timeEntry.tags),function(tag){return _c('span',{key:tag.id,staticClass:\"tag small mr-2 mb-2\",class:tag.colorClass},[_vm._v(_vm._s(tag.name))])}),0)]):_vm._e(),_vm._l((_vm.listResult.extraFieldHeaderColumns),function(item){return (_vm.extraFieldColumnIsVisible(item.id))?_c('td',{key:item.name},[_vm._v(\" \"+_vm._s(_vm.getExtraFieldValue(resultRow, item.name))+\" \")]):_vm._e()}),_vm._l((_vm.listResult.extraFieldSumHeaderColumns),function(item){return (_vm.extraFieldColumnIsVisible(item.id))?_c('td',{key:item.name,staticClass:\"text-right\"},[(_vm.getExtraFieldDataType(resultRow, item.name) === 'Decimal')?[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.getExtraFieldValue(resultRow, item.name)))+\" \")]:[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.getExtraFieldValue(resultRow, item.name),'0'))+\" \")]],2):_vm._e()}),(_vm.columnIsVisible('duration'))?_c('td',{staticClass:\"text-right\"},[(!resultRow.timeEntry.isBillable)?_c('sup',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('nicht verrechenbar')),expression:\"$t('nicht verrechenbar')\"}]},[_vm._v(_vm._s(_vm.$t('n.v.')))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"durationHours\")(resultRow.timeEntry.durationMinutes))+\" \")]):_vm._e(),(_vm.columnIsVisible('revenue'))?_c('td',{staticClass:\"text-right whitespace-nowrap\",class:{ 'strikethrough-dotted': !resultRow.timeEntry.isBillable }},[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(resultRow.timeEntry.revenue))+\" \")]):_vm._e(),(!_vm.isExport)?_c('td',[_c('div',{staticClass:\"flex items-center justify-end flex-nowrap pr-2\"},[_c('st-button-round',{attrs:{\"small\":true,\"tooltipText\":resultRow.timeEntry.isDisabled ? _vm.$t(resultRow.timeEntry.disabledReason) : _vm.$t('Bearbeiten'),\"disabled\":resultRow.timeEntry.isDisabled},on:{\"click\":function($event){return _vm.editTimeEntry(resultRow.timeEntry)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-button-round',{attrs:{\"small\":true,\"loading\":_vm.deleteLoadingId === resultRow.timeEntry.id,\"tooltipText\":resultRow.timeEntry.isDisabled ? _vm.$t(resultRow.timeEntry.disabledReason) : _vm.$t('Löschen'),\"disabled\":resultRow.timeEntry.isDeleteDisabled},on:{\"click\":function($event){return _vm.deleteItem(resultRow.timeEntry.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)]):_vm._e()],2):_vm._e(),(!resultRow.timeEntry && !resultRow.isSum)?_c('tr',{key:index,staticClass:\"st-table-group\"},[_c('td',{attrs:{\"colspan\":_vm.groupColSpan}},[_c('div',{class:{\n firstoflevel: true,\n group: true,\n level1: resultRow.level === 1,\n level2: resultRow.level === 2,\n level3: resultRow.level === 3,\n level4: resultRow.level === 4,\n level5: resultRow.level === 5,\n }},[_vm._v(\" \"+_vm._s(resultRow.group)+\" \")])]),_vm._l((resultRow.extraFieldSumColumns),function(item){return (_vm.extraFieldColumnIsVisible(item.id))?_c('td',{key:item.name,staticClass:\"text-right whitespace-nowrap\"},[_c('div',{class:{\n group: true,\n level1: resultRow.level === 1,\n level2: resultRow.level === 2,\n level3: resultRow.level === 3,\n level4: resultRow.level === 4,\n level5: resultRow.level === 5,\n }},[(item.dataType === 'Decimal')?[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(item.sumValue))+\" \")]:[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(item.sumValue,'0'))+\" \")]],2)]):_vm._e()}),(_vm.columnIsVisible('duration'))?_c('td',{staticClass:\"text-right whitespace-nowrap\"},[_c('div',{class:{\n group: true,\n level1: resultRow.level === 1,\n level2: resultRow.level === 2,\n level3: resultRow.level === 3,\n level4: resultRow.level === 4,\n level5: resultRow.level === 5,\n }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHours\")(resultRow.durationMinutesSum))+\" \")])]):_vm._e(),(_vm.columnIsVisible('revenue'))?_c('td',{staticClass:\"text-right whitespace-nowrap\"},[_c('div',{class:{\n lastoflevel: true,\n group: true,\n level1: resultRow.level === 1,\n level2: resultRow.level === 2,\n level3: resultRow.level === 3,\n level4: resultRow.level === 4,\n level5: resultRow.level === 5,\n }},[_vm._v(\" \"+_vm._s(_vm._f(\"amountCurrency\")(resultRow.revenueSumBillable))+\" \")])]):_vm._e(),(!_vm.isExport)?_c('td',[_c('span',{staticClass:\"inline-block w-full\",class:{\n lastoflevel: true,\n group: true,\n level1: resultRow.level === 1,\n level2: resultRow.level === 2,\n level3: resultRow.level === 3,\n level4: resultRow.level === 4,\n level5: resultRow.level === 5,\n }},[_vm._v(\" ‌ \")])]):_vm._e()],2):_vm._e()]:_vm._e()]})]:_vm._e(),(_vm.pager)?[_c('list-pager',{attrs:{\"value\":_vm.page,\"pager\":_vm.pager},on:{\"input\":_vm.changePage}})]:_vm._e()],2),(_vm.isExport && _vm.useProjectTimeTracking && _vm.containsNotBillableEntries)?_c('tfoot',[_c('tr',[_c('td',{staticClass:\"text-right\",attrs:{\"colspan\":\"999\"}},[_vm._v(_vm._s(_vm.$t('n.v. = nicht verrechenbar')))])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { IResultRow } from '@/services/api/nswag/stapiclient_generated';\r\n\r\nexport class PagerRow {\r\n totalItems?: number;\r\n page?: number;\r\n remainingItems?: number;\r\n visibleItems?: number;\r\n totalPages?: number;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"colspan\":\"100\"}},[_c('div',{staticClass:\"font-bold text-center cursor-pointer p-4 flex items-center justify-center\"},[_c('div',{staticClass:\"flex items-center\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Erste Seite')),expression:\"$t('Erste Seite')\"}],staticClass:\"p-2\",class:{ 'text-gray-400': _vm.value === 1 },on:{\"click\":_vm.firstPage}},[_c('i',{staticClass:\"far fa-angle-double-left fa-2x mr-2\"})]),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Vorherige Seite')),expression:\"$t('Vorherige Seite')\"}],staticClass:\"p-2\",class:{ 'text-gray-400': _vm.value === 1 },on:{\"click\":_vm.previousPage}},[_c('i',{staticClass:\"far fa-angle-left fa-2x mr-4\"})]),_c('div',[_vm._v(_vm._s(_vm.$t('Gesamt'))+\" \"+_vm._s(_vm.pager.totalItems)+\" \"+_vm._s(_vm.$t('Zeilen'))+\", \"+_vm._s(_vm.$t('Seite'))+\" \"+_vm._s(_vm.value)+\" \"+_vm._s(_vm.$t('von'))+\" \"+_vm._s(_vm.pager.totalPages))]),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Nächste Seite')),expression:\"$t('Nächste Seite')\"}],staticClass:\"p-2\",class:{ 'text-gray-400': _vm.value === _vm.pager.totalPages },on:{\"click\":_vm.nextPage}},[_c('i',{staticClass:\"far fa-angle-right fa-2x ml-4\"})]),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Letzte Seite')),expression:\"$t('Letzte Seite')\"}],staticClass:\"p-2\",class:{ 'text-gray-400': _vm.value === _vm.pager.totalPages },on:{\"click\":_vm.lastPage}},[_c('i',{staticClass:\"far fa-angle-double-right fa-2x ml-2\"})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport { PagerRow } from '@/views/List/listrow';\n\n@Component({\n components: {},\n})\nexport default class ListPager extends Vue {\n @Prop() value!: number;\n @Prop() pager!: PagerRow;\n\n @Emit('input')\n nextPage() {\n if (this.value == this.pager.totalPages)\n return this.value;\n\n return this.value + 1;\n }\n\n @Emit('input')\n previousPage() {\n if (this.value == 1)\n return this.value;\n\n return this.value - 1;\n }\n\n @Emit('input')\n firstPage() {\n if (this.value == 1)\n return this.value;\n return 1;\n }\n\n @Emit('input')\n lastPage() {\n if (this.value == this.pager.totalPages)\n return this.value;\n\n return this.pager.totalPages;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPager.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPager.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListPager.vue?vue&type=template&id=64a32e21&\"\nimport script from \"./ListPager.vue?vue&type=script&lang=ts&\"\nexport * from \"./ListPager.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\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\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Emit, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { ListParameters, ListResult, ResultRow, TimeEntryViewModel } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { PagerRow } from \"@/views/List/listrow\";\r\nimport ListPager from \"@/views/List/ListPager.vue\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport StarRating from \"vue-star-rating\";\r\nimport StBadge from \"@/components/basic/StBadge.vue\";\r\nimport StSupBadge from \"@/components/basic/StSupBadge.vue\";\r\nimport {notifyError, notifySuccess} from '@/utlitities/notifications';\r\nimport {DateTime} from 'luxon';\r\n\r\n@Component({\r\n components: { StSupBadge, StBadge, ListPager, StarRating }\r\n})\r\nexport default class ListTable extends Vue {\r\n @Prop() listParams?: ListParameters;\r\n @Prop() listResult?: ListResult;\r\n @Prop() isExport!: boolean;\r\n @Prop() toggleClearedLoadingId!: number;\r\n @Prop() deleteLoadingId!: number;\r\n\r\n queryParams: ListParameters = ListParameters.fromJS({ filter: {}, grouping: {}, listSettingsModel: {} });\r\n queryResult: ListResult = ListResult.fromJS({ rows: [] });\r\n\r\n page: number = 1;\r\n pageSize: number = 50;\r\n pageIsChanging: boolean = false;\r\n\r\n private showLockAll: boolean = false;\r\n\r\n @Watch(\"listParams\")\r\n changeListParams() {\r\n this.page = 1;\r\n }\r\n\r\n async changePage(value: number) {\r\n this.pageIsChanging = true;\r\n await this.$nextTick();\r\n this.page = value;\r\n this.pageIsChanging = false;\r\n }\r\n\r\n get useProjectTimeTracking(){\r\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\r\n }\r\n\r\n getExtraFieldDataType(row: ResultRow, extraFieldName: string) {\r\n return row.timeEntry?.timeEntryExtraFields?.find((x) => x.description == extraFieldName)?.dataType;\r\n }\r\n\r\n getExtraFieldValue(row: ResultRow, extraFieldName: string) {\r\n let extraField = row.timeEntry?.timeEntryExtraFields?.find((x) => x.description == extraFieldName);\r\n let value = extraField?.value;\r\n if (value && extraField?.dataType === \"YesNo\") {\r\n return value.toLowerCase() === \"true\" ? this.$t(\"Ja\") : this.$t(\"Nein\");\r\n }\r\n\r\n return value;\r\n }\r\n\r\n getExtraFieldColumnWidth(id: number) {\r\n const res = this.listParams?.listSettingsModel?.extraFieldColumnLayout?.find((x) => x.id == id)?.width;\r\n\r\n if (!res) {\r\n return \"auto\";\r\n }\r\n\r\n return res + \"%\";\r\n }\r\n\r\n getColumnWidth(column: string) {\r\n const res = this.listParams?.listSettingsModel?.columnLayout?.find((x) => x.columnName == column)?.width;\r\n\r\n if (!res) {\r\n return \"auto\";\r\n }\r\n\r\n return res + \"%\";\r\n }\r\n\r\n get canViewRates() {\r\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\r\n }\r\n\r\n get canClearEntries() {\r\n return UserStore.userSettings.CanClearEntries;\r\n }\r\n\r\n get params(): ListParameters {\r\n return this.listParams ?? this.queryParams;\r\n }\r\n\r\n get sortDateAscending() {\r\n return this.listSettings?.sortDateAscending;\r\n }\r\n\r\n @Emit(\"toggleDateSort\")\r\n toggleSortDateAscending() {\r\n return;\r\n }\r\n\r\n get pagedRows(): ResultRow[] {\r\n if (!this.result.rows || !this.result.rows.length) return [];\r\n\r\n let contentRows = this.result.rows.filter((_) => !_.isSum);\r\n\r\n let startIndex = this.isExport ? 0 : (this.page - 1) * this.pageSize;\r\n let endIndex = this.isExport ? contentRows.length : this.page * this.pageSize;\r\n\r\n let rows = contentRows.slice(startIndex, endIndex).map((_) => {\r\n return _;\r\n });\r\n\r\n //Summenzeile immer am Anfang und am Ende einfügen\r\n rows.unshift(this.result.rows[0]);\r\n rows.push(this.result.rows[0]);\r\n\r\n return rows;\r\n }\r\n\r\n get containsNotBillableEntries(): boolean {\r\n let sumRows = this.result.rows.filter(_=>_.isSum);\r\n if (sumRows.length)\r\n {\r\n return sumRows[0].durationMinutesSumNotBillable != 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get pager(): PagerRow | null {\r\n if (this.pagedRows.length == this.result.rows!.length) {\r\n return null;\r\n }\r\n\r\n let pagerRow = new PagerRow();\r\n pagerRow.page = this.page;\r\n pagerRow.visibleItems = this.pagedRows.length - 2;\r\n pagerRow.totalItems = this.result.rows!.length - 2;\r\n pagerRow.remainingItems = 2;\r\n pagerRow.totalPages = Math.ceil((this.result.rows!.length - 2) / this.pageSize);\r\n\r\n return pagerRow;\r\n }\r\n\r\n get result(): ListResult {\r\n return this.listResult ?? this.queryResult;\r\n }\r\n\r\n get filter() {\r\n return this.params.filter;\r\n }\r\n\r\n get grouping() {\r\n return this.params.grouping;\r\n }\r\n\r\n get listSettings() {\r\n return this.params.listSettingsModel;\r\n }\r\n\r\n get displayDateColumn(): boolean {\r\n if (!this.grouping) {\r\n return true;\r\n }\r\n\r\n if (!this.grouping.day && !this.grouping.week && !this.grouping.month && !this.grouping.year && this.columnIsVisible(\"date\")) {\r\n return true;\r\n }\r\n\r\n return !!(!this.grouping.day && (this.grouping.week || this.grouping.month || this.grouping.year) && this.columnIsVisible(\"date\"));\r\n }\r\n\r\n get numberOfReducingGroups(): number {\r\n let number = 0;\r\n\r\n if (this.grouping?.day || this.grouping?.week || this.grouping?.month || this.grouping?.year) {\r\n number++;\r\n }\r\n if (this.grouping?.customer) {\r\n number++;\r\n }\r\n if (this.grouping?.project) {\r\n number++;\r\n }\r\n if (this.grouping?.user) {\r\n number++;\r\n }\r\n if (this.grouping?.projectTask) {\r\n number++;\r\n }\r\n\r\n return number;\r\n }\r\n\r\n get groupColSpan(): number {\r\n let colspan = this.isExport ? 9 : 10; //Maximalausprägung bei 5 Gruppen\r\n\r\n if (!this.columnIsVisible(\"projecttask\") && !this.grouping?.projectTask) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"project\") && !this.grouping?.project) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"customer\") && !this.grouping?.customer) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"appuser\") && !this.grouping?.user) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"date\") && !this.grouping?.day && !this.grouping?.week && !this.grouping?.month && !this.grouping?.year) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"description\")) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"rate\")) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"timefromtocol\")) {\r\n colspan--;\r\n }\r\n\r\n if (!this.columnIsVisible(\"labelscol\")) {\r\n colspan--;\r\n }\r\n\r\n this.listResult?.extraFieldHeaderColumns?.forEach((x) => {\r\n if (this.extraFieldColumnIsVisible(x.id!)) {\r\n colspan++;\r\n }\r\n });\r\n\r\n return colspan;\r\n }\r\n\r\n @Emit(\"toggleCleared\")\r\n toggleCleared(id: number) {\r\n return id;\r\n }\r\n\r\n @Emit(\"toggleClearedAll\")\r\n toggleClearedAll(newvalue: boolean) {\r\n this.showLockAll = false;\r\n return newvalue;\r\n }\r\n\r\n editTimeEntry(entry: TimeEntryViewModel) {\r\n if (!entry.isDisabled) {\r\n this.$emit(\"editTimeEntry\", entry.id);\r\n }\r\n }\r\n\r\n @Emit(\"deleteItem\")\r\n deleteItem(id: number) {\r\n return id;\r\n }\r\n\r\n extraFieldColumnIsVisible(id: number): boolean {\r\n return this.listSettings?.visibleExtraFieldIds?.some((x) => x == id) ?? false;\r\n }\r\n\r\n columnIsVisible(column: string): boolean {\r\n if ((column == \"rate\" || column == \"revenue\") && !this.canViewRates) {\r\n return false;\r\n }\r\n\r\n if (this.listSettings?.hiddenColumns?.length && this.listSettings.hiddenColumns.indexOf(column) !== -1) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n copyDescription(event: PointerEvent, timeEntry: TimeEntryViewModel, withModifier: boolean = false)\r\n {\r\n let copyText = '';\r\n\r\n if (event.ctrlKey)\r\n {\r\n copyText += DateTime.fromISO(timeEntry.entryDate).toFormat(\"dd.MM.yyyy\") + '\\n';\r\n }\r\n\r\n if (timeEntry.isInputTimeFromTo && this.columnIsVisible('timefromto'))\r\n {\r\n copyText += timeEntry.timeFrom + ' - ' + timeEntry.timeTo + '\\n';\r\n }\r\n\r\n copyText += timeEntry.description ?? '';\r\n\r\n if (navigator && navigator.clipboard && navigator.clipboard.writeText) {\r\n navigator.clipboard.writeText(copyText);\r\n notifySuccess(this.$t('Beschreibung kopiert').toString());\r\n } else {\r\n notifyError('Fehler beim kopieren')\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListTable.vue?vue&type=template&id=58c05dde&\"\nimport script from \"./ListTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ListTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('slide-in',{ref:\"slideIn\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-line-columns mr-4\"}),_c('span',{staticClass:\"flex-grow\"},[_vm._v(_vm._s(_vm.$t('Sichtbare Spalten')))])]},proxy:true}])},[_c('div',{staticClass:\"flex justify-end w-full pr-8\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Spaltenbreite')))])]),_vm._l((_vm.columns),function(col){return _c('div',{key:col.id,staticClass:\"st-list-item-open border border-gray-300 flex justify-between w-full\",class:{'cursor-pointer items-center': !_vm.isSpecialCol(col.id)},on:{\"click\":function($event){!_vm.isSpecialCol(col.id) ? _vm.toggleColumn(col.id) : null}}},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(col.description))]),_c('div',{staticClass:\"flex justify-end items-center\"},[_c('div',{staticClass:\"flex flex-col items-end gap-y-6\"},[(!_vm.isSpecialCol(col.id))?_c('div',{staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.columnIsVisible(col.id)}}),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}},[(col.hasWidth && _vm.columnIsVisible(col.id))?_c('st-input2',{attrs:{\"small\":true,\"placeholder\":\"auto\",\"mark-on-focus\":true,\"value\":_vm.getWidth(col.id)},on:{\"input\":function($event){return _vm.setWidth($event, col.id)}},scopedSlots:_vm._u([{key:\"addon\",fn:function(){return [_vm._v(\"%\")]},proxy:true}],null,true)}):_vm._e()],1)],1):[(col.id==='timefromto')?[_c('div',{staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.columnIsVisible('timefromto')},on:{\"input\":function($event){return _vm.toggleColumn('timefromto')}}},[_vm._v(\" \"+_vm._s(_vm.$t('in Beschreibung / Details'))+\" \")]),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}})],1),_c('div',{staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.columnIsVisible('timefromtocol')},on:{\"input\":function($event){return _vm.toggleColumn('timefromtocol')}}},[_vm._v(\" \"+_vm._s(_vm.$t('eigene Spalte'))+\" \")]),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.columnIsVisible('timefromtocol'))?_c('st-input2',{attrs:{\"small\":true,\"placeholder\":\"auto\",\"mark-on-focus\":true,\"value\":_vm.getWidth('timefromtocol')},on:{\"input\":function($event){return _vm.setWidth($event, 'timefromtocol')}},scopedSlots:_vm._u([{key:\"addon\",fn:function(){return [_vm._v(\"%\")]},proxy:true}],null,true)}):_vm._e()],1)],1),_c('div',{staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.columnIsVisible('pause')},on:{\"input\":function($event){return _vm.toggleColumn('pause')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Pause anzeigen'))+\" \")]),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}})],1)]:_vm._e(),(col.id==='labels')?[_c('div',{staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.columnIsVisible('labels')},on:{\"input\":function($event){return _vm.toggleColumn('labels')}}},[_vm._v(\" \"+_vm._s(_vm.$t('in Beschreibung / Details'))+\" \")]),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}})],1),_c('div',{staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.columnIsVisible('labelscol')},on:{\"input\":function($event){return _vm.toggleColumn('labelscol')}}},[_vm._v(\" \"+_vm._s(_vm.$t('eigene Spalte'))+\" \")]),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.columnIsVisible('labelscol'))?_c('st-input2',{attrs:{\"small\":true,\"placeholder\":\"auto\",\"mark-on-focus\":true,\"value\":_vm.getWidth('labelscol')},on:{\"input\":function($event){return _vm.setWidth($event, 'labelscol')}},scopedSlots:_vm._u([{key:\"addon\",fn:function(){return [_vm._v(\"%\")]},proxy:true}],null,true)}):_vm._e()],1)],1)]:_vm._e(),(col.id==='additionalfields' && _vm.extraFields && _vm.extraFields.length)?[_c('div',{staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.columnIsVisible('additionalfields')},on:{\"input\":function($event){return _vm.toggleColumn('additionalfields')}}},[_vm._v(\" \"+_vm._s(_vm.$t('in Beschreibung / Details'))+\" \")]),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}})],1),_c('span',{staticClass:\"font-bold mr-32\"},[_vm._v(_vm._s(_vm.$t('Eigene Spalten für folgende Zusatzfelder')))]),_vm._l((_vm.extraFields),function(field){return _c('div',{key:field.id,staticClass:\"flex\"},[_c('st-toggle',{attrs:{\"value\":_vm.extraFieldColIsVisible(field.id)},on:{\"input\":function($event){return _vm.toggleExtraFieldCol(field.id)}}},[_vm._v(\" \"+_vm._s(field.description)),(_vm.isNumericExtraField(field))?_c('span',[_vm._v(\" (\"+_vm._s(_vm.$t('inkl Summe'))+\")\")]):_vm._e()]),_c('div',{staticClass:\"w-32 h-12 pl-6\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.extraFieldColIsVisible(field.id))?_c('st-input2',{attrs:{\"small\":true,\"placeholder\":\"auto\",\"mark-on-focus\":true,\"value\":_vm.getExtraFieldWidth(field.id)},on:{\"input\":function($event){return _vm.setExtraFieldWidth($event, field.id)}},scopedSlots:_vm._u([{key:\"addon\",fn:function(){return [_vm._v(\"%\")]},proxy:true}],null,true)}):_vm._e()],1)],1)})]:_vm._e()]],2)])])}),_c('p',{staticClass:\"text-sm font-bold mt-6 ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Hinweis: Spalten, nach denen gruppiert wird, werden immer angezeigt')))]),_c('div',{staticClass:\"flex justify-end border-t border-gray-300 pt-4 mt-6\"},[_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancel}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.save}},[_vm._v(_vm._s(_vm.$t('Übernehmen')))])],1)])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport {\r\n ExtraFieldColumnLayout,\r\n ListColumnLayout,\r\n TimeEntryExtraFieldDataTypeEnum,\r\n TimeEntryExtraFieldMetadataViewModel,\r\n TimeEntryListSettingsModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport { timeEntryExtraFieldMetadataClient } from \"@/services/st-api\";\r\nimport { UserStore } from \"@/store/user-module\";\r\n\r\n@Component({\r\n components: { SlideIn }\r\n})\r\nexport default class ListColumnEdit extends Vue {\r\n @Prop() value!: TimeEntryListSettingsModel;\r\n\r\n listSettings: TimeEntryListSettingsModel = TimeEntryListSettingsModel.fromJS({});\r\n extraFieldsRaw: TimeEntryExtraFieldMetadataViewModel[] = [];\r\n\r\n async mounted() {\r\n this.extraFieldsRaw = (await timeEntryExtraFieldMetadataClient.getList()) ?? [];\r\n }\r\n\r\n get extraFields() {\r\n let res = this.extraFieldsRaw.filter(x => x.dataType == TimeEntryExtraFieldDataTypeEnum.Text);\r\n\r\n res.push(...this.extraFieldsRaw.filter(x => x.dataType != TimeEntryExtraFieldDataTypeEnum.Text));\r\n\r\n return res;\r\n }\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n this.listSettings = JSON.parse(JSON.stringify(this.value));\r\n }\r\n\r\n get useProjectTimeTracking(){\r\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser;\r\n }\r\n\r\n getExtraFieldWidth(colId: number) {\r\n return this.listSettings.extraFieldColumnLayout?.find(x => x.id == colId)?.width;\r\n }\r\n\r\n setExtraFieldWidth(value: number, colId: number) {\r\n if (!value) {\r\n if (this.extraFieldColLayoutExists(colId)) {\r\n this.listSettings.extraFieldColumnLayout!.splice(this.extraFieldColLayoutIndex(colId), 1);\r\n } else {\r\n return;\r\n }\r\n } else {\r\n if (this.extraFieldColLayoutExists(colId)) {\r\n this.listSettings.extraFieldColumnLayout![this.extraFieldColLayoutIndex(colId)]!.width = value;\r\n } else {\r\n this.listSettings.extraFieldColumnLayout?.push(ExtraFieldColumnLayout.fromJS({ id: colId, width: value }));\r\n }\r\n }\r\n }\r\n\r\n extraFieldColLayoutIndex(colId: number) {\r\n return this.listSettings.extraFieldColumnLayout?.findIndex(x => x.id == colId) ?? -1;\r\n }\r\n\r\n extraFieldColLayoutExists(colId: number) {\r\n return this.extraFieldColLayoutIndex(colId) > -1;\r\n }\r\n\r\n getWidth(colId: string) {\r\n return this.listSettings.columnLayout?.find(x => x.columnName == colId)?.width;\r\n }\r\n\r\n setWidth(value: number, colId: string) {\r\n if (!value) {\r\n if (this.columnLayoutExists(colId)) {\r\n this.listSettings.columnLayout!.splice(this.columnLayoutIndex(colId), 1);\r\n } else {\r\n return;\r\n }\r\n } else {\r\n if (this.columnLayoutExists(colId)) {\r\n this.listSettings.columnLayout![this.columnLayoutIndex(colId)]!.width = value;\r\n } else {\r\n this.listSettings.columnLayout?.push(ListColumnLayout.fromJS({ columnName: colId, width: value }));\r\n }\r\n }\r\n }\r\n\r\n columnLayoutIndex(colId: string) {\r\n return this.listSettings.columnLayout?.findIndex(x => x.columnName == colId) ?? -1;\r\n }\r\n\r\n columnLayoutExists(colId: string) {\r\n return this.columnLayoutIndex(colId) > -1;\r\n }\r\n\r\n isNumericExtraField(field: TimeEntryExtraFieldMetadataViewModel) {\r\n return field.dataType == TimeEntryExtraFieldDataTypeEnum.Decimal ||\r\n field.dataType == TimeEntryExtraFieldDataTypeEnum.Integer;\r\n }\r\n\r\n extraFieldColIsVisible(colId: number) {\r\n return this.extraFieldColIndex(colId) > -1;\r\n }\r\n\r\n extraFieldColIndex(colId: number) {\r\n return this.listSettings.visibleExtraFieldIds?.findIndex(x => x == colId) ?? -1;\r\n }\r\n\r\n toggleExtraFieldCol(colId: number) {\r\n if (!this.extraFieldColIsVisible(colId)) {\r\n this.listSettings.visibleExtraFieldIds?.push(colId);\r\n } else {\r\n this.listSettings.visibleExtraFieldIds?.splice(this.extraFieldColIndex(colId), 1);\r\n }\r\n }\r\n\r\n columnIsVisible(colId: string) {\r\n return this.columnIndex(colId) == -1;\r\n }\r\n\r\n columnIndex(colId: string) {\r\n return this.listSettings.hiddenColumns?.findIndex(x => x == colId) ?? -1;\r\n }\r\n\r\n toggleColumn(colId: string) {\r\n if (this.columnIsVisible(colId)) {\r\n this.listSettings.hiddenColumns?.push(colId);\r\n } else {\r\n this.listSettings.hiddenColumns?.splice(this.columnIndex(colId), 1);\r\n }\r\n }\r\n\r\n isSpecialCol(colId: string) {\r\n return this.specialColIds.some(x => x == colId);\r\n }\r\n\r\n get specialColIds() {\r\n return [\"timefromto\", \"labels\", \"additionalfields\"];\r\n }\r\n\r\n get canViewRates(){\r\n return UserStore.userSettings.CanViewRates;\r\n }\r\n\r\n //TODO: Wenn sich die Spaltenanzahl verändert, Hack in ListTable.vue numberOfReducingGroups() beachten!!\r\n get columns(): any[] {\r\n let res = [\r\n { id: \"date\", description: \"Datum\" },\r\n { id: \"customer\", description: \"Kunde\", hasWidth: true },\r\n { id: \"project\", description: \"Projekt\", hasWidth: true },\r\n { id: \"appuser\", description: \"Mitarbeiter\", hasWidth: true },\r\n { id: \"projecttask\", description: \"Leistung\", hasWidth: true },\r\n { id: \"rate\", description: \"Stundensatz\", hasWidth: true },\r\n { id: \"description\", description: \"Beschreibung / Details\", hasWidth: true },\r\n { id: \"timefromto\", description: \"Zeit von-bis und Pause\" },\r\n { id: \"labels\", description: \"Kategorien\" }\r\n ];\r\n\r\n if(this.extraFields?.length){\r\n res.push({ id: \"additionalfields\", description: \"Zusatzfelder\" });\r\n }\r\n\r\n res.push({ id: \"duration\", description: \"Dauer\" });\r\n\r\n if(UserStore.userSettings.CanViewRates){\r\n res.push({ id: \"revenue\", description: \"Umsatz\" });\r\n }\r\n\r\n if(!this.useProjectTimeTracking){\r\n res = [\r\n { id: \"date\", description: \"Datum\" },\r\n { id: \"appuser\", description: \"Mitarbeiter\", hasWidth: true },\r\n { id: \"description\", description: \"Beschreibung / Details\", hasWidth: true },\r\n { id: \"timefromto\", description: \"Zeit von-bis und Pause\" },\r\n { id: \"duration\", description: \"Dauer\" }\r\n ];\r\n\r\n if(this.extraFields?.length){\r\n res.push({ id: \"additionalfields\", description: \"Zusatzfelder\" });\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n save() {\r\n this.$emit(\"input\", JSON.parse(JSON.stringify(this.listSettings)));\r\n this.cancel();\r\n }\r\n\r\n cancel() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListColumnEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListColumnEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListColumnEdit.vue?vue&type=template&id=0c06b63e&\"\nimport script from \"./ListColumnEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./ListColumnEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\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\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\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport {\r\n ListResult,\r\n ListParameters,\r\n TimeEntryFilter,\r\n TimeEntryGroupingModel,\r\n TimeEntryListSettingsModel,\r\n ListPresetEditModel,\r\n ListPresetViewModel,\r\n ListPresetListViewModel,\r\n DeleteResultModel,\r\n TimeEntryFilterTimeFrame\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stListApi, stTimeEntryApi } from \"@/services/st-api\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport TimeEntryFilterComponent from \"@/components/timeentry-filter/TimeEntryFilterComponent.vue\";\r\nimport TimeEntryGrouper from \"@/components/timeentry-filter/TimeEntryGrouper.vue\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport { notifyDeletion, notifySuccess } from \"@/utlitities/notifications\";\r\nimport { DateTime } from \"luxon\";\r\n//@ts-ignore\r\nimport * as FileSaver from \"file-saver\";\r\nimport ListTable from \"@/views/List/ListTable.vue\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport ListColumnEdit from \"@/views/List/ListColumnEdit.vue\";\r\n\r\nComponent.registerHooks([\"beforeRouteUpdate\"]);\r\n\r\n@Component({\r\n components: { SlideIn, TimeEntryGrouper, TimeEntryFilterComponent, StInput2, ListTable, ListColumnEdit }\r\n})\r\nexport default class List extends Vue {\r\n filter: TimeEntryFilter = this.defaultFilter;\r\n private grouping: TimeEntryGroupingModel | null | undefined = TimeEntryGroupingModel.fromJS({});\r\n private listSettings: TimeEntryListSettingsModel | null | undefined = TimeEntryListSettingsModel.fromJS({});\r\n private listSettingsWork: TimeEntryListSettingsModel | null | undefined = TimeEntryListSettingsModel.fromJS({ alignLandscape: false });\r\n\r\n private listResult: ListResult | null = null;\r\n\r\n private reportName: string = \"\";\r\n\r\n private savedReports: ListPresetListViewModel[] = [];\r\n private currentReport: ListPresetViewModel = new ListPresetViewModel();\r\n pdfLoading = false;\r\n excelLoading = false;\r\n toggleClearedLoadingId = 0;\r\n deleteLoadingId = 0;\r\n saveListPresetLoading = false;\r\n filterLoading = false;\r\n showSavedReports = false;\r\n\r\n loading = true;\r\n delayLoading = false;\r\n dirty = false;\r\n filterWatcher: any;\r\n groupingWatcher: any;\r\n settingsWatcher: any;\r\n filterSelectVisible = true;\r\n\r\n get defaultFilter(){\r\n return TimeEntryFilter.fromJS({\r\n timeframe: TimeEntryFilterTimeFrame.ThisMonth,\r\n customerIds: [],\r\n projectIds: [],\r\n projectTaskIds: [],\r\n appUserIds: [],\r\n tagIds: [],\r\n ids: [],\r\n extraFields: [],\r\n })\r\n }\r\n\r\n //hier gehts wohl los ... wahrscheinlich ;)\r\n async filterLoaded() {\r\n this.loading = true;\r\n const listParameters = await stListApi.getDefaultListParams();\r\n this.grouping = listParameters.grouping!;\r\n //TODO: aus Gründen geht das nicht .. invalid datetime mal fixen\r\n // this.filter = listParameters.filter!;\r\n this.listSettings = listParameters.listSettingsModel!;\r\n\r\n await this.loadListPresets();\r\n let defaultReport = this.savedReports.find((_) => _.isDefault);\r\n\r\n if (defaultReport) {\r\n await this.changeReport(defaultReport.id!);\r\n }\r\n\r\n this.filterLoading = false;\r\n await this.applyFilter();\r\n this.loading = false;\r\n await this.$nextTick();\r\n //TODO: wird zwei mal aufgerufen ...\r\n if(!this.filterWatcher){\r\n this.watchFilterChanges();\r\n }\r\n\r\n }\r\n\r\n beforeDestroy() {\r\n this.unwatchFilterChanges();\r\n }\r\n\r\n watchFilterChanges() {\r\n this.filterWatcher = this.$watch(\"filter\", () => {\r\n this.dirty = true;\r\n }, { deep: true });\r\n\r\n this.groupingWatcher = this.$watch(\"grouping\", () => {\r\n this.dirty = true;\r\n }, { deep: true });\r\n\r\n this.settingsWatcher = this.$watch(\"listSettings\", () => {\r\n this.dirty = true;\r\n }, { deep: true });\r\n }\r\n\r\n async unwatchFilterChanges() {\r\n if (this.filterWatcher)\r\n await this.filterWatcher();\r\n if (this.groupingWatcher)\r\n await this.groupingWatcher();\r\n if (this.settingsWatcher)\r\n await this.settingsWatcher();\r\n }\r\n\r\n beforeRouteUpdate(to: any, from: any, next: any) {\r\n next();\r\n if (to.name == \"List\") {\r\n this.loadData();\r\n }\r\n }\r\n\r\n toggleDateSort(){\r\n this.listSettings!.sortDateAscending = !this.listSettings!.sortDateAscending;\r\n this.applyFilter();\r\n }\r\n\r\n get useProjectTimeTracking(){\r\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\r\n }\r\n\r\n async loadListPresets() {\r\n this.savedReports = await stListApi.getListPresets();\r\n }\r\n\r\n get reportSelected() {\r\n return this.currentReport.id;\r\n }\r\n\r\n get userNowDateTime() {\r\n return DateTime.fromISO(UserStore.userSettings.userNowDateTime);\r\n }\r\n\r\n get accountIsLocked() {\r\n return UserStore.userSettings.accountIsLocked;\r\n }\r\n\r\n async createNewReport() {\r\n await this.unwatchFilterChanges();\r\n await this.$nextTick();\r\n const listParams = await stListApi.getDefaultListParams();\r\n this.grouping = listParams.grouping;\r\n this.listSettings = listParams.listSettingsModel;\r\n this.filter = listParams.filter;\r\n this.listSettingsWork = TimeEntryListSettingsModel.fromJS({ alignLandscape: false });\r\n this.currentReport = ListPresetViewModel.fromJS({});\r\n await this.$nextTick();\r\n this.watchFilterChanges();\r\n this.dirty = false;\r\n }\r\n\r\n private multiTimeout: any;\r\n\r\n async applyFilter() {\r\n if (this.filterLoading) {\r\n return;\r\n }\r\n\r\n if (this.multiTimeout) {\r\n clearTimeout(this.multiTimeout);\r\n }\r\n\r\n this.multiTimeout = setTimeout(async () => {\r\n this.loading = true;\r\n try {\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }, 20);\r\n }\r\n\r\n async applyGrouping(grouping: TimeEntryGroupingModel) {\r\n try {\r\n this.loading = true;\r\n this.grouping = grouping;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n copySuccess() {\r\n notifySuccess(\"Erfolgreich kopiert\");\r\n }\r\n\r\n editTimeEntry(id: number) {\r\n if (id == 0) {\r\n //check if current date is within filter, if not use entryDateTo of Filter\r\n let newEntryDate = this.userNowDateTime;\r\n let filterTo = DateTime.fromISO(this.filter.entryDateTo!.toString());\r\n\r\n if (newEntryDate > filterTo) {\r\n newEntryDate = filterTo;\r\n }\r\n\r\n this.$router.push({\r\n name: \"ListTimeEntryEdit\",\r\n params: { id: id.toString(), entryDate: newEntryDate.toFormat(\"yyyy-MM-dd\") }\r\n });\r\n } else {\r\n this.$router.push({ name: \"ListTimeEntryEdit\", params: { id: id.toString() } });\r\n }\r\n }\r\n\r\n get params() {\r\n return ListParameters.fromJS({\r\n filter: this.filter,\r\n grouping: this.grouping,\r\n listSettingsModel: this.listSettings\r\n });\r\n }\r\n\r\n async loadData() {\r\n this.delayLoading = true;\r\n const result = await stListApi.get(this.params);\r\n this.listResult = Object.freeze(result);\r\n this.delayLoading = false;\r\n }\r\n\r\n get alignment(): any[] {\r\n return [\r\n { id: false, text: \"Hochformat\" },\r\n { id: true, text: \"Querformat\" }\r\n ];\r\n }\r\n\r\n async exportPdf() {\r\n try {\r\n this.pdfLoading = true;\r\n let result = await stListApi.generatePdf(this.$t(\"Leistungsnachweis\").toString(), this.params);\r\n FileSaver.saveAs(result.data, this.$t(\"Leistungsnachweis\").toString() + \".pdf\");\r\n } finally {\r\n this.pdfLoading = false;\r\n }\r\n }\r\n\r\n async exportExcel() {\r\n try {\r\n this.excelLoading = true;\r\n let result = await stListApi.exportExcel(this.params);\r\n FileSaver.saveAs(result.data, \"SpikeTime_Export.xlsx\");\r\n } finally {\r\n this.excelLoading = false;\r\n }\r\n }\r\n\r\n openSettings() {\r\n this.listSettingsWork = JSON.parse(JSON.stringify(this.listSettings));\r\n (this.$refs.settings as SlideIn).open();\r\n }\r\n\r\n saveSettings() {\r\n this.listSettings = JSON.parse(JSON.stringify(this.listSettingsWork));\r\n (this.$refs.settings as SlideIn).close();\r\n this.loadData();\r\n }\r\n\r\n cancelSettings() {\r\n (this.$refs.settings as SlideIn).close();\r\n }\r\n\r\n openColumnEdit() {\r\n (this.$refs.columns as any).openSlideIn();\r\n }\r\n\r\n openSaveReport() {\r\n (this.$refs.savereport as SlideIn).open();\r\n setTimeout(() => {\r\n document.getElementById(\"reportName\")!.focus();\r\n }, 300);\r\n }\r\n\r\n async toggleCleared(id: number) {\r\n try {\r\n this.toggleClearedLoadingId = id;\r\n let isCleared = await stTimeEntryApi.toggleCleared(id);\r\n\r\n if (isCleared) {\r\n notifySuccess(\"Zeiteintrag abgeschlossen\");\r\n } else {\r\n notifySuccess(\"Zeiteintrag geöffnet\");\r\n }\r\n\r\n await this.loadData();\r\n } finally {\r\n this.toggleClearedLoadingId = 0;\r\n }\r\n }\r\n\r\n async toggleClearedAll(newvalue: boolean) {\r\n try {\r\n this.loading = true;\r\n await stListApi.toggleClearedAll(newvalue, this.filter);\r\n\r\n if (newvalue) {\r\n notifySuccess(\"Zeiteinträge abgeschlossen\");\r\n } else {\r\n notifySuccess(\"Zeiteinträge geöffnet\");\r\n }\r\n\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async saveListPreset() {\r\n try {\r\n this.saveListPresetLoading = true;\r\n this.filterSelectVisible = false;\r\n let listPreset = new ListPresetEditModel();\r\n listPreset.id = this.currentReport.id;\r\n listPreset.name = this.currentReport.name;\r\n listPreset.isDefault = this.currentReport.isDefault;\r\n listPreset.isExternalAccess = this.currentReport.isExternalAccess;\r\n\r\n listPreset.listParameters = ListParameters.fromJS({\r\n filter: this.filter,\r\n grouping: this.grouping,\r\n listSettingsModel: this.listSettings\r\n });\r\n const id = await stListApi.saveListPreset(listPreset);\r\n await this.loadListPresets();\r\n this.currentReport = await stListApi.getListPreset(id);\r\n notifySuccess(\"Erfolgreich gespeichert\");\r\n this.dirty = false;\r\n } finally {\r\n this.saveListPresetLoading = false;\r\n this.filterSelectVisible = true;\r\n }\r\n\r\n (this.$refs.savereport as SlideIn).close();\r\n }\r\n\r\n async changeReport(listPresetId: number) {\r\n await this.unwatchFilterChanges();\r\n await this.$nextTick();\r\n this.currentReport = await stListApi.getListPreset(listPresetId);\r\n this.filter = this.currentReport.listParameters?.filter ?? this.defaultFilter;\r\n this.grouping = this.currentReport.listParameters!.grouping;\r\n this.listSettings = this.currentReport.listParameters!.listSettingsModel;\r\n this.reportName = this.currentReport.name!;\r\n await this.$nextTick(); // wird benötigt, damit der Filter einen eventuell gesetzten Date TimeFrame noch richtig setzen kann, bevor die Daten geladen werden\r\n this.watchFilterChanges();\r\n this.dirty = false;\r\n }\r\n\r\n async deleteListPreset(listPresetId: number) {\r\n await stListApi.deleteListPreset(listPresetId);\r\n await this.loadListPresets();\r\n\r\n if (this.currentReport && this.currentReport.id == listPresetId) {\r\n this.currentReport = new ListPresetEditModel();\r\n }\r\n }\r\n\r\n cancelListPreset() {\r\n (this.$refs.savereport as SlideIn).close();\r\n }\r\n\r\n async undoDeletion(id: number) {\r\n await stTimeEntryApi.undelete(id);\r\n await this.loadData();\r\n notifySuccess(\"Zeiteintrag wiederhergestellt.\");\r\n }\r\n\r\n async deleteItem(id: number): Promise {\r\n try {\r\n this.deleteLoadingId = id;\r\n const resp = await stTimeEntryApi.delete(id, true);\r\n notifyDeletion(async () => this.undoDeletion(id));\r\n await this.loadData();\r\n return resp;\r\n } finally {\r\n this.deleteLoadingId = 0;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=2b951d18&\"\nimport script from \"./List.vue?vue&type=script&lang=ts&\"\nexport * from \"./List.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Zusatzfelder')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Anlage und Bearbeitung von Zusatzfeldern für die Zeiterfassung')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-comment-alt-plus\"},on:{\"click\":function($event){return _vm.edit(0)}}},[_vm._v(_vm._s(_vm.$t('Neues Zusatzfeld')))])],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/3 flex\"},[_c('st-search',{staticClass:\"modifiable-search\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('Suche...')},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)]),_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),(!_vm.filteredItems.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-comment-alt-plus\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Zusatzfelder gefunden')))]),(_vm.items.length)?_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Bitte die Suche anpassen, oder ein neues Zusatzfeld anlegen')))]):_vm._e(),(!_vm.items.length)?_c('div',{staticClass:\"subdesc\"},[_vm._v(_vm._s(_vm.$t('Hier können Sie eigene Felder für die Zeiterfassung hinzufügen. Beispielsweise können Sie damit Fahrtkilometer oder den Arbeitsort angeben.')))]):_vm._e()]):_vm._e(),_vm._l((_vm.filteredItems),function(item){return _c('div',{key:item.id,staticClass:\"st-list-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.edit(item.id)}}},[_c('div',{staticClass:\"st-list-item-content\"},[_c('div',{staticClass:\"col-span-6 sm:col-span-4 flex items-center\"},[_c('i',{staticClass:\"far fa-comment-alt-plus fa-lg fa-fw\"}),_c('span',{staticClass:\"st-list-item-header font-bold text-base\"},[_vm._v(_vm._s(item.description))])]),_c('div',{staticClass:\"hidden sm:flex col-span-2 flex items-center\"},[_c('span',{staticClass:\"font-normal text-base\"},[_vm._v(_vm._s(item.dataTypeDescription))])]),_c('div',{staticClass:\"hidden sm:flex col-span-3 flex items-center flex-wrap gap-x-4\"},[(item.isRequired)?_c('div',{staticClass:\"font-thin text-base\"},[_c('i',{staticClass:\"far fa-exclamation-circle mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Pflichtfeld'))+\" \")]):_vm._e(),(item.hideInDayView)?_c('div',{staticClass:\"font-thin text-base\"},[_c('i',{staticClass:\"far fa-eye-slash mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('In Tagesübersicht ausgeblendet'))+\" \")]):_vm._e()]),_c('div',{staticClass:\"col-span-6 sm:col-span-3 flex items-center justify-end\"},[_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.edit(item.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.deleteExtraField(item.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)])])})],2)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport StSearch from '@/components/basic/StSearch.vue';\nimport { DeleteResultModel, TimeEntryExtraFieldMetadataViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stCustomerApi, timeEntryExtraFieldMetadataClient } from '@/services/st-api';\nimport { DialogResponse } from 'vue-tailwind/dist/components/TDialog';\nimport { notifySuccess } from '@/utlitities/notifications';\n\n@Component({\n components: {\n StSearch,\n },\n})\nexport default class TimeEntryExtraFieldMetadata extends Vue {\n search: string = '';\n loading: boolean = true;\n delLoading: boolean = false;\n items: TimeEntryExtraFieldMetadataViewModel[] = [];\n\n delayLoading=false;\n\n async mounted() {\n try {\n this.loading = true;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n if (to.name == 'TimeEntryExtraFields') {\n try {\n this.delayLoading = true;\n await this.loadData();\n } finally {\n this.delayLoading = false;\n }\n next();\n } else {\n next();\n }\n }\n\n get filteredItems() {\n return this.items?.filter((x) => x.description?.toLowerCase().indexOf(this.search.toLowerCase()) != -1);\n }\n\n async loadData() {\n this.items = await timeEntryExtraFieldMetadataClient.getList();\n }\n\n edit(id: number) {\n this.$router.push({ name: 'TimeEntryExtraFieldsEdit', params: { id: id.toString() } });\n }\n\n async deleteExtraField(id: number) {\n try {\n this.delLoading = true;\n const result = await timeEntryExtraFieldMetadataClient.delete(id, false);\n if (result.confirmationNeeded) {\n\n const res: DialogResponse = await this.$dialog.confirm({\n title: this.$t('Bestätigung').toString(),\n text: result.message,\n variant: 'danger',\n okButtonText: this.$t('Löschen').toString(),\n cancelButtonText: this.$t('Abbrechen').toString()\n });\n\n if (res.isOk) {\n await timeEntryExtraFieldMetadataClient.delete(id, true);\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } else {\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n } finally {\n this.delLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryExtraFieldMetadata.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryExtraFieldMetadata.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntryExtraFieldMetadata.vue?vue&type=template&id=be337bc4&\"\nimport script from \"./TimeEntryExtraFieldMetadata.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntryExtraFieldMetadata.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-comment-alt-plus mr-4\"}),(_vm.model.id)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Zusatzfeld'))+\" \"),_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.model.description))]),_vm._v(\" \"+_vm._s(_vm.$t('bearbeiten'))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t('Neues Zusatzfeld anlegen')))])]},proxy:true}])},[_c('div',[_c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-1\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Bezeichnung')))]),_c('st-input2',{attrs:{\"name\":\"Bezeichnung\",\"type\":\"text\",\"rules\":\"required\"},model:{value:(_vm.model.description),callback:function ($$v) {_vm.$set(_vm.model, \"description\", $$v)},expression:\"model.description\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Datentyp')))]),_c('st-select',{attrs:{\"options\":_vm.datatypes,\"idProp\":\"enumVal\",\"labelProp\":\"description\"},model:{value:(_vm.model.dataType),callback:function ($$v) {_vm.$set(_vm.model, \"dataType\", $$v)},expression:\"model.dataType\"}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.model.dataType === 'Selection'),expression:\"model.dataType === 'Selection'\"}],staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Auswahl')))]),_c('st-textarea',{attrs:{\"isNative\":true,\"rows\":5,\"placeholder\":_vm.$t('Geben Sie hier die Auswahlwerte ein. Ein Wert je Zeile.')},model:{value:(_vm.model.selectionValues),callback:function ($$v) {_vm.$set(_vm.model, \"selectionValues\", $$v)},expression:\"model.selectionValues\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Beschreibung / ToolTip')))]),_c('st-textarea',{attrs:{\"isNative\":true,\"rows\":2,\"placeholder\":_vm.$t('Beschreibung / Erklärung des Zusatzfeldes (optional)')},model:{value:(_vm.model.toolTip),callback:function ($$v) {_vm.$set(_vm.model, \"toolTip\", $$v)},expression:\"model.toolTip\"}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.model.dataType !== 'YesNo'),expression:\"model.dataType !== 'YesNo'\"}],staticClass:\"form-group\"},[_c('div',{staticClass:\"flex\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Pflichtfeld')))]),_c('st-explanation',{staticClass:\"ml-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Der Eintrag kann nicht gespeichert werden, wenn dieses Zusatzfeld nicht ausgefüllt wurde.'))+\" \")])],1),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.model.isRequired),callback:function ($$v) {_vm.$set(_vm.model, \"isRequired\", $$v)},expression:\"model.isRequired\"}},[_vm._v(_vm._s(_vm.$t('Zusatzfeld ist ein Pflichtfeld')))])],1),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"flex\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('In Tagesübersicht ausblenden')))]),_c('st-explanation',{staticClass:\"ml-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Das Zusatzfeld wird nach dem Speichern eines Zeiteintrags auf der Seite \"Zeiten\" in der Tagesansicht nicht angezeigt. Auf der Seite \"Liste\", kann die Sichtbarkeit des Feldes separat eingestellt werden.'))+\" \")])],1),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.model.hideInDayView),callback:function ($$v) {_vm.$set(_vm.model, \"hideInDayView\", $$v)},expression:\"model.hideInDayView\"}},[_vm._v(_vm._s(_vm.$t('Zusatzfeld in der Tagesübersicht (Seite - Zeiten) ausblenden')))])],1),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")])],1)],1)]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport { stCustomerApi, timeEntryExtraFieldMetadataClient } from '@/services/st-api';\nimport { TimeEntryExtraFieldDataTypeSelectItem, TimeEntryExtraFieldMetadataEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport StToggle from '@/components/basic/StToggle.vue';\n\n@Component({\n components: {\n StToggle,\n SlideIn,\n },\n})\nexport default class TimeEntryExtraFieldMetadataEdit extends Vue {\n private id: number = 0;\n private model: TimeEntryExtraFieldMetadataEditModel = TimeEntryExtraFieldMetadataEditModel.fromJS({});\n datatypes: TimeEntryExtraFieldDataTypeSelectItem[] = [];\n private loading: boolean = true;\n private listPage: string = 'TimeEntryExtraFields';\n\n created() {\n this.id = parseInt(this.$route.params.id);\n }\n\n async mounted() {\n this.openSlideIn();\n\n try {\n this.loading = true;\n this.model = this.id == 0 ? await timeEntryExtraFieldMetadataClient.getNew() : await timeEntryExtraFieldMetadataClient.get(this.id);\n this.datatypes = await timeEntryExtraFieldMetadataClient.getSelectList();\n } finally {\n this.loading = false;\n }\n }\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n this.$router.push({ name: this.listPage });\n }\n\n async submit() {\n if (this.model.id == 0) {\n await timeEntryExtraFieldMetadataClient.post(this.model);\n } else {\n await timeEntryExtraFieldMetadataClient.put(this.model);\n }\n\n notifySuccess('Erfolgreich gespeichert');\n this.closeSlideIn();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryExtraFieldMetadataEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntryExtraFieldMetadataEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeEntryExtraFieldMetadataEdit.vue?vue&type=template&id=c9d6fab2&\"\nimport script from \"./TimeEntryExtraFieldMetadataEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeEntryExtraFieldMetadataEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"delayLoading\":_vm.delayLoading,\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-clock mr-4\"}),_c('span',[_vm._v(_vm._s(_vm.$t('Stoppuhr bearbeiten')))])]},proxy:true}])},[(!_vm.loading)?_c('div',[_c('vv-observer',{ref:\"observer\",staticClass:\"grid grid-cols-1\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.submit)}}},[(_vm.useProjectTimeTracking)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Projekt')))]),_c('st-select',{attrs:{\"options\":_vm.projects,\"grouped\":true},model:{value:(_vm.stopwatchEditModel.projectId),callback:function ($$v) {_vm.$set(_vm.stopwatchEditModel, \"projectId\", $$v)},expression:\"stopwatchEditModel.projectId\"}})],1):_vm._e(),(_vm.selectedProject.customerTimeEntryComment || _vm.selectedProject.projectTimeEntryComment)?_c('div',{staticClass:\"form-group\"},[(_vm.selectedProject.customerTimeEntryComment)?_c('div',{staticClass:\"alert alert-gray\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Hinweis - Kunde')))]),_c('br'),_c('span',{staticClass:\"whitespace-pre-wrap\"},[_vm._v(_vm._s(_vm.selectedProject.customerTimeEntryComment))])]):_vm._e(),(_vm.selectedProject.projectTimeEntryComment)?_c('div',{staticClass:\"alert alert-gray\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Hinweis - Projekt')))]),_c('br'),_c('span',{staticClass:\"whitespace-pre-wrap\"},[_vm._v(_vm._s(_vm.selectedProject.projectTimeEntryComment))])]):_vm._e()]):_vm._e(),(((_vm.projectTasksGrouped && _vm.projectTasksGrouped.length)) && _vm.useProjectTimeTracking)?[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Leistung')))]),_c('st-select',{attrs:{\"grouped\":true,\"name\":\"Leistung\",\"disabled\":!_vm.userSettings.useProjectTasks,\"options\":_vm.projectTasksGrouped,\"rules\":_vm.userSettings.projectTaskRequired ? 'required' : '',\"placeholder\":_vm.$t('Keine Leistung ausgewählt'),\"clearable\":true},model:{value:(_vm.stopwatchEditModel.projectTaskId),callback:function ($$v) {_vm.$set(_vm.stopwatchEditModel, \"projectTaskId\", $$v)},expression:\"stopwatchEditModel.projectTaskId\"}})],1)]:_vm._e(),(_vm.canViewRates && _vm.hasRates && _vm.useProjectTimeTracking)?[(_vm.selectedProject.isFixedPrice)?[(_vm.selectedProject.fixedPriceCalcRate)?[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Rechnerischer Stundensatz')))]),_c('div',{staticClass:\"w-40\"},[_c('st-currency-input',{attrs:{\"disabled\":true,\"value\":_vm.selectedProject.fixedPriceCalcRate}})],1)])]:_vm._e()]:_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedProject.isFixedPrice),expression:\"!selectedProject.isFixedPrice\"}],staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stundensatz')))]),(_vm.initialized)?_c('time-entry-rate-input',{attrs:{\"rate-rule-amount-filter\":_vm.rateRuleAmountFilter,\"time-entry-rate-amount\":_vm.stopwatchEditModel.rateAmount},model:{value:(_vm.stopwatchEditModel.useCurrentRateAmount),callback:function ($$v) {_vm.$set(_vm.stopwatchEditModel, \"useCurrentRateAmount\", $$v)},expression:\"stopwatchEditModel.useCurrentRateAmount\"}}):_vm._e()],1)]:_vm._e(),_c('div',{staticClass:\"form-group relative\"},[_c('div',{staticClass:\"flex items-start gap-4\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Beschreibung')))]),_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Mit der [TAB] Taste werden die letzen 5 Beschreibungstexte zur Auswahl (falls vorhanden).'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Pfeiltasten verändern die Markierung. [ENTER] oder Mausklick übernimmt die Auswahl.'))+\" \")])],1),_c('description-textarea',{attrs:{\"project-id\":_vm.stopwatchEditModel.projectId,\"entry-date\":_vm.todayIso},model:{value:(_vm.stopwatchEditModel.description),callback:function ($$v) {_vm.$set(_vm.stopwatchEditModel, \"description\", $$v)},expression:\"stopwatchEditModel.description\"}})],1),(_vm.tags && _vm.tags.length && _vm.initialized && _vm.useProjectTimeTracking)?[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Kategorien')))]),_c('st-select',{attrs:{\"name\":\"Kategorie\",\"options\":_vm.tags,\"multiple\":true,\"labelProp\":\"name\",\"rules\":_vm.userSettings.tagsRequired ? 'required' : ''},model:{value:(_vm.stopwatchEditModel.tagIds),callback:function ($$v) {_vm.$set(_vm.stopwatchEditModel, \"tagIds\", $$v)},expression:\"stopwatchEditModel.tagIds\"}})],1)]:_vm._e(),(_vm.useProjectTimeTracking)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Verrechenbarkeit')))]),_c('st-toggle',{staticClass:\"ml-2 mt-4\",attrs:{\"type\":\"right\",\"disabled\":_vm.isBillableNotChangeable},model:{value:(_vm.stopwatchEditModel.isBillable),callback:function ($$v) {_vm.$set(_vm.stopwatchEditModel, \"isBillable\", $$v)},expression:\"stopwatchEditModel.isBillable\"}},[_vm._v(_vm._s(_vm.$t('Zeit ist verrechenbar'))+\" \")])],1):_vm._e(),_vm._l((_vm.extraFields),function(field){return _c('div',{key:field.id,staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(field.description))]),(field.dataType === 'Text')?_c('st-input2',{attrs:{\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'Integer')?_c('st-input2',{attrs:{\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'Decimal')?_c('st-input2',{attrs:{\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'Rating')?_c('star-rating',{attrs:{\"max-rating\":6,\"star-size\":20,\"show-rating\":false},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e(),(field.dataType === 'YesNo')?_c('st-toggle',{attrs:{\"type\":\"right\",\"value\":field.value ? field.value.toLowerCase() === 'true' : true},on:{\"input\":function($event){field.value = $event.toString()}}},[_vm._v(_vm._s(field.description)+\" \")]):_vm._e(),(field.dataType === 'Selection')?_c('st-select',{attrs:{\"options\":field.selectionValues,\"placeholder\":_vm.$t('Bitte Auswahl treffen'),\"clearable\":!field.isRequired,\"name\":field.description,\"rules\":field.isRequired ? 'required' : ''},model:{value:(field.value),callback:function ($$v) {_vm.$set(field, \"value\", $$v)},expression:\"field.value\"}}):_vm._e()],1)}),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex flex-col sm:flex-row justify-end\"},[_c('st-button',{staticClass:\"white sm:mr-6 mb-6 sm:mb-0\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.closeSlideIn}},[_vm._v(_vm._s(_vm.$t('Abbrechen'))+\" \")]),_c('st-button',{staticClass:\"green sm:mr-6 mb-6 sm:mb-0\",attrs:{\"type\":\"submit\",\"loading\":_vm.saveLoading}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\",\"loading\":_vm.saveStopLoading},on:{\"click\":function($event){return _vm.handleSaveAndStop()}}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern und stoppen'))+\" \")])],1)],2)]}}],null,false,3669196690)})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StarRating from 'vue-star-rating';\nimport { stProjectApi, stProjectTaskApi, stStopwatchApi, stTagApi } from '@/services/st-api';\nimport {\n ProjectFilter,\n ProjectTaskFilter, ProjectTaskSelectListForProjectQuery,\n ProjectTimeEntryViewModel,\n RateRuleAmountFilter,\n StopwatchEditModel,\n StSelectListItem,\n StSelectListItemGroup,\n TagViewModel\n} from '@/services/api/nswag/stapiclient_generated';\nimport { UserStore } from '@/store/user-module';\nimport { StopwatchStore } from '@/store/stopwatch-store';\nimport TimeEntryRateInput from '@/views/TimeEntries/TimeEntryEdit/TimeEntryRateInput.vue';\nimport DescriptionTextarea from '@/views/TimeEntries/Components/DescriptionTextarea.vue';\nimport StCurrencyInput from '@/components/basic/StCurrencyInput.vue';\n\n@Component({\n components: {\n StCurrencyInput,\n SlideIn,\n TimeEntryRateInput,\n DescriptionTextarea,\n StarRating\n }\n})\nexport default class StopwatchOldLayoutEdit extends Vue {\n private listPage = 'TimeEntries';\n loading: boolean = true;\n saveLoading = false;\n saveStopLoading = false;\n\n projects: StSelectListItemGroup[] = [];\n projectTasksGrouped: StSelectListItemGroup[] = [];\n selectedProject: ProjectTimeEntryViewModel = new ProjectTimeEntryViewModel();\n tags: TagViewModel[] = [];\n stopwatchEditModel: StopwatchEditModel = StopwatchEditModel.fromJS({});\n rateAmount: number = 0;\n watcher: any;\n\n delayLoading = false;\n initialized = false;\n\n async mounted() {\n try {\n this.openSlideIn();\n\n this.loading = true;\n\n this.stopwatchEditModel = await stStopwatchApi.getEditModel();\n this.projects = await stProjectApi.getSelectListForTimeTracking();\n\n await this.loadSelectedProject();\n await this.loadProjectTasks();\n\n this.tags = await stTagApi.getListForTimeEntry(this.stopwatchEditModel?.id ?? 0);\n this.selectedProject = await stProjectApi.getTimeEntryViewModel(this.stopwatchEditModel.projectId!);\n\n this.watcher = this.$watch('stopwatchEditModel.projectId', async () => {\n try {\n this.delayLoading = true;\n await this.projectChanged();\n this.stopwatchEditModel.projectTaskId = this.selectedProject.preselectedProjectTaskId;\n } finally {\n this.delayLoading = false;\n }\n });\n\n await this.$nextTick();\n this.initialized = true;\n } finally {\n this.loading = false;\n }\n }\n\n get useProjectTimeTracking() {\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser;\n }\n\n beforeDestroy() {\n this.watcher();\n }\n\n async loadSelectedProject() {\n this.selectedProject = await stProjectApi.getTimeEntryViewModel(this.stopwatchEditModel.projectId!);\n }\n\n async loadProjectTasks() {\n this.projectTasksGrouped = await stProjectTaskApi.getSelectListForProject(ProjectTaskSelectListForProjectQuery.fromJS({\n projectId: this.selectedProject.id!\n }));\n }\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n this.$router.push({ name: this.listPage });\n }\n\n get todayIso() {\n return UserStore.userNowDateTime.toISODate();\n }\n\n get canViewRates() {\n return UserStore.userSettings.CanViewRates && !UserStore.userSettings.noRates;\n }\n\n get userSettings() {\n return UserStore.userSettings;\n }\n\n get hasRates() {\n return this.userSettings.hasRates;\n }\n\n get isBillableNotChangeable() {\n return this.userSettings.timeEntryIsBillableNotChangeable;\n }\n\n get extraFields() {\n return this.stopwatchEditModel.timeEntryExtraFields;\n }\n\n get currency() {\n return UserStore.userSettings.currency;\n }\n\n get stopwatch() {\n return StopwatchStore.StopwatchModel;\n }\n\n get isRunning() {\n return StopwatchStore.IsRunning;\n }\n\n async handleSaveAndStop() {\n //@ts-ignore\n await this.$refs.observer.handleSubmit(this.saveAndStop);\n }\n\n async saveAndStop() {\n try {\n this.saveStopLoading = true;\n\n await stStopwatchApi.edit(this.stopwatchEditModel);\n await StopwatchStore.stopStopwatch();\n this.closeSlideIn();\n } finally {\n this.saveStopLoading = false;\n }\n }\n\n async submit() {\n try {\n this.saveLoading = true;\n await stStopwatchApi.edit(this.stopwatchEditModel);\n await StopwatchStore.loadStopwatch();\n this.closeSlideIn();\n } finally {\n this.saveLoading = false;\n }\n }\n\n //\n get selectedProjectHasTasks() {\n return this.selectedProject.hasProjectTasks;\n }\n\n get rateRuleAmountFilter() {\n return RateRuleAmountFilter.fromJS({\n customerId: undefined,\n projectId: this.stopwatchEditModel.projectId,\n projectTaskId: this.stopwatchEditModel.projectTaskId\n });\n }\n\n async projectChanged() {\n await this.loadSelectedProject();\n await this.loadProjectTasks();\n\n this.stopwatchEditModel.isBillable = this.selectedProject.isBillable;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StopwatchOldLayoutEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StopwatchOldLayoutEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StopwatchOldLayoutEdit.vue?vue&type=template&id=d4ac3086&\"\nimport script from \"./StopwatchOldLayoutEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./StopwatchOldLayoutEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"absolute inset-0\"},[_c('div',{staticClass:\"flex flex-col flex-auto items-center justify-center h-full p-6 sm:p-10\"},[_c('i',{staticClass:\"far fa-satellite fa-8x\"}),_c('div',{staticClass:\"mt-12 sm:mt-24 text-xxl font-bold text-center\"},[_vm._v(\"Network Error!\")]),_c('div',{staticClass:\"mt-2 text-lg font-normal text-center text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('Hier ging leider etwas schief. Wir wurden bereits über das Problem informiert und werden uns schnellstmöglich darum kümmern.'))+\" \")]),_c('router-link',{staticClass:\"mt-12 text-primary underline\",attrs:{\"to\":{name: 'TimeEntries'}}},[_vm._v(\"Zurück\")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {},\n})\nexport default class NetworkError extends Vue {}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkError.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkError.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NetworkError.vue?vue&type=template&id=3c99244a&\"\nimport script from \"./NetworkError.vue?vue&type=script&lang=ts&\"\nexport * from \"./NetworkError.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"grid grid-cols-3 mb-12 border border-gray-200\",class:{ 'bg-primary-dark text-onbgprimary-dark': !_vm.logoUrl, 'border-gray-800 text-gray-800': _vm.logoUrl },staticStyle:{\"height\":\"60px\"}},[_c('div',[(_vm.logoUrl)?_c('img',{staticClass:\"object-contain list-export-logo\",attrs:{\"src\":_vm.logoUrl}}):_vm._e()]),_c('div',{staticClass:\"flex items-center justify-center font-bold text-xl\"},[_vm._v(_vm._s(_vm.$t('Leistungsübersicht')))]),_c('div')]),(_vm.listResult.filterItems && _vm.listResult.filterItems.length)?_c('div',{staticClass:\"border border-gray-400 mb-6\"},[_c('table',{staticClass:\"st-table text-sm\"},[_c('tbody',_vm._l((_vm.listResult.filterItems),function(item){return _c('tr',[_c('td',{staticClass:\"w-40 font-bold\"},[_vm._v(_vm._s(item.label))]),_c('td',[_vm._v(_vm._s(item.filterSelection))])])}),0)])]):_vm._e(),_c('div',{staticClass:\"border border-gray-200\"},[_c('list-table',{attrs:{\"list-params\":_vm.listResult.listParameters,\"list-result\":_vm.listResult,\"is-export\":true}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { ListResult } from '@/services/api/nswag/stapiclient_generated';\nimport ListTable from '@/views/List/ListTable.vue';\nimport { stListApi } from '@/services/st-api';\nimport { AccountStore } from '@/store/account-module';\n\n@Component({\n components: { ListTable },\n})\nexport default class ListExport extends Vue {\n @Prop() listResultProp!: ListResult;\n listResult: ListResult = ListResult.fromJS({ rows: [] });\n guid: string = '';\n\n created() {\n this.guid = this.$route.params.guid;\n }\n\n async mounted() {\n if(!this.listResultProp){\n this.listResult = await stListApi.getListByGuid(this.guid);\n }else{\n this.listResult = this.listResultProp;\n }\n\n }\n\n get logoUrl() {\n return AccountStore.base64Logo;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListExport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListExport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListExport.vue?vue&type=template&id=713f6b96&\"\nimport script from \"./ListExport.vue?vue&type=script&lang=ts&\"\nexport * from \"./ListExport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ListExport.vue?vue&type=style&index=0&id=713f6b96&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page account-settings\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Account Einstellungen'))+\" \")]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Einstellungen des SpikeTime Accounts für Administratoren')))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header font-bold text-lg\"},[_vm._v(\" \"+_vm._s(_vm.$t('Account Einstellungen'))+\" \")]),_c('div',{staticClass:\"relative\"},[_c('st-tabs',{staticClass:\"mt-4\",attrs:{\"loading\":_vm.loading,\"tabs\":_vm.tabs},scopedSlots:_vm._u([{key:\"standardHeader\",fn:function(){return [_c('span',{staticClass:\"hidden sm:inline\"},[_c('i',{staticClass:\"far fa-cogs mr-4\"}),_vm._v(\" \"+_vm._s(_vm.$t('Allgemein'))+\" \")]),_c('i',{staticClass:\"far fa-cogs inline sm:hidden mx-4\"})]},proxy:true},{key:\"timeTrackingHeader\",fn:function(){return [_c('span',{staticClass:\"hidden sm:inline\"},[_c('i',{staticClass:\"far fa-cogs mr-4\"}),_vm._v(\" \"+_vm._s(_vm.$t('Zeiterfassung'))+\" \")]),_c('i',{staticClass:\"far fa-cogs inline sm:hidden mx-4\"})]},proxy:true},{key:\"invoiceHeader\",fn:function(){return [_c('span',{staticClass:\"hidden sm:inline\"},[_c('i',{staticClass:\"far fa-credit-card mr-4\"}),_vm._v(\" \"+_vm._s(_vm.$t('Rechnungen'))+\" \")]),_c('i',{staticClass:\"far fa-credit-card inline sm:hidden mx-4\"})]},proxy:true},{key:\"privacyHeader\",fn:function(){return [_c('span',{staticClass:\"hidden sm:inline\"},[_c('i',{staticClass:\"far fa-shield-check mr-4\"}),_vm._v(\" \"+_vm._s(_vm.$t('Datenschutz'))+\" \")]),_c('i',{staticClass:\"far fa-shield-check inline sm:hidden mx-4\"})]},proxy:true},{key:\"terminationHeader\",fn:function(){return [_c('span',{staticClass:\"hidden sm:inline\"},[_c('i',{staticClass:\"far fa-trash-alt mr-4\"}),_vm._v(\" \"+_vm._s(_vm.$t('Account löschen'))+\" \")]),_c('i',{staticClass:\"far fa-trash-alt inline sm:hidden mx-4\"})]},proxy:true},{key:\"standard\",fn:function(){return [_c('vv-observer',{staticClass:\"relative\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-6 lg:grid-cols-9 2xl:grid-cols-10\"},[_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Kontaktinformationen'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('E-Mail')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Email'),\"rules\":\"required\",\"type\":\"text\"},model:{value:(_vm.accountEditModel.email),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"email\", $$v)},expression:\"accountEditModel.email\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(_vm._s(_vm.$t('Dies ist Ihre primäre E-Mail Adresse')))])],1),_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Projektzeiterfassung'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Projektzeiterfassung')))]),_c('div',{staticClass:\"flex items-center\"},[_c('st-toggle',{attrs:{\"value\":_vm.useProjectTimeTracking,\"type\":\"right\"},on:{\"input\":function($event){_vm.useProjectTimeTracking = $event}}},[_vm._v(\" \"+_vm._s(_vm.$t('Zeiten auf Projekte und Leistungen buchen, Stundensätze hinterlegen und Rechnungen schreiben.'))+\" \")])],1)]),(_vm.wantsToUpgradeToProjectTimeTracking && !_vm.loading)?_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"}),_c('div',{staticClass:\"alert alert-red\"},[_vm._v(\" \"+_vm._s(_vm.$t( 'Sie haben aktuell nur die Basis-Funktionen von SpikeTime lizenziert. Bitte schreiben Sie uns eine Mail an mail@spiketime.de oder nutzen Sie das Support-Formular für eine Freischaltung.' ))+\" \")])]):_vm._e(),(_vm.featureFlagFixedPriceProjects)?_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Festpreisprojekte')))]),_c('div',{staticClass:\"flex items-center\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.accountEditModel.useFixedPriceProjects),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"useFixedPriceProjects\", $$v)},expression:\"accountEditModel.useFixedPriceProjects\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Festpreisprojekte verwenden.'))+\" \")])],1)]):_vm._e(),_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Mitarbeiterdaten'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Abwesenheiten')))]),_c('div',{staticClass:\"flex items-center\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.accountEditModel.useAbsences),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"useAbsences\", $$v)},expression:\"accountEditModel.useAbsences\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Abwesenheiten verwalten'))+\" \")])],1)]),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Mit diesem Schalter aktivieren Sie die Abwesenheitsverwaltung, d.h. die Verwaltung von Urlaub, Krankheit und Feiertagen'))+\" \")])],1),(_vm.useDisableVacationCarryover && _vm.accountEditModel.useAbsences)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"}),_c('div',{staticClass:\"flex items-center\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.accountEditModel.disableVacationCarryOver),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"disableVacationCarryOver\", $$v)},expression:\"accountEditModel.disableVacationCarryOver\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Resturlaub nicht automatisch übertragen'))+\" \")])],1)]),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Wenn dieser Schalter aktiviert ist, dann werden Resturlaube nicht automatisch in das Folgejahr übernommen (nicht empfohlen)'))+\" \")])],1)]:_vm._e(),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stundenkonten verwenden')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.accountEditModel.useTimeAccount),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"useTimeAccount\", $$v)},expression:\"accountEditModel.useTimeAccount\"}},[_vm._v(_vm._s(_vm.$t('Stundenkonten verwenden')))])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t( 'Aktiviert die Stundenkonten und Sollstundenerfassung für Mitarbeiter - wenn keine Sollstunden eingegeben werden, dann werden nur die Ist-Stunden im Stundenkonto angezeigt' ))+\" \")])],1),(_vm.accountEditModel.featureFlagInternalUserCost && _vm.useProjectTimeTracking && !_vm.wantsToUpgradeToProjectTimeTracking)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiterkosten verwenden')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.accountEditModel.useInternalUserCost),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"useInternalUserCost\", $$v)},expression:\"accountEditModel.useInternalUserCost\"}},[_vm._v(_vm._s(_vm.$t('Interne Mitarbeiterkosten verwenden')))])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Damit können interne Kosten für die Mitarbeiter vergeben werden. Diese werden dann in den Projektberichten verwendet, um die Marge zu berechnen.'))+\" \")])],1)]:_vm._e(),(_vm.useProjectTimeTracking && !_vm.wantsToUpgradeToProjectTimeTracking)?[_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Stundensätze'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stundensätze')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.useRates),callback:function ($$v) {_vm.useRates=$$v},expression:\"useRates\"}},[_vm._v(_vm._s(_vm.$t('Stundensätze verwenden')))])],1),(!_vm.noRates)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Globaler Stundensatz')))]),_c('st-currency-input',{model:{value:(_vm.accountEditModel.globalRate),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"globalRate\", $$v)},expression:\"accountEditModel.globalRate\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Der globale Stundensatz wird immer verwendet, außer wenn beim Kunden, Projekt oder der Leistung ein abweichender Stundensatz definiert ist.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Währung')))]),_c('st-select',{attrs:{\"options\":['€', '$', 'CHF'],\"hideSearchBox\":true,\"name\":\"Währung\"},model:{value:(_vm.accountEditModel.currency),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"currency\", $$v)},expression:\"accountEditModel.currency\"}})],1),_c('div',{staticClass:\"explanation-container\"})]:_vm._e(),[_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungen'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Rechnungen')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.useOutgoingInvoices),callback:function ($$v) {_vm.useOutgoingInvoices=$$v},expression:\"useOutgoingInvoices\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungen erstellen'))+\" \")])],1),(!_vm.accountEditModel.noOutgoingInvoices && _vm.accountEditModel.featureFlagInvoiceEmail)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('E-Mail Versand')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.accountEditModel.useEmailSending),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"useEmailSending\", $$v)},expression:\"accountEditModel.useEmailSending\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungen aus SpikeTime versenden.'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Wir diese Option aktiviert, kann die Rechnung direkt aus SpikeTime heraus versendet werden. Der E-Mail Text kann pro Kunde festgelegt werden.'))+\" \")])],1)]:_vm._e()]]:_vm._e(),_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Farben und Logo'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Hauptfarbe')))]),_c('div',{staticClass:\"w-full flex items-center\"},[_c('st-input2',{staticClass:\"mr-4\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\",model:{value:(_vm.accountEditModel.mainColor),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"mainColor\", $$v)},expression:\"accountEditModel.mainColor\"}}),_c('v-swatches',{staticClass:\"flex items-center mr-4\",attrs:{\"swatches\":\"text-advanced\"},model:{value:(_vm.accountEditModel.mainColor),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"mainColor\", $$v)},expression:\"accountEditModel.mainColor\"}},[_c('div',{staticClass:\"h-full flex items-center\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('button',{staticClass:\"rounded-full shadow h-14 w-14 outline-none\",style:('background-color:' + _vm.accountEditModel.mainColor),attrs:{\"type\":\"button\"}})])]),_c('st-button-round',{staticStyle:{\"min-width\":\"2.5rem\"},attrs:{\"tooltip-text\":_vm.$t('Standardfarbe verwenden')},on:{\"click\":function($event){_vm.accountEditModel.mainColor = '#357ebd'}}},[_c('i',{staticClass:\"far fa-undo\"})])],1)]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Akzentfarbe')))]),_c('div',{staticClass:\"w-full flex items-center\"},[_c('st-input2',{staticClass:\"mr-4\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\",model:{value:(_vm.accountEditModel.secondaryColor),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"secondaryColor\", $$v)},expression:\"accountEditModel.secondaryColor\"}}),_c('v-swatches',{staticClass:\"flex items-center mr-4\",attrs:{\"swatches\":\"text-advanced\"},model:{value:(_vm.accountEditModel.secondaryColor),callback:function ($$v) {_vm.$set(_vm.accountEditModel, \"secondaryColor\", $$v)},expression:\"accountEditModel.secondaryColor\"}},[_c('div',{staticClass:\"h-full flex items-center\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('button',{staticClass:\"rounded-full shadow h-14 w-14 outline-none\",style:('background-color:' + _vm.accountEditModel.secondaryColor),attrs:{\"type\":\"button\"}})])]),_c('st-button-round',{staticStyle:{\"min-width\":\"2.5rem\"},attrs:{\"tooltip-text\":_vm.$t('Standardfarbe verwenden')},on:{\"click\":function($event){_vm.accountEditModel.secondaryColor = '#6ec06e'}}},[_c('i',{staticClass:\"far fa-undo\"})])],1)]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('input',{ref:\"file\",staticClass:\"hidden\",attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.upload()}}}),_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Eigenes Logo')))]),_c('div',{staticClass:\"w-full flex items-center\"},[(!_vm.logo)?_c('span',{staticClass:\"mr-4\"},[_vm._v(_vm._s(_vm.$t('Kein eigenes Logo gespeichert')))]):_c('img',{staticClass:\"mr-4 h-20\",attrs:{\"src\":_vm.logo,\"alt\":\"\"}}),_c('st-button-round',{attrs:{\"tooltip-text\":_vm.$t('Logo hochladen')},on:{\"click\":_vm.openFileSelect}},[_c('i',{staticClass:\"far fa-upload\"})]),(_vm.accountEditModel.logoFileName)?_c('st-delete-button',{on:{\"delete\":_vm.deleteLogo}}):_vm._e()],1)]),_c('div',{staticClass:\"explanation-container\"}),_c('div',{staticClass:\"col-start-1 col-end-6 text-right mt-6\"},[_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid || _vm.wantsToUpgradeToProjectTimeTracking,\"loading\":_vm.saveLoading,\"type\":\"submit\"}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Einstellungen speichern'))+\" \")])],1)],2)]}}])})]},proxy:true},{key:\"timeTracking\",fn:function(){return [_c('account-settings-time-tracking',{attrs:{\"use-project-time-tracking\":_vm.useProjectTimeTracking && !_vm.wantsToUpgradeToProjectTimeTracking}})]},proxy:true},{key:\"invoice\",fn:function(){return [_c('account-settings-invoice',{attrs:{\"use-email-sending\":_vm.accountEditModel.useEmailSending}})]},proxy:true},{key:\"privacy\",fn:function(){return [_c('account-settings-privacy')]},proxy:true},{key:\"termination\",fn:function(){return [_c('account-settings-delete-account')]},proxy:true}]),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submitInvoice()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-6 lg:grid-cols-9 2xl:grid-cols-10 relative\"},[_c('st-loading',{attrs:{\"delayLoading\":_vm.loadingOverlay}}),_c('p',{staticClass:\"col-span-full mt-4 mb-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Hier können Sie Einstellungen für Ihre ausgehenden Rechnungen vornehmen.'))+\" \")]),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Allgemein'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('E-Rechnung')))]),_c('div',{staticClass:\"flex items-center\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.useEInvoice),callback:function ($$v) {_vm.$set(_vm.editModel, \"useEInvoice\", $$v)},expression:\"editModel.useEInvoice\"}},[_vm._v(\" \"+_vm._s(_vm.$t('E-Rechnung verwenden'))+\" \")])],1)]),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Damit wird die Einbettung von E-Rechnung (XRechnung) XML-Daten in die von SpikeTime generierten Rechnungen aktiviert.'))+\" \")])],1),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungslogo'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('input',{ref:\"file\",staticClass:\"hidden\",attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.upload()}}}),_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Logo')))]),_c('div',{staticClass:\"w-full flex items-center\"},[(!_vm.logo)?_c('span',{staticClass:\"mr-4\"},[_vm._v(_vm._s(_vm.$t('Kein eigenes Logo gespeichert')))]):_c('img',{staticClass:\"mr-4 h-20\",attrs:{\"src\":_vm.logo,\"alt\":\"\"}}),_c('st-button-round',{attrs:{\"tooltip-text\":_vm.$t('Logo hochladen')},on:{\"click\":_vm.openFileSelect}},[_c('i',{staticClass:\"far fa-upload\"})]),(_vm.editModel.logoFileName)?_c('st-delete-button',{on:{\"delete\":_vm.deleteLogo}}):_vm._e()],1)]),_c('div',{staticClass:\"explanation-container\"}),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsabsender'))+\" \")]),(_vm.editModel.useEInvoice)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Firma')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Firma'),\"placeholder\":_vm.$t('Firmenname')},model:{value:(_vm.editModel.companyName),callback:function ($$v) {_vm.$set(_vm.editModel, \"companyName\", $$v)},expression:\"editModel.companyName\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Ansprechpartner')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Ansprechpartner'),\"placeholder\":_vm.$t('Ansprechpartner')},model:{value:(_vm.editModel.contactName),callback:function ($$v) {_vm.$set(_vm.editModel, \"contactName\", $$v)},expression:\"editModel.contactName\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Ansprechpartner E-Mail')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Ansprechpartner E-Mail'),\"placeholder\":_vm.$t('Ansprechpartner E-Mail')},model:{value:(_vm.editModel.contactEmail),callback:function ($$v) {_vm.$set(_vm.editModel, \"contactEmail\", $$v)},expression:\"editModel.contactEmail\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Ansprechpartner Telefon')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Ansprechpartner Telefon'),\"placeholder\":_vm.$t('Ansprechpartner Telefon')},model:{value:(_vm.editModel.contactPhone),callback:function ($$v) {_vm.$set(_vm.editModel, \"contactPhone\", $$v)},expression:\"editModel.contactPhone\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Adresse')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Straße und Nummer'),\"placeholder\":_vm.$t('Straße und Hausnummer')},model:{value:(_vm.editModel.streetAddress),callback:function ($$v) {_vm.$set(_vm.editModel, \"streetAddress\", $$v)},expression:\"editModel.streetAddress\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('PLZ')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Zip'),\"placeholder\":_vm.$t('Postleitzahl')},model:{value:(_vm.editModel.zip),callback:function ($$v) {_vm.$set(_vm.editModel, \"zip\", $$v)},expression:\"editModel.zip\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Ort')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Ort'),\"placeholder\":_vm.$t('Ort')},model:{value:(_vm.editModel.city),callback:function ($$v) {_vm.$set(_vm.editModel, \"city\", $$v)},expression:\"editModel.city\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Land')))]),_c('st-select',{attrs:{\"name\":\"Country\",\"options\":_vm.countries,\"multiple\":false,\"placeholder\":_vm.$t('Land auswählen')},model:{value:(_vm.editModel.country),callback:function ($$v) {_vm.$set(_vm.editModel, \"country\", $$v)},expression:\"editModel.country\"}})],1),(_vm.editModel.country == 'DE')?_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Steuernummer (DE)')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Steuernummer (DE)'),\"placeholder\":_vm.$t('Steuernummer')},model:{value:(_vm.editModel.taxNumberDe),callback:function ($$v) {_vm.$set(_vm.editModel, \"taxNumberDe\", $$v)},expression:\"editModel.taxNumberDe\"}})],1):_vm._e(),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('USt ID')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('USt ID'),\"placeholder\":_vm.$t('DE123456767')},model:{value:(_vm.editModel.vatId),callback:function ($$v) {_vm.$set(_vm.editModel, \"vatId\", $$v)},expression:\"editModel.vatId\"}})],1)]:_vm._e(),(!_vm.editModel.useEInvoice)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6 items-start\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Absender')))]),_c('st-textarea',{attrs:{\"is-native\":true,\"name\":_vm.$t('Absender'),\"rows\":\"4\",\"type\":\"textarea\",\"placeholder\":_vm.$t('Absender der Rechnung - Ihre Adresse')},model:{value:(_vm.editModel.addressFrom),callback:function ($$v) {_vm.$set(_vm.editModel, \"addressFrom\", $$v)},expression:\"editModel.addressFrom\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Kann in der Rechnung überschrieben werden.'))+\" \")])],1)]:_vm._e(),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Standard-Texte'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Titel')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Titel'),\"placeholder\":_vm.$t('Standard-Betreffzeile der Rechnungen')},model:{value:(_vm.editModel.title),callback:function ($$v) {_vm.$set(_vm.editModel, \"title\", $$v)},expression:\"editModel.title\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Kann in den Kundenstammdaten und in der Rechnung überschrieben werden.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6 items-start\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Anrede')))]),_c('st-textarea',{attrs:{\"is-native\":true,\"placeholder\":_vm.$t('Standardanrede der Rechnungen - der Platzhalter {Ansprechpartner} kann verwendet werden um den in den Kundenstammdaten hinterlegten Ansprechpartner zu übernehmen.'),\"rows\":\"4\",\"name\":_vm.$t('Anrede')},model:{value:(_vm.editModel.description),callback:function ($$v) {_vm.$set(_vm.editModel, \"description\", $$v)},expression:\"editModel.description\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Der Platzhalter {Ansprechpartner} kann verwendet werden um den in den Kundenstammdaten hinterlegten Ansprechpartner zu übernehmen.'))+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Kann in den Kundenstammdaten und in der Rechnung überschrieben werden.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6 items-start\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Zahlungsinformationen / Kontodaten')))]),_c('st-textarea',{attrs:{\"is-native\":true,\"name\":_vm.$t('Kontodaten'),\"rows\":\"4\",\"type\":\"textarea\",\"placeholder\":_vm.$t('Standardhinweis / Kontodaten für ausgehende Rechnungsemails')},model:{value:(_vm.editModel.paymentTerms),callback:function ($$v) {_vm.$set(_vm.editModel, \"paymentTerms\", $$v)},expression:\"editModel.paymentTerms\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Kann in den Kundenstammdaten und in der Rechnung überschrieben werden.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6 items-start\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Fußzeile')))]),_c('st-textarea',{attrs:{\"is-native\":true,\"name\":_vm.$t('Fußzeile'),\"rows\":\"4\",\"type\":\"textarea\",\"placeholder\":_vm.$t('Standard-Fußzeile für ausgehende Rechnungsemails')},model:{value:(_vm.editModel.footer),callback:function ($$v) {_vm.$set(_vm.editModel, \"footer\", $$v)},expression:\"editModel.footer\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Kann in der Rechnung überschrieben werden. Markdown wird zur Formatierung unterstützt.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Standardtext für Rechnungspositionen')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Standardtext für Rechnungspositionen'),\"placeholder\":_vm.$t('Standardtext für Rechnungspositionen'),\"type\":\"text\"},model:{value:(_vm.editModel.defaultPositionText),callback:function ($$v) {_vm.$set(_vm.editModel, \"defaultPositionText\", $$v)},expression:\"editModel.defaultPositionText\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Eine Gruppierung nach Stundensatz oder Leistung (wenn keine Leistung für den Zeiteintrag gewählt wurde) in der Rechnung zeigt diesen Text an.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Ist das Feld nicht gesetzt, wird der Stundensatz-Wert angezeigt.'))+\" \")])],1),(_vm.useEmailSending)?[_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail Vorbelegung'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('E-Mail Betreff')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('E-Mail Betreff'),\"placeholder\":_vm.$t('Standardbetreff für ausgehende Rechnungsemails')},model:{value:(_vm.editModel.emailSubject),callback:function ($$v) {_vm.$set(_vm.editModel, \"emailSubject\", $$v)},expression:\"editModel.emailSubject\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Kann in den Kundenstammdaten und in der Rechnung überschrieben werden.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6 items-start\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('E-Mail Text')))]),_c('st-textarea',{attrs:{\"is-native\":true,\"rows\":\"7\",\"name\":_vm.$t('E-Mail Text'),\"placeholder\":_vm.$t('Standardtext für ausgehende Rechnungsemails')},model:{value:(_vm.editModel.emailText),callback:function ($$v) {_vm.$set(_vm.editModel, \"emailText\", $$v)},expression:\"editModel.emailText\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Kann in den Kundenstammdaten und in der Rechnung überschrieben werden.'))+\" \")])],1)]:_vm._e(),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsnummer'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Rechnungsnummer')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.useAutomaticInvoiceNo),callback:function ($$v) {_vm.$set(_vm.editModel, \"useAutomaticInvoiceNo\", $$v)},expression:\"editModel.useAutomaticInvoiceNo\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsnummer wird automatisch generiert'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"}),(_vm.editModel.useAutomaticInvoiceNo)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Prefix')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Prefix'),\"placeholder\":_vm.$t('Prefix'),\"type\":\"text\"},on:{\"input\":_vm.loadCurrentLocalIncrementValue},model:{value:(_vm.editModel.prefix),callback:function ($$v) {_vm.$set(_vm.editModel, \"prefix\", $$v)},expression:\"editModel.prefix\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Prefix vor der Rechnungsnummer, z.B.: '))+\" \"),_c('strong',[_vm._v(\"R\")]),_vm._v(\" 20200101001 \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Prefix Datumsformat')))]),_c('st-select',{attrs:{\"options\":_vm.prefixDateFormatOptions},on:{\"input\":_vm.loadCurrentLocalIncrementValue},model:{value:(_vm.editModel.prefixDateFormat),callback:function ($$v) {_vm.$set(_vm.editModel, \"prefixDateFormat\", $$v)},expression:\"editModel.prefixDateFormat\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Prefix vor der laufenden Nummer als Datumsformat, z.B.: '))+\" R \"),_c('strong',[_vm._v(\"20200101\")]),_vm._v(\" 001 \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Laufende Nummer')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},on:{\"input\":_vm.loadCurrentLocalIncrementValue},model:{value:(_vm.editModel.useGlobalIncrementValue),callback:function ($$v) {_vm.$set(_vm.editModel, \"useGlobalIncrementValue\", $$v)},expression:\"editModel.useGlobalIncrementValue\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Einfache Zählung der laufenden Nummer'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Wenn \"Einfache Zählung der laufenden Nummer\" aktiviert ist, wird die laufende Nummer mit jeder Rechnung erhöht. Die Nummer kann jederzeit geändert werden'))+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Ansonsten beginnt die Laufende Nummer bei jeder Prefix Änderung wieder bei 1.'))+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Wir beispielsweise yyyyMM als Datumsprefix ausgewählt, beginnt die Laufende Nummer jeden Monat wieder bei 1.'))+\" \")])],1),(_vm.editModel.useGlobalIncrementValue)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Aktuelle Laufende Nummer')))]),_c('st-edit-div',{attrs:{\"edit-tooltip\":_vm.$t('Aktuelle laufende Nummer überschreiben?')},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('st-input2',{attrs:{\"name\":_vm.$t('Aktuelle Laufende Nummer'),\"rules\":\"required\",\"step\":\"1\",\"type\":\"number\"},model:{value:(_vm.currentGlobalIncNo),callback:function ($$v) {_vm.currentGlobalIncNo=$$v},expression:\"currentGlobalIncNo\"}})]},proxy:true}],null,true),model:{value:(_vm.currentGlobalIncNo),callback:function ($$v) {_vm.currentGlobalIncNo=$$v},expression:\"currentGlobalIncNo\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Laufende Nummer der Rechnung. Dieser Wert wird für jede Rechnung um 1 erhöht.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Dieser Wert sollte nur überschrieben werden, wenn man die Rechnungsstellung z.B.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(' in einem anderen System durchgeführt hat und zu SpikeTime wechseln möchte.'))+\" \")])],1)]:[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Aktuelle laufende Nummer')))]),_c('span',[_vm._v(_vm._s(_vm.localCurrentIncrementValue))])])],_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('x Stellen mit 0 auffüllen')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('x Stellen mit 0 auffüllen'),\"placeholder\":_vm.$t('3'),\"step\":\"1\",\"type\":\"number\"},model:{value:(_vm.editModel.incrementNoOfZerosToPad),callback:function ($$v) {_vm.$set(_vm.editModel, \"incrementNoOfZerosToPad\", $$v)},expression:\"editModel.incrementNoOfZerosToPad\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Laufende Nummer wird auf x Stellen mit 0 gefüllt z.B'))+\" R20200101 \"),_c('strong',[_vm._v(\"001\")])])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Rechnungsnummer Vorschau')))]),_c('span',[_vm._v(_vm._s(_vm.invoiceNoPreview))])]),_c('div',{staticClass:\"explanation-container\"})]:_vm._e(),_c('div',{staticClass:\"col-start-1 col-end-6 text-right mt-6\"},[_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid,\"loading\":_vm.loading,\"type\":\"submit\"}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Einstellungen speichern'))+\" \")])],1)],2)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings-separator\"},[_c('i',{staticClass:\"far fa-cog\"}),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport {successButtonColorClass} from '@/utlitities/color';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class StSettingsSeparator extends Vue {\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSettingsSeparator.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSettingsSeparator.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StSettingsSeparator.vue?vue&type=template&id=21e9c678&\"\nimport script from \"./StSettingsSeparator.vue?vue&type=script&lang=ts&\"\nexport * from \"./StSettingsSeparator.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StSettingsSeparator.vue?vue&type=style&index=0&id=21e9c678&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\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\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\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { outgoingInvoiceApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport { OutgoingInvoiceSettingsEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport StSettingsSeparator from '@/components/basic/Form/StSettingsSeparator.vue';\n\n@Component({\n components: { StSettingsSeparator },\n})\nexport default class AccountSettingsInvoice extends Vue {\n @Prop() isModal!: boolean;\n @Prop() useEmailSending!: boolean;\n loading: boolean = false;\n loadingOverlay: boolean = false;\n editModel: OutgoingInvoiceSettingsEditModel = OutgoingInvoiceSettingsEditModel.fromJS({});\n logo: string = '';\n localCurrentIncrementValue = 0;\n\n async mounted() {\n try {\n this.loadingOverlay = true;\n this.$emit('loadStart');\n await this.loadData();\n } finally {\n this.loadingOverlay = false;\n this.$emit('loadEnd');\n }\n }\n\n async loadData() {\n this.editModel = await outgoingInvoiceApi.getSettingsEditModel();\n await this.$nextTick();\n await this.loadCurrentLocalIncrementValue();\n\n let file = await outgoingInvoiceApi.getSettingsLogo();\n if (!!file?.data?.size) {\n this.logo = URL.createObjectURL(file.data);\n } else {\n this.logo = '';\n }\n }\n\n get currentGlobalIncNo() {\n return (this.editModel.currentIncrementValue ?? 0) + 1;\n }\n\n set currentGlobalIncNo(no: number) {\n this.editModel.currentIncrementValue = no - 1;\n }\n\n get prefix() {\n let datePrefix = '';\n if (this.editModel.prefixDateFormat) {\n datePrefix = UserStore.userNowDateTime.toFormat(this.editModel.prefixDateFormat);\n }\n\n return (this.editModel.prefix ?? '') + datePrefix;\n }\n\n async loadCurrentLocalIncrementValue() {\n if (!this.editModel.useGlobalIncrementValue) {\n this.localCurrentIncrementValue = await outgoingInvoiceApi.getCurrentLocalIncrementValue(this.prefix);\n }\n }\n\n get prefixDateFormatOptions() {\n return [\n { value: null as any, description: this.$t('Kein Datums-Prefix') },\n { value: 'yyyyMMdd', description: '20230101 - yyyyMMdd' },\n { value: 'yyyy-MM-dd', description: '2023-01-01 - yyyy-MM-dd' },\n { value: 'yyyyMM', description: '202301 - yyyyMM' },\n { value: 'yy-MM', description: '23-01 - yy-MM' },\n { value: 'yyyy', description: '2023 - yyyy' },\n ];\n }\n\n get invoiceNoPreview() {\n let invoiceNo = this.editModel.prefix ?? '';\n\n if (this.editModel.prefixDateFormat) {\n invoiceNo += UserStore.userNowDateTime.toFormat(this.editModel.prefixDateFormat);\n }\n\n let incrementVal = '1';\n\n if (this.editModel.useGlobalIncrementValue) {\n incrementVal = this.currentGlobalIncNo?.toString() ?? '1';\n } else {\n incrementVal = this.localCurrentIncrementValue.toString();\n }\n\n invoiceNo += incrementVal.padStart(this.editModel.incrementNoOfZerosToPad ?? 0, '0');\n\n return invoiceNo;\n }\n\n get countries(): any[] {\n const countries = [\n {\n value: 'DE',\n description: 'Deutschland',\n },\n {\n value: 'AT',\n description: 'Österreich',\n },\n {\n value: 'CH',\n description: 'Schweiz',\n }\n ,\n {\n value: 'NL',\n description: 'Niederlande',\n }\n ,\n {\n value: 'BE',\n description: 'Belgien',\n }\n ,\n {\n value: 'FR',\n description: 'Frankreich',\n }\n ,\n {\n value: 'DK',\n description: 'Dänemark',\n }\n ];\n return countries;\n }\n\n async deleteLogo() {\n try {\n this.loadingOverlay = true;\n await outgoingInvoiceApi.deleteLogo();\n await this.loadData();\n } finally {\n this.loadingOverlay = false;\n }\n }\n\n openFileSelect() {\n (this.$refs.file as HTMLInputElement).click();\n }\n\n async upload() {\n try {\n this.loadingOverlay = true;\n this.$emit('loadStart');\n //@ts-ignore\n if (!(this.$refs.file as HTMLInputElement).files[0]) {\n return;\n }\n //@ts-ignore\n const fileData = (this.$refs.file as HTMLInputElement).files[0] as any;\n await outgoingInvoiceApi.uploadLogo({ data: fileData, fileName: fileData.name });\n await this.loadData();\n } finally {\n this.loadingOverlay = false;\n this.$emit('loadEnd');\n }\n }\n\n async submitInvoice() {\n try {\n this.loading = true;\n await outgoingInvoiceApi.updateSettings(this.editModel);\n notifySuccess('Gespeichert');\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsInvoice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsInvoice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccountSettingsInvoice.vue?vue&type=template&id=5127c573&\"\nimport script from \"./AccountSettingsInvoice.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccountSettingsInvoice.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.storeAdv()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-6 lg:grid-cols-9 2xl:grid-cols-10\"},[_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Vertrag zur Auftragsverarbeitung gemäß Artikel 28 DSGVO'))+\" \")]),_c('div',{staticClass:\"col-span-full\"},[_c('p',[_vm._v(\" Am 25. Mai 2018 trat die neue Verordnung zur Verarbeitung personenbezogener Daten durch private Unternehmen und öffentliche Stellen in Kraft. Wenn Ihr Firmensitz innerhalb der EU liegt oder Sie Kunden aus der EU betreuen, müssen Sie bis zum Stichtag eine Vereinbarung zur Auftragsverarbeitung mit uns abschließen. Hier finden Sie die Angaben über technische und organisatorische Maßnahmen, die bei der Verarbeitung personenbezogener Daten ein angemessenes Schutzniveau gewährleisten. \")]),_c('p',{staticClass:\"mt-8 mb-8 pl-8\"},[_c('a',{staticClass:\"text-underline\",attrs:{\"href\":\"SpikeTime-TOM.pdf\",\"target\":\"_blank\"}},[_c('i',{staticClass:\"far fa-download\"}),_vm._v(\" Download Technische und organisatorische Maßnahmen \")])]),_c('p',{staticClass:\"mt-8 mb-8\"},[_vm._v(\" Hier finden Sie das AV-Vertragsmuster das die Verpflichtungen zum Datenschutz bei der Nutzung der Zeiterfassung SpikeTime (spiketime.de) nach Artikel 28 DSGVO beschreibt. Nachdem Sie einen Ansprechpartner hinterlegt haben, können Sie den fertig ausgefüllten Vertrag herunterladen. \")]),_c('p',{staticClass:\"mt-8 mb-8 pl-8\"},[_c('a',{staticClass:\"cursor-pointer text-underline\",attrs:{\"target\":\"_blank\"},on:{\"click\":_vm.downloadPdf}},[_c('i',{staticClass:\"far fa-download\"}),_vm._v(\" Download AV-Vertragsmuster \")])])]),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Vertragspartner'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Firma')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Firma'),\"placeholder\":_vm.$t('Firma'),\"type\":\"text\",\"rules\":\"required\"},model:{value:(_vm.editModel.advCompany),callback:function ($$v) {_vm.$set(_vm.editModel, \"advCompany\", $$v)},expression:\"editModel.advCompany\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Hauptsitz')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Firma'),\"placeholder\":_vm.$t('Adresse'),\"type\":\"text\",\"rules\":\"required\"},model:{value:(_vm.editModel.advCompanyAddress),callback:function ($$v) {_vm.$set(_vm.editModel, \"advCompanyAddress\", $$v)},expression:\"editModel.advCompanyAddress\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Ansprechpartner')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Firma'),\"placeholder\":_vm.$t('Ansprechpartner'),\"type\":\"text\",\"rules\":\"required\"},model:{value:(_vm.editModel.advContactName),callback:function ($$v) {_vm.$set(_vm.editModel, \"advContactName\", $$v)},expression:\"editModel.advContactName\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('E-Mail')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('E-Mail'),\"placeholder\":_vm.$t('E-Mail'),\"type\":\"text\",\"rules\":\"required|email\"},model:{value:(_vm.editModel.advContactEmail),callback:function ($$v) {_vm.$set(_vm.editModel, \"advContactEmail\", $$v)},expression:\"editModel.advContactEmail\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Telefon')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Telefon'),\"placeholder\":_vm.$t('Telefon'),\"type\":\"text\"},model:{value:(_vm.editModel.advContactPhone),callback:function ($$v) {_vm.$set(_vm.editModel, \"advContactPhone\", $$v)},expression:\"editModel.advContactPhone\"}})],1),_c('div',{staticClass:\"col-start-1 col-end-6 text-right mt-6\"},[_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid,\"loading\":_vm.loading,\"type\":\"submit\"}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Vertrag abschließen'))+\" \")])],1),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Vertrag'))+\" \")]),_c('div',{staticClass:\"col-span-full\"},[(!_vm.editModel.hasAdv)?_c('div',[_c('p',{staticClass:\"mt-8\"},[_c('i',{staticClass:\"far fa-times\"}),_vm._v(\" Sie haben noch keinen Vertrag zur Auftragsdatenverarbeitung abgeschlossen \")])]):_c('div',[_c('p',{staticClass:\"mt-8\"},[_c('i',{staticClass:\"far fa-check\"}),_vm._v(\" Sie haben einen Vertrag zur Auftragsdatenverarbeitung abgeschlossen \")]),_c('p',{staticClass:\"mt-8 mb-8 pl-8\"},[_c('st-button',{staticClass:\"white\",attrs:{\"type\":\"button\",\"loading\":_vm.loading,\"icon\":\"far fa-download\"},on:{\"click\":_vm.downloadPdf}},[_vm._v(\"Download Vertrag zur Auftragsdatenverarbeitung\")])],1)])])],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { stAccountApi } from '@/services/st-api';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport { AccountAdvEditModel } from '@/services/api/nswag/stapiclient_generated';\n//@ts-ignore\nimport * as FileSaver from 'file-saver';\nimport StSettingsSeparator from '@/components/basic/Form/StSettingsSeparator.vue';\n\n@Component({\n components: {StSettingsSeparator},\n})\nexport default class AccountSettingsPrivacy extends Vue {\n loading: boolean = false;\n editModel: AccountAdvEditModel = AccountAdvEditModel.fromJS({});\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n this.editModel = await stAccountApi.getAdvEditModel();\n }\n\n async downloadPdf() {\n this.loading = true;\n let fileData = await stAccountApi.getAdvContractPdf();\n FileSaver.saveAs(fileData.data, fileData.fileName);\n this.loading = false;\n }\n\n async storeAdv() {\n try {\n this.loading = true;\n await stAccountApi.saveAdvData(this.editModel);\n await this.loadData();\n notifySuccess('Gespeichert');\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsPrivacy.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsPrivacy.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccountSettingsPrivacy.vue?vue&type=template&id=0407c5b4&\"\nimport script from \"./AccountSettingsPrivacy.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccountSettingsPrivacy.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.deleteAccount()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-6 lg:grid-cols-9 2xl:grid-cols-10\"},[_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Account löschen'))+\" \")]),_c('div',{staticClass:\"col-span-full\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Hier können Sie Ihren Account löschen. Wenn Sie Ihren Account löschen möchten, geben Sie folgendes in das Überprüfungsfeld ein:'))+\" \"),_c('span',{staticClass:\"font-bold\"},[_vm._v(\"JIWMAWL\")])]),_c('p',{staticClass:\"mt-4 mb-8\"},[_vm._v(_vm._s(_vm.$t('Wir würden uns sehr freuen, wenn Sie uns den Grund für die Löschung mitteilen, damit wir SpikeTime besser machen können.')))])]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Überprüfung')))]),_c('st-input2',{attrs:{\"name\":_vm.$t('Check'),\"placeholder\":_vm.$t('JIWMAWL'),\"type\":\"text\",\"rules\":\"required\"},model:{value:(_vm.editModel.checkPhrase),callback:function ($$v) {_vm.$set(_vm.editModel, \"checkPhrase\", $$v)},expression:\"editModel.checkPhrase\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Grund für die Löschung')))]),_c('st-textarea',{attrs:{\"isNative\":true,\"name\":_vm.$t('Grund'),\"placeholder\":_vm.$t('Wir freuen uns über jeden Hinweis, wie wir SpikeTime verbessern können'),\"type\":\"text\",\"rows\":\"4\"},model:{value:(_vm.editModel.reason),callback:function ($$v) {_vm.$set(_vm.editModel, \"reason\", $$v)},expression:\"editModel.reason\"}})],1),_c('div',{staticClass:\"col-start-1 col-end-6 text-right mt-6\"},[_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid,\"loading\":_vm.loading,\"type\":\"submit\"}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Account löschen'))+\" \")])],1)],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { stAccountApi } from '@/services/st-api';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport { DeleteAccountEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport StSettingsSeparator from '@/components/basic/Form/StSettingsSeparator.vue';\n\n@Component({\n components: {StSettingsSeparator},\n})\nexport default class AccountSettingsPrivacy extends Vue {\n loading: boolean = false;\n editModel: DeleteAccountEditModel = DeleteAccountEditModel.fromJS({});\n\n async deleteAccount() {\n try {\n this.loading = true;\n await stAccountApi.deleteAccount(this.editModel);\n notifySuccess('Der Account wurde gelöscht');\n alert('Der Account wurde gelöscht!');\n window.location.href = \"https://www.spiketime.de\";\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsDeleteAccount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsDeleteAccount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccountSettingsDeleteAccount.vue?vue&type=template&id=7e9303c0&\"\nimport script from \"./AccountSettingsDeleteAccount.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccountSettingsDeleteAccount.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-6 lg:grid-cols-9 2xl:grid-cols-10 relative\"},[_c('st-loading',{attrs:{\"delayLoading\":_vm.loadingOverlay}}),_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Zeiterfassung'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Erlaubte Eingabemethoden')))]),_c('st-select',{attrs:{\"options\":_vm.timeEntryModes,\"hideSearchBox\":true,\"idProp\":\"id\",\"labelProp\":\"description\",\"name\":_vm.$t('Erlaubte Eingabemethoden')},on:{\"input\":_vm.checkPauseMode},model:{value:(_vm.editModel.timeEntryMode),callback:function ($$v) {_vm.$set(_vm.editModel, \"timeEntryMode\", $$v)},expression:\"editModel.timeEntryMode\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t( 'Hier legen Sie fest, wie die Zeit eingegeben werden kann. Bei Auswahl \"Dauer und Zeit von-bis\" wird die Voreinstellung für neue Zeiteinträge jeweils vom letzten Zeiteintrag des gewählten Projekts genommen.' ))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Erfassung von Pausen')))]),_c('st-select',{attrs:{\"options\":_vm.pauseModes,\"hideSearchBox\":true,\"idProp\":\"id\",\"labelProp\":\"description\",\"name\":_vm.$t('Erfassung von Pausen')},on:{\"input\":_vm.checkPauseMode},model:{value:(_vm.editModel.pauseMode),callback:function ($$v) {_vm.$set(_vm.editModel, \"pauseMode\", $$v)},expression:\"editModel.pauseMode\"}})],1),_c('div',{staticClass:\"explanation-container\"}),(_vm.editModel.pauseMode != 'None' && _vm.editModel.timeEntryMode !== 'Duration')?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Gesetzliche Pauseregeln')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.usePauseRuleWarnings),callback:function ($$v) {_vm.$set(_vm.editModel, \"usePauseRuleWarnings\", $$v)},expression:\"editModel.usePauseRuleWarnings\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Einhaltung der gesetzlichen Pausen pro Tag überwachen.'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Die Pausenregeln des jeweiligen Landes werden überwacht. Der Mitarbeiter erhält eine entsprechende Warnung auf der Seite Zeiten.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Der verwendete Feiertagskalender ist ausschlaggebend für das Land des Mitarbeiters. Ist dieser nicht gesetzt, wird das Land des Accounts verwendet.'))+\" \")])],1)]:_vm._e(),(_vm.editModel.pauseMode == 'TimeEntry' && _vm.editModel.timeEntryMode !== 'Duration')?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"}),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.enforcePauseRules),callback:function ($$v) {_vm.$set(_vm.editModel, \"enforcePauseRules\", $$v)},expression:\"editModel.enforcePauseRules\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Gesetzliche Pause kann nicht unterschritten werden'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Die gesetzlich vorgeschriebene Pause pro Zeiteintrag wird automatisch eingetragen und kann nicht unterschritten werden.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Der verwendete Feiertagskalender ist ausschlaggebend für das Land des Mitarbeiters. Ist dieser nicht gesetzt, wird das Land des Accounts verwendet.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stoppuhr')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.openTimeEntryWhenStopStopwatch),callback:function ($$v) {_vm.$set(_vm.editModel, \"openTimeEntryWhenStopStopwatch\", $$v)},expression:\"editModel.openTimeEntryWhenStopStopwatch\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Zeiteintrag öffnen, wenn Stoppuhr gestoppt wird'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Wenn die Stoppuhr beendet wird, wird der erzeugte Zeiteintrag zur Bearbeitung geöffnet.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Diese Funktion erleichtert die Erfassung von Pflichtfeldern, da diese direkt eingetragen werden können.'))+\" \")])],1)]:_vm._e(),(_vm.useProjectTimeTracking)?[_c('div',{staticClass:\"form-group horizontal col-span-full\"},[_c('hr',{staticClass:\"w-full\"})]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Verrechenbarkeit')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.timeEntryIsBillableNotChangeable),callback:function ($$v) {_vm.$set(_vm.editModel, \"timeEntryIsBillableNotChangeable\", $$v)},expression:\"editModel.timeEntryIsBillableNotChangeable\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"'Ist verrechenbar' kann nicht überschrieben werden\"))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Ist diese Option aktiviert, kann die Einstellung \"Ist verrechnenbar\"'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('aus dem Projekt beim Erstellen eines Zeiteintrags nicht überschrieben werden.'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Leistung ist Pflichtfeld')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.projectTaskRequired),callback:function ($$v) {_vm.$set(_vm.editModel, \"projectTaskRequired\", $$v)},expression:\"editModel.projectTaskRequired\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Es muss eine Leistung ausgewählt werden'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"}),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Kategorie ist Pflichtfeld')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.tagsRequired),callback:function ($$v) {_vm.$set(_vm.editModel, \"tagsRequired\", $$v)},expression:\"editModel.tagsRequired\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Es muss eine Kategorie ausgewählt werden'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"})]:_vm._e(),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Mindestlänge der Beschreibung')))]),_c('div',{staticClass:\"w-40\"},[_c('st-input2',{attrs:{\"type\":\"number\"},model:{value:(_vm.editModel.descriptionMinChars),callback:function ($$v) {_vm.$set(_vm.editModel, \"descriptionMinChars\", $$v)},expression:\"editModel.descriptionMinChars\"}})],1)]),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Anzahl Zeichen die mindestens, pro Zeiteintrag im Beschreibungsfeld, eingegeben werden müssen.'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Werden weniger Zeichen eingegeben, ist ein Speichern des Eintrags nicht möglich'))+\" \")])],1),(_vm.useProjectTimeTracking)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Anzeige Budgetverbrauch')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.showConsumedBudgetOnSave),callback:function ($$v) {_vm.$set(_vm.editModel, \"showConsumedBudgetOnSave\", $$v)},expression:\"editModel.showConsumedBudgetOnSave\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Projektbudget beim Speichern anzeigen'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Zeigt das verbrauchte Budget direkt nach dem Speichern an. Mitarbeiter, die keine Umsätze sehen dürfen, sehen hier nur den prozentualen Verbrauch.'))+\" \")])],1)]:_vm._e(),_c('div',{staticClass:\"form-group horizontal col-span-full\"},[_c('hr',{staticClass:\"w-full\"})]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Gruppenerfassung')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.showAdditionalInsertAppUserSelect),callback:function ($$v) {_vm.$set(_vm.editModel, \"showAdditionalInsertAppUserSelect\", $$v)},expression:\"editModel.showAdditionalInsertAppUserSelect\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Zeiteintrag für mehrere Benutzer anlegen'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t( 'Wird ein neuer Zeiteintrag angelegt, können über eine Mehrfachauswahl, andere Benutzer hinzugefügt werden. Der Zeiteintrag wird für alle gewählten Benutzer gespeichert.' ))+\" \")])],1),(_vm.featureFlagMixedUsers && _vm.showMixed)?[_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Gemischte Zeiterfassung'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Standardprojekt für einfache Zeiterfassung')))]),_c('st-select',{attrs:{\"grouped\":true,\"options\":_vm.projects,\"placeholder\":\"Projekt auswählen\"},model:{value:(_vm.editModel.basicTimeTrackingDefaultProjectId),callback:function ($$v) {_vm.$set(_vm.editModel, \"basicTimeTrackingDefaultProjectId\", $$v)},expression:\"editModel.basicTimeTrackingDefaultProjectId\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Wenn Sie Mitarbeiter nur für die einfache Zeiterfassung freigeschaltet haben, legen Sie hier fest, auf welches Projekt diese automatisch buchen.'))+\" \")])],1)]:_vm._e(),_c('st-settings-separator',{staticClass:\"mt-4 col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Beschränkung der Eingabe'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Eingabe in Vergangenheit')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},on:{\"input\":function($event){_vm.editModel.restrictTimeEntryInPastNoOfDays = 7}},model:{value:(_vm.editModel.restrictTimeEntryInPast),callback:function ($$v) {_vm.$set(_vm.editModel, \"restrictTimeEntryInPast\", $$v)},expression:\"editModel.restrictTimeEntryInPast\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Eingabe von Zeiteinträgen weiter als x Tage in Vergangenheit verbieten'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"}),(_vm.editModel.restrictTimeEntryInPast)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Tage in Vergangenheit')))]),_c('div',{staticClass:\"w-40\"},[_c('st-input2',{attrs:{\"name\":_vm.$t('Tage in Vergangenheit'),\"type\":\"number\",\"required\":\"true\",\"min\":\"0\"},model:{value:(_vm.editModel.restrictTimeEntryInPastNoOfDays),callback:function ($$v) {_vm.$set(_vm.editModel, \"restrictTimeEntryInPastNoOfDays\", $$v)},expression:\"editModel.restrictTimeEntryInPastNoOfDays\"}})],1)]),_c('div',{staticClass:\"explanation-container\"})]:_vm._e(),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Eingabe in Zukunft')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},on:{\"input\":function($event){_vm.editModel.restrictTimeEntryInFutureNoOfDays = 7}},model:{value:(_vm.editModel.restrictTimeEntryInFuture),callback:function ($$v) {_vm.$set(_vm.editModel, \"restrictTimeEntryInFuture\", $$v)},expression:\"editModel.restrictTimeEntryInFuture\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Eingabe von Zeiteinträgen weiter als x Tage in Zukunft verbieten'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"}),(_vm.editModel.restrictTimeEntryInFuture)?[_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Tage in Zukunft')))]),_c('div',{staticClass:\"w-40\"},[_c('st-input2',{attrs:{\"name\":_vm.$t('Tage in Zukunft'),\"required\":\"true\",\"type\":\"number\",\"min\":\"0\"},model:{value:(_vm.editModel.restrictTimeEntryInFutureNoOfDays),callback:function ($$v) {_vm.$set(_vm.editModel, \"restrictTimeEntryInFutureNoOfDays\", $$v)},expression:\"editModel.restrictTimeEntryInFutureNoOfDays\"}})],1)]),_c('div',{staticClass:\"explanation-container\"}),_c('hr')]:_vm._e(),_c('div',{staticClass:\"col-start-1 col-end-6 text-right mt-6\"},[_c('st-button',{staticClass:\"green\",attrs:{\"disabled\":invalid,\"loading\":_vm.saveLoading,\"type\":\"submit\"}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Einstellungen speichern'))+\" \")])],1)],2)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { stAccountApi, stProjectApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport { AccountTimeTrackingSettingsEditModel, PauseMode, ProjectFilter, StSelectListItemGroup, TimeEntryModeEnum } from '@/services/api/nswag/stapiclient_generated';\nimport StSettingsSeparator from '@/components/basic/Form/StSettingsSeparator.vue';\n\n@Component({\n components: { StSettingsSeparator },\n})\nexport default class AccountSettingsTimeTracking extends Vue {\n @Prop() useProjectTimeTracking!: boolean;\n saveLoading: boolean = false;\n loading: boolean = false;\n loadingOverlay: boolean = false;\n editModel: AccountTimeTrackingSettingsEditModel = AccountTimeTrackingSettingsEditModel.fromJS({});\n logo: string = '';\n projects: StSelectListItemGroup[] = [];\n\n async mounted() {\n try {\n this.loadingOverlay = true;\n await this.loadData();\n } finally {\n this.loadingOverlay = false;\n }\n }\n\n get pauseModes() {\n let availableModes = Object.values(PauseMode);\n\n if (this.editModel.timeEntryMode == TimeEntryModeEnum.Duration) {\n availableModes = [PauseMode.None, PauseMode.Manual];\n }\n\n if (this.editModel.timeEntryMode == TimeEntryModeEnum.DurationAndTimeFromTo) {\n availableModes = [PauseMode.None, PauseMode.Manual, PauseMode.TimeEntry];\n }\n\n return availableModes.map((x) => {\n return {\n id: x,\n description: this.getTextFromPauseMode(x),\n };\n });\n }\n\n get timeEntryModes() {\n return Object.values(TimeEntryModeEnum).map((x) => {\n return {\n id: x,\n description: this.getTextFromTimeEntryMode(x),\n };\n });\n }\n\n get featureFlagMixedUsers() {\n return UserStore.userSettings.featureFlagMixedUsers;\n }\n\n get showMixed() {\n return this.$router.currentRoute.query[\"showMixed\"] == \"1\";\n }\n\n checkPauseMode() {\n if (this.editModel.timeEntryMode == TimeEntryModeEnum.Duration && (this.editModel.pauseMode == PauseMode.TimeEntry || this.editModel.pauseMode == PauseMode.Auto)) {\n this.editModel.pauseMode = PauseMode.Manual;\n this.editModel.enforcePauseRules = false;\n this.editModel.usePauseRuleWarnings = false;\n } else if (this.editModel.timeEntryMode == TimeEntryModeEnum.DurationAndTimeFromTo && this.editModel.pauseMode == PauseMode.Auto) {\n this.editModel.pauseMode = PauseMode.Manual;\n } else {\n switch (this.editModel.pauseMode) {\n case PauseMode.None:\n this.editModel.usePauseRuleWarnings = false;\n this.editModel.enforcePauseRules = false;\n break;\n case PauseMode.Manual:\n this.editModel.enforcePauseRules = false;\n break;\n case PauseMode.Auto:\n this.editModel.enforcePauseRules = false;\n break;\n case PauseMode.TimeEntry:\n break;\n default:\n break;\n }\n }\n }\n\n getTextFromPauseMode(mode: PauseMode) {\n switch (mode) {\n case PauseMode.None:\n return this.$t('Pausen nicht erfassen');\n case PauseMode.Manual:\n return this.$t('Pausen manuell erfassen');\n case PauseMode.Auto:\n return this.$t('Zeiten zwischen Zeiteinträgen mit Pause füllen');\n case PauseMode.TimeEntry:\n return this.$t('Pausen am Zeiteintrag erfassen');\n }\n }\n\n getTextFromTimeEntryMode(mode: TimeEntryModeEnum) {\n switch (mode) {\n case TimeEntryModeEnum.DurationAndTimeFromTo:\n return this.$t('Dauer und Zeit von-bis');\n case TimeEntryModeEnum.Duration:\n return this.$t('Nur Dauer');\n case TimeEntryModeEnum.TimeFromTo:\n return this.$t('Nur Zeit von-bis');\n }\n }\n\n async loadData() {\n this.editModel = await stAccountApi.getTimeTrackingSettings(UserStore.userSettings.accountId!);\n await this.loadProjects();\n }\n\n async loadProjects() {\n this.projects = await stProjectApi.getSelectListForTimeTracking();\n }\n\n async submit() {\n try {\n this.saveLoading = true;\n await stAccountApi.updateTimeTrackingSettings(UserStore.userSettings.accountId!, this.editModel);\n notifySuccess('Gespeichert');\n } finally {\n this.saveLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsTimeTracking.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingsTimeTracking.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccountSettingsTimeTracking.vue?vue&type=template&id=bd2371b2&\"\nimport script from \"./AccountSettingsTimeTracking.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccountSettingsTimeTracking.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\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\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { AccountEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAccountApi, stRateRuleApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport { notifySuccess, notifyWarning } from '@/utlitities/notifications';\nimport { AccountStore } from '@/store/account-module';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport { TabModel } from '@/components/tabs/tab-model';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\nimport StCurrencyInput from '@/components/basic/StCurrencyInput.vue';\nimport AccountSettingsPrivacy from '@/views/Settings/AccountSettingsPrivacy.vue';\nimport AccountSettingsDeleteAccount from '@/views/Settings/AccountSettingsDeleteAccount.vue';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport StSettingsSeparator from '@/components/basic/Form/StSettingsSeparator.vue';\nimport AccountSettingsTimeTracking from '@/views/Settings/AccountSettingsTimeTracking.vue';\n\n@Component({\n components: {\n AccountSettingsTimeTracking,\n StSettingsSeparator,\n StBadge,\n AccountSettingsDeleteAccount,\n AccountSettingsPrivacy,\n StTabs,\n AccountSettingsInvoice,\n StCurrencyInput,\n },\n})\nexport default class AccountSettings extends Vue {\n saveLoading: boolean = false;\n loading: boolean = false;\n activeTabName = 'standard';\n accountEditModel: AccountEditModel = AccountEditModel.fromJS({});\n\n async mounted() {\n try {\n this.loading = true;\n await this.loadEditModel();\n } finally {\n this.loading = false;\n }\n }\n\n get tabs(): TabModel[] {\n let res = [\n {\n TabName: 'standard',\n Disabled: false,\n },\n {\n TabName: 'timeTracking',\n Disabled: false,\n },\n {\n TabName: 'invoice',\n Disabled: false,\n },\n {\n TabName: 'privacy',\n Disabled: false,\n },\n {\n TabName: 'termination',\n Disabled: false,\n },\n ];\n\n if (this.noOutgoingInvoices) {\n res.splice(2, 1);\n }\n\n return res;\n }\n\n get featureFlagFixedPriceProjects(){\n return UserStore.userSettings.featureFlagFixedPriceProjects;\n }\n\n get noRates() {\n return this.accountEditModel.noRates;\n }\n\n get useDisableVacationCarryover(): boolean {\n return UserStore.userSettings.featureFlagDisableVacationCarryOver;\n }\n\n get noOutgoingInvoices() {\n return this.accountEditModel.noOutgoingInvoices;\n }\n\n get currentUserRateRulesValue() {\n return UserStore.userSettings.useRateRules;\n }\n\n get useRates() {\n return !this.accountEditModel.noRates;\n }\n\n set useRates(data: boolean) {\n this.accountEditModel.noRates = !data;\n }\n\n get logo() {\n return AccountStore.logo;\n }\n\n get useProjectTimeTracking() {\n return !this.accountEditModel.useBasicTimeTracking;\n }\n\n set useProjectTimeTracking(data: boolean) {\n this.accountEditModel.useBasicTimeTracking = !data;\n }\n\n get wantsToUpgradeToProjectTimeTracking() {\n return (\n !UserStore.userSettings.paymentStatus.isInTrial &&\n UserStore.userSettings.paymentStatus.paymentIsSetup &&\n UserStore.userSettings.useBasicTimeTracking &&\n !this.accountEditModel.useBasicTimeTracking\n );\n }\n\n get useOutgoingInvoices() {\n return !this.accountEditModel.noOutgoingInvoices;\n }\n\n set useOutgoingInvoices(data: boolean) {\n this.accountEditModel.noOutgoingInvoices = !data;\n }\n\n async loadEditModel() {\n this.accountEditModel = await stAccountApi.get(UserStore.userSettings.accountId!);\n }\n\n @Watch('accountEditModel.useRateRules')\n useRateRulesChanged(newVal: boolean, oldVal: boolean) {\n if (!newVal && oldVal) {\n notifyWarning('Das Deaktivieren dieser Option löscht alle vorhandenen Stundensatzregeln.');\n }\n }\n\n async deleteLogo() {\n await stAccountApi.deleteLogo();\n await this.loadEditModel();\n await AccountStore.reloadStore();\n }\n\n openFileSelect() {\n (this.$refs.file as HTMLInputElement).click();\n }\n\n async upload() {\n //@ts-ignore\n if (!(this.$refs.file as HTMLInputElement).files[0]) {\n return;\n }\n //@ts-ignore\n const fileData = (this.$refs.file as HTMLInputElement).files[0] as any;\n await stAccountApi.uploadLogo({ data: fileData, fileName: fileData.name });\n await AccountStore.reloadStore();\n await this.loadEditModel();\n }\n\n async submit() {\n try {\n this.saveLoading = true;\n if (this.accountEditModel.noOutgoingInvoices) {\n this.accountEditModel.useEmailSending = false;\n }\n await stAccountApi.put(this.accountEditModel.id, this.accountEditModel);\n\n if (this.currentUserRateRulesValue && !this.accountEditModel.useRateRules) {\n await stRateRuleApi.deleteAll();\n }\n\n await UserStore.reloadStore();\n notifySuccess('Gespeichert');\n } finally {\n this.saveLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccountSettings.vue?vue&type=template&id=3aafa00e&\"\nimport script from \"./AccountSettings.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccountSettings.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccountSettings.vue?vue&type=style&index=0&id=3aafa00e&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page user-settings\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Benutzer Einstellungen'))+\" \")]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Einstellungen des SpikeTime Accounts für Benutzer')))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header font-bold text-lg\"},[_vm._v(\" \"+_vm._s(_vm.$t('Benutzer Einstellungen'))+\" \")]),_c('div',{staticClass:\"relative\"},[_c('st-tabs',{staticClass:\"mt-4\",attrs:{\"tabs\":_vm.tabs,\"render-for-single-tab\":\"true\",\"loading\":_vm.loading},scopedSlots:_vm._u([{key:\"standardHeader\",fn:function(){return [_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Allgemein'))+\" \")]),_c('i',{staticClass:\"far fa-cogs inline sm:hidden mx-4\"})]},proxy:true},{key:\"notificationsHeader\",fn:function(){return [_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Benachrichtigungen'))+\" \")]),_c('i',{staticClass:\"far fa-euro-sign inline sm:hidden mx-4\"})]},proxy:true},{key:\"standard\",fn:function(){return [_c('vv-observer',{staticClass:\"relative\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-6 lg:grid-cols-9 2xl:grid-cols-10\"},[_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Sprache'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Sprache')))]),_c('st-select',{attrs:{\"idProp\":\"value\",\"labelProp\":\"text\",\"options\":_vm.languages},model:{value:(_vm.userSettingsEditModel.language),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"language\", $$v)},expression:\"userSettingsEditModel.language\"}})],1),_c('div',{staticClass:\"explanation-container\"}),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Kontaktinformationen'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Name')))]),_c('st-input2',{attrs:{\"disabled\":\"\"},model:{value:(_vm.userSettingsEditModel.name),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"name\", $$v)},expression:\"userSettingsEditModel.name\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('E-Mail Adresse')))]),_c('st-input2',{attrs:{\"disabled\":\"\"},model:{value:(_vm.userSettingsEditModel.username),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"username\", $$v)},expression:\"userSettingsEditModel.username\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Passwort')))]),_c('st-button',{staticClass:\"white\",on:{\"click\":_vm.openChangePassword}},[_c('i',{staticClass:\"far fa-key\"}),_vm._v(\" \"+_vm._s(_vm.$t('Passwort ändern'))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('API Key')))]),_c('div',{staticClass:\"flex items-center\"},[_c('st-button',{staticClass:\"white\",on:{\"click\":_vm.openApiKey}},[_c('i',{staticClass:\"far fa-key\"}),_vm._v(\" \"+_vm._s(_vm.$t('API-Key anzeigen'))+\" \")])],1)]),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Design und Formate'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Hintergrund')))]),_c('st-select',{attrs:{\"name\":\"Template\",\"options\":_vm.templates,\"labelProp\":\"id\"},model:{value:(_vm.userSettingsEditModel.templateName),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"templateName\", $$v)},expression:\"userSettingsEditModel.templateName\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Menüfarbe')))]),_c('st-select',{attrs:{\"name\":\"Menüfarbe\",\"idProp\":\"id\",\"labelProp\":\"label\",\"options\":_vm.menuColors},model:{value:(_vm.userSettingsEditModel.menuColor),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"menuColor\", $$v)},expression:\"userSettingsEditModel.menuColor\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Schaltflächenfarbe')))]),_c('st-select',{attrs:{\"name\":\"Schaltflächenfarbe\",\"idProp\":\"id\",\"labelProp\":\"label\",\"options\":_vm.successButtonColors},model:{value:(_vm.userSettingsEditModel.successButtonColor),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"successButtonColor\", $$v)},expression:\"userSettingsEditModel.successButtonColor\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Zeitzone')))]),_c('st-select',{attrs:{\"name\":\"Zeitzone\",\"options\":_vm.timeZones},model:{value:(_vm.userSettingsEditModel.timeZoneId),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"timeZoneId\", $$v)},expression:\"userSettingsEditModel.timeZoneId\"}})],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Datumsformat')))]),_c('st-select',{attrs:{\"name\":\"Datumsformat\",\"options\":_vm.datePatterns},model:{value:(_vm.userSettingsEditModel.datePattern),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"datePattern\", $$v)},expression:\"userSettingsEditModel.datePattern\"}})],1),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Zeiterfassung'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Ganze Woche anzeigen')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.userSettingsEditModel.timeEntriesShowFullWeek),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"timeEntriesShowFullWeek\", $$v)},expression:\"userSettingsEditModel.timeEntriesShowFullWeek\"}},[_vm._v(_vm._s(_vm.$t('Auf der Seite \"Zeiten\" die ganze Woche anzeigen')))])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Intervall Zeiterfassung')))]),_c('st-select',{attrs:{\"idProp\":\"value\",\"labelProp\":\"text\",\"options\":_vm.timeRoundingIntervalOptions},model:{value:(_vm.userSettingsEditModel.timeRoundingInterval),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"timeRoundingInterval\", $$v)},expression:\"userSettingsEditModel.timeRoundingInterval\"}})],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t( 'Die Minutenschritte welche bei der Auswahl der Dauer oder Zeit von-bis zur Verfügung stehen (Minutengenaue Erfassung ist via Tastatureingabe immer möglich)' ))+\" \")])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stoppuhr Beschreibung')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.userSettingsEditModel.stopwatchUseLastDescription),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"stopwatchUseLastDescription\", $$v)},expression:\"userSettingsEditModel.stopwatchUseLastDescription\"}},[_vm._v(_vm._s(_vm.$t('Start der Stoppuhr übernimmt Beschreibungstext')))])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Das Starten einer Stoppuhr übernimmt den für dieses Projekt zuletzt verwendeten Beschreibungstext. Dieser kann natürlich geändert werden.'))+\" \")])],1),_c('st-settings-separator',{staticClass:\"col-span-full\"},[_vm._v(\" \"+_vm._s(_vm.$t('Erinnerungen'))+\" \")]),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Stoppuhr')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.userSettingsEditModel.stopWatchNotficationEnabled),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"stopWatchNotficationEnabled\", $$v)},expression:\"userSettingsEditModel.stopWatchNotficationEnabled\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Erinnerung senden, wenn meine Stoppuhr länger als 9 Stunden läuft.'))+\" \")])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(_vm._s(_vm.$t('Sie erhalten eine E-Mail, wenn Ihre Stoppuhr länger als 9 h ununterbrochen läuft.')))])],1),_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Zeiterfassung')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.userSettingsEditModel.timeEntryNotificationEnabled),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"timeEntryNotificationEnabled\", $$v)},expression:\"userSettingsEditModel.timeEntryNotificationEnabled\"}},[_vm._v(_vm._s(_vm.$t('Erinnerung an die Zeiterfassung senden')))])],1),_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t( 'Sie erhalten täglich an Wochentagen 17:00 Uhr eine E-Mail, die Sie daran erinnert, Ihre Arbeitszeiten einzutragen (natürlich nur, wenn Sie an diesem Tag noch keine Zeiten eingetragen haben)' ))+\" \")])],1),(_vm.userCanApproveAbsences)?_c('div',{staticClass:\"form-group horizontal col-start-1 col-end-6\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Abwesenheiten')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.userSettingsEditModel.absenceRequestNotificationEnabled),callback:function ($$v) {_vm.$set(_vm.userSettingsEditModel, \"absenceRequestNotificationEnabled\", $$v)},expression:\"userSettingsEditModel.absenceRequestNotificationEnabled\"}},[_vm._v(_vm._s(_vm.$t('Benachrichtigung für neue Abwesenheitsanträge')))])],1):_vm._e(),(_vm.userCanApproveAbsences)?_c('div',{staticClass:\"explanation-container\"},[_c('st-explanation',[_vm._v(\" \"+_vm._s(_vm.$t('Sie erhalten eine E-Mail Benachrichtigung, wenn ein neuer Abwesenheitsantrag erstellt wird'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-start-1 col-end-6 text-right mt-6\"},[_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"disabled\":invalid,\"loading\":_vm.saveLoading}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Einstellungen speichern'))+\" \")])],1)],1)]}}])})]},proxy:true}]),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}})],1)]),_c('slide-in',{ref:\"changePassword\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-cogs mr-4\"}),_c('span',{staticClass:\"flex-grow\"},[_vm._v(_vm._s(_vm.$t('Passwort ändern')))])]},proxy:true}])},[_c('vv-observer',{staticClass:\"relative\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.changePassword()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"relative\"},[_c('st-input2',{attrs:{\"name\":_vm.$t('Altes Passwort'),\"type\":_vm.passwordType1,\"label\":_vm.$t('Altes Passwort'),\"rules\":\"required\"},model:{value:(_vm.changePasswordEditModel.oldPassword),callback:function ($$v) {_vm.$set(_vm.changePasswordEditModel, \"oldPassword\", $$v)},expression:\"changePasswordEditModel.oldPassword\"}}),_c('a',{staticClass:\"toggle-password cursor-pointer\",on:{\"click\":function($event){_vm.passwordType1 = _vm.passwordType1 === 'password' ? 'text' : 'password'}}},[_c('i',{class:{ fas: true, 'fa-eye': _vm.passwordType1 === 'password', 'fa-eye-slash': _vm.passwordType1 === 'text' }})])],1),_c('div',{staticClass:\"relative\"},[_c('st-input2',{attrs:{\"name\":_vm.$t('Neues Passwort'),\"type\":_vm.passwordType2,\"label\":_vm.$t('Neues Passwort'),\"rules\":\"required\"},model:{value:(_vm.changePasswordEditModel.newPassword),callback:function ($$v) {_vm.$set(_vm.changePasswordEditModel, \"newPassword\", $$v)},expression:\"changePasswordEditModel.newPassword\"}}),_c('a',{staticClass:\"toggle-password cursor-pointer\",on:{\"click\":function($event){_vm.passwordType2 = _vm.passwordType2 === 'password' ? 'text' : 'password'}}},[_c('i',{class:{ fas: true, 'fa-eye': _vm.passwordType2 === 'password', 'fa-eye-slash': _vm.passwordType2 === 'text' }})])],1),_c('div',{staticClass:\"relative\"},[_c('st-input2',{attrs:{\"name\":_vm.$t('Neues Passwort wiederholen'),\"type\":_vm.passwordType3,\"label\":_vm.$t('Neues Passwort wiederholen'),\"rules\":\"required\"},model:{value:(_vm.changePasswordEditModel.newPasswordConfirm),callback:function ($$v) {_vm.$set(_vm.changePasswordEditModel, \"newPasswordConfirm\", $$v)},expression:\"changePasswordEditModel.newPasswordConfirm\"}}),_c('a',{staticClass:\"toggle-password cursor-pointer\",on:{\"click\":function($event){_vm.passwordType3 = _vm.passwordType3 === 'password' ? 'text' : 'password'}}},[_c('i',{class:{ fas: true, 'fa-eye': _vm.passwordType3 === 'password', 'fa-eye-slash': _vm.passwordType3 === 'text' }})])],1),_c('div',{staticClass:\"flex justify-end border-t border-gray-300 pt-4 mt-6\"},[_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancelChangePassword}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"disabled\":invalid || _vm.changePasswordLoading,\"loading\":_vm.changePasswordLoading}},[_vm._v(_vm._s(_vm.$t('Passwort speichern')))])],1)])]}}])})],1),_c('slide-in',{ref:\"apiKey\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-cogs mr-4\"}),_c('span',{staticClass:\"flex-grow\"},[_vm._v(_vm._s(_vm.$t('API Key')))])]},proxy:true}])},[_c('p',{staticClass:\"my-4\"},[_vm._v(_vm._s(_vm.$t('Mit diesem API-Key können Sie mit externen Programmen auf die SpikeTime-API unter https://app.spiketime.de/api zugreifen.')))]),_c('p',{staticClass:\"my-4\"},[_vm._v(_vm._s(_vm.$t('Die Dokumentation zur aktuellen API wird in Kürze hier und auf der Homepage zur Verfügung stehen.')))]),_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('API-Key')))]),_c('div',{staticClass:\"filter-control flex items-center\"},[_c('st-input2',{attrs:{\"value\":_vm.apiKey,\"disabled\":true}}),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('API-Key kopieren')),expression:\"$t('API-Key kopieren')\"}],staticClass:\"form-control border-l-0 flex-shrink w-auto rounded-none cursor-pointer\",on:{\"click\":_vm.copyApiKey}},[_c('i',{staticClass:\"far fa-file\"})])],1),_c('div',{staticClass:\"flex justify-end border-t border-gray-300 pt-4 mt-6\"},[_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancelApiKey}},[_vm._v(_vm._s(_vm.$t('Schließen')))])],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\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\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport {\n AppUserChangePasswordEditModel,\n AppUserSettingsEditModel,\n MenuColorEnum,\n StSelectListItem,\n StStringSelectListItem,\n SuccessButtonColorEnum,\n} from '@/services/api/nswag/stapiclient_generated';\nimport { stAppUserApi, stLookupApi } from '@/services/st-api';\nimport { UserStore } from '@/store/user-module';\nimport { TabModel } from '@/components/tabs/tab-model';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StSettingsSeparator from '@/components/basic/Form/StSettingsSeparator.vue';\n\n@Component({\n components: { StSettingsSeparator, SlideIn, StToggle, StTabs },\n})\nexport default class UserSettings extends Vue {\n userSettingsEditModel: AppUserSettingsEditModel = AppUserSettingsEditModel.fromJS({});\n timeZones: StSelectListItem[] = [];\n datePatterns: StStringSelectListItem[] = [];\n timePatterns: StStringSelectListItem[] = [];\n loading: boolean = true;\n saveLoading: boolean = false;\n activeTabName = 'standard';\n changePasswordEditModel: AppUserChangePasswordEditModel = AppUserChangePasswordEditModel.fromJS({});\n passwordType1 = 'password';\n passwordType2 = 'password';\n passwordType3 = 'password';\n changePasswordLoading = false;\n apiKey = 'Loading...';\n\n get tabs(): TabModel[] {\n return [\n {\n TabName: 'standard',\n Disabled: false,\n },\n ];\n }\n\n get templates(): any[] {\n return UserStore.templates;\n }\n\n get userCanApproveAbsences(): boolean {\n return UserStore.userSettings.CanApproveAbsences && UserStore.userSettings.useAbsences;\n }\n\n get timeRoundingIntervalOptions() {\n return [\n { value: 1, text: '1 min' },\n { value: 5, text: '5 min' },\n { value: 10, text: '10 min' },\n { value: 15, text: '15 min' },\n { value: 30, text: '30 min' },\n ];\n }\n\n get languages() {\n return [\n { value: 'de', text: 'Deutsch' },\n { value: 'en', text: 'English' },\n ];\n }\n\n async mounted() {\n try {\n this.loading = true;\n this.timeZones = await stLookupApi.getTimeZoneIds();\n this.datePatterns = await stLookupApi.getDatePattern();\n this.timePatterns = await stLookupApi.getTimePattern();\n await this.loadEditModel();\n } finally {\n this.loading = false;\n }\n }\n\n async loadEditModel() {\n this.userSettingsEditModel = await stAppUserApi.getAppUserSettingsEditModel();\n }\n\n async submit() {\n await stAppUserApi.storeAppUserSettings(this.userSettingsEditModel);\n await UserStore.reloadStore();\n notifySuccess('Erfolgreich gespeichert.');\n }\n\n get menuColors() {\n return [\n { id: MenuColorEnum.Dark, label: this.$t('Dunkel') },\n { id: MenuColorEnum.Light, label: this.$t('Hell') },\n { id: MenuColorEnum.Primary, label: this.$t('Hauptfarbe') },\n { id: MenuColorEnum.Secondary, label: this.$t('Akzentfarbe') },\n ];\n }\n\n get successButtonColors() {\n return [\n { id: SuccessButtonColorEnum.Green, label: this.$t('Grün') },\n { id: SuccessButtonColorEnum.Primary, label: this.$t('Hauptfarbe') },\n { id: SuccessButtonColorEnum.Secondary, label: this.$t('Akzentfarbe') },\n ];\n }\n\n get canChangeTimeFromTo() {\n return UserStore.userSettings.CanChangeTimeFromTo;\n }\n\n openChangePassword() {\n (this.$refs.changePassword as SlideIn).open();\n }\n\n cancelChangePassword() {\n (this.$refs.changePassword as SlideIn).close();\n }\n\n async openApiKey() {\n (this.$refs.apiKey as SlideIn).open();\n this.apiKey = await stAppUserApi.getCurrentUserApiKey();\n }\n\n cancelApiKey() {\n (this.$refs.apiKey as SlideIn).close();\n }\n\n async changePassword() {\n try {\n this.changePasswordLoading = true;\n await stAppUserApi.changePassword(this.changePasswordEditModel);\n this.changePasswordEditModel = AppUserChangePasswordEditModel.fromJS({});\n notifySuccess('Das Passwort wurde geändert');\n (this.$refs.changePassword as SlideIn).close();\n } finally {\n this.changePasswordLoading = false;\n }\n }\n\n copyApiKey() {\n (this as any).$clipboard(this.apiKey);\n notifySuccess('Erfolgreich kopiert');\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserSettings.vue?vue&type=template&id=29bf4ee7&\"\nimport script from \"./UserSettings.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserSettings.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserSettings.vue?vue&type=style&index=0&id=29bf4ee7&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"listexternal\"}},[(!_vm.loading)?_c('list-export',{attrs:{\"list-result-prop\":_vm.listResult}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { ListParameters, ListResult } from '@/services/api/nswag/stapiclient_generated';\nimport ListTable from '@/views/List/ListTable.vue';\nimport { stListApi } from '@/services/st-api';\nimport { AccountStore } from '@/store/account-module';\nimport ListExport from '@/views/List/ListExport.vue';\n\n@Component({\n components: { ListTable, ListExport },\n})\nexport default class ListExternal extends Vue {\n guid: string = '';\n listResult: ListResult = ListResult.fromJS({ rows: [], listParameters: ListParameters.fromJS({ filter: {}, grouping: {}, listSettingsModel: {} }) });\n loading = true;\n\n created() {\n this.guid = this.$route.params.guid;\n }\n\n async mounted() {\n this.listResult = await stListApi.getExternal(this.guid);\n await this.$nextTick();\n this.loading = false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListExternal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListExternal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListExternal.vue?vue&type=template&id=3ce67632&\"\nimport script from \"./ListExternal.vue?vue&type=script&lang=ts&\"\nexport * from \"./ListExternal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ListExternal.vue?vue&type=style&index=0&id=3ce67632&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',{staticClass:\"font-bold text-lg\"},[_vm._v(\"Logs\")]),_c('st-button',{staticClass:\"red mr-4\",on:{\"click\":_vm.displayErrors}},[_vm._v(\"Errors only\")]),_c('st-button',{staticClass:\"green\",on:{\"click\":_vm.displayAll}},[_vm._v(\"Everything\")]),_c('div',{staticClass:\"st-list-container mt-4\"},[_c('table',{staticClass:\"st-table\"},[_vm._m(0),_c('tbody',{staticClass:\"text-sm\"},_vm._l((_vm.entries),function(log){return _c('tr',{key:log.id},[_c('td',[_vm._v(_vm._s(log.level))]),_c('td',{staticClass:\"whitespace-nowrap\"},[_vm._v(_vm._s(log.insertDate))]),_c('td',[_vm._v(_vm._s(log.message))]),_c('td',[_vm._v(_vm._s(log.exception))]),_c('td',[_vm._v(_vm._s(log.logger))]),_c('td',[_vm._v(_vm._s(log.userIdentity))]),_c('td',[_vm._v(_vm._s(log.action))]),_c('td',[_vm._v(_vm._s(log.requestUrl))])])}),0)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Level\")]),_c('th',[_vm._v(\"Date\")]),_c('th',[_vm._v(\"Message\")]),_c('th',[_vm._v(\"Exception\")]),_c('th',[_vm._v(\"Logger\")]),_c('th',[_vm._v(\"User\")]),_c('th',[_vm._v(\"Action\")]),_c('th',[_vm._v(\"Url\")])])])}]\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { Log } from '@/services/api/nswag/stapiclient_generated';\nimport { stAdminApi } from '@/services/st-api';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\n\n@Component({\n components: { StTabs, AccountSettingsInvoice },\n})\nexport default class Logs extends Vue {\n logs: Log[] = [];\n interval: any;\n level = '';\n\n displayErrors() {\n this.level = 'Error';\n }\n\n displayAll() {\n this.level = '';\n }\n\n get entries(): Log[] {\n if (this.level) {\n return this.logs.filter((_) => _.level == this.level);\n }\n\n return this.logs;\n }\n\n async mounted() {\n this.logs = await stAdminApi.getLogs();\n\n this.interval = setInterval(async () => {\n this.logs = await stAdminApi.getLogs();\n }, 20000);\n }\n\n destroyed() {\n clearInterval(this.interval);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Logs.vue?vue&type=template&id=0ac25aa6&\"\nimport script from \"./Logs.vue?vue&type=script&lang=ts&\"\nexport * from \"./Logs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Logs.vue?vue&type=style&index=0&id=0ac25aa6&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-base relative\",staticStyle:{\"min-height\":\"27.7cm\"}},[_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"col-span-2 flex items-center\"},[_c('img',{staticClass:\"h-20 inline\",attrs:{\"src\":require(\"../../../public/SpikeTime_Gradient.png\"),\"alt\":\"\"}}),_c('span',{staticClass:\"ml-4 text-3xl font-bold\"},[_vm._v(_vm._s(_vm.$t('Rechnung')))])]),_vm._m(0)]),_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"whitespace-pre-wrap col-span-4 leading-6 mt-20\"},[_c('div',[_vm._v(_vm._s(_vm.model.paymentCompany))]),_c('div',[_vm._v(_vm._s(_vm.model.paymentRecipient))]),_c('div',[_vm._v(_vm._s(_vm.model.paymentStreet))]),_c('div',[_vm._v(_vm._s(_vm.model.paymentZip)+\" \"+_vm._s(_vm.model.paymentCity))]),_c('div',[_vm._v(_vm._s(_vm.model.paymentCountry))]),(_vm.model.paymentVatId)?_c('div',[_vm._v(\"UstId: \"+_vm._s(_vm.model.paymentVatId))]):_vm._e()])]),_c('div',{staticClass:\"grid grid-cols-7\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsdatum'))+\":\")]),_c('div',{staticClass:\"col-span-2 pl-4 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.model.createdDate)))]),_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsnummer'))+\":\")]),_c('div',{staticClass:\"col-span-2 pl-4 text-right\"},[_vm._v(_vm._s(_vm.model.invoiceNumber))])]),_c('div',{staticClass:\"text-2xl font-bold mt-8\"},[_vm._v(_vm._s(_vm.$t('SpikeTime Rechnung')))]),_c('div',{staticClass:\"grid grid-cols-1 mt-16\"},[_c('div',{staticClass:\"col-span-1 whitespace-pre-wrap leading-6\"},[_vm._v(_vm._s(_vm.$t('Vielen Dank für die Nutzung von SpikeTime. Wir erlauben uns folgende Position in Rechnung zu stellen.')))])]),_c('div',{staticClass:\"grid grid-cols-7 font-bold text-sm leading-7 mt-20\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(_vm.$t('Position')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Anzahl')))]),_c('div',{staticClass:\"col-span-2 text-right\"},[_vm._v(_vm._s(_vm.$t('Einzelpreis (Monat)'))+\" €\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Gesamtpreis'))+\" €\")])]),(_vm.model.userCount)?_c('div',{staticClass:\"grid grid-cols-7 text-sm leading-7\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(\"Lizenz für \"+_vm._s(_vm.model.userCount)+\" Benutzer bis zum \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.paidTill)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.model.userCount))]),_c('div',{staticClass:\"col-span-2 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.model.basePriceCent))+\" €\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.model.amountCentNetFullUsers))+\" €\")])]):_vm._e(),(_vm.model.userCountBasic)?_c('div',{staticClass:\"grid grid-cols-7 text-sm leading-7\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(\"Lizenz für \"+_vm._s(_vm.model.userCountBasic)+\" Benutzer bis zum \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.paidTill)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.model.userCountBasic))]),_c('div',{staticClass:\"col-span-2 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.model.basePriceCentBasic))+\" €\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.model.amountCentNetBasicUsers))+\" €\")])]):_vm._e(),_c('hr',{staticClass:\"my-2\"}),_c('div',{staticClass:\"grid grid-cols-7 font-bold text-sm leading-7\"},[_c('div',{staticClass:\"col-span-6 text-right\"},[(!_vm.model.vatReverseCharge)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag (netto)'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag'))+\" \")])]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.model.amountCent))+\" €\")])]),(!_vm.model.vatReverseCharge)?[_c('div',{staticClass:\"grid grid-cols-7 font-bold text-sm leading-7\"},[_c('div',{staticClass:\"col-span-6 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatzsteuer'))+\" (19 %)\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.model.vatAmountCent))+\" €\")])]),_c('div',{staticClass:\"grid grid-cols-7 font-bold text-sm leading-7\"},[_c('div',{staticClass:\"col-span-6 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsbetrag (brutto)')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.model.grossAmountCent))+\" €\")])])]:_vm._e(),(_vm.model.vatReverseCharge)?_c('div',{staticClass:\"mt-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('Nach § 13b Abs. 1 und 2 UStG sind Sie als Leistungsempfänger Schuldner der Umsatzsteuer (Hinweis nach 14a Abs. 5 Satz 2 UStG)'))+\" \")]):_vm._e(),(_vm.model.paymentMethod === 'invoice')?_c('div',{staticClass:\"grid grid-cols-1 mt-16 border border-gray-200 p-3\"},[_c('p',[_vm._v(_vm._s(_vm.$t('Wir bitten um Überweisung des Gesamtbetrages, unter Angabe der Rechnungsnummer, innerhalb von 14 Tagen auf das unten stehende Konto.')))]),_c('p',{staticClass:\"font-bold mt-4 text-center\"},[_vm._v(\"Bitte beachten Sie unsere neue Bankverbindung.\")])]):_c('div',{staticClass:\"grid grid-cols-1 mt-16 border border-gray-200 p-3\"},[_vm._v(_vm._s(_vm.$t('Der Gesamtbetrag wird automatisch eingezogen.')))]),_c('div',{staticClass:\"text-sm absolute justify-around text-center w-full\",staticStyle:{\"bottom\":\"0\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('Andreas Seiler & Axel Schulze GbR - IBAN: DE29 1101 0101 5293 7566 38 - BIC: SOBKDEB2XXX')))])])],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-span-2 flex justify-end\"},[_c('div',{staticClass:\"whitespace-pre-wrap col-span-1 text-sm\",staticStyle:{\"min-height\":\"150px\"}},[_c('div',[_vm._v(\"Andreas Seiler und Axel Schulze GbR\")]),_c('div',[_vm._v(\"Küchenholzallee 12\")]),_c('div',[_vm._v(\"04249 Leipzig\")]),_c('div',[_vm._v(\"UstId: DE294452567\")])])])}]\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { InvoiceViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stInvoiceApi } from '@/services/st-api';\n\n@Component({\n components: {},\n})\nexport default class InvoiceExport extends Vue {\n id: number = 0;\n model: InvoiceViewModel = InvoiceViewModel.fromJS({});\n\n created() {\n if (this.$route.params.id) {\n this.id = parseInt(this.$route.params.id);\n }\n }\n\n async mounted() {\n this.model = await stInvoiceApi.getInvoice(this.id);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceExport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceExport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceExport.vue?vue&type=template&id=d61a7e70&\"\nimport script from \"./InvoiceExport.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceExport.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-observer',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nvar invalid = ref.invalid;\nreturn [(_vm.exists)?_c('div',{staticClass:\"p-4 border-2 border-red-400 rounded-xl max-w-2xl mt-4 flex flex-col items-center\"},[_c('i',{staticClass:\"far fa-exclamation-triangle fa-2x text-red-500 mb-8\"}),_c('p',{staticClass:\"font-bold\"},[_vm._v(\"Die eingegebene E-Mail Adresse existiert bereits bei uns im System.\")]),_c('p',{staticClass:\"my-4\"},[_vm._v(\" Wenn Sie sich anmelden möchten, dann klicken Sie bitte hier: \"),_c('router-link',{staticClass:\"text-green-500 hover:underline\",attrs:{\"to\":\"/login\"}},[_vm._v(_vm._s(_vm.$t('Zum Login')))])],1),_c('p',{staticClass:\"mt-4 text-center\"},[_vm._v(\"Andernfalls können Sie sich unten mit einer anderen E-Mail Adresse erneut registrieren.\")])]):_vm._e(),_c('div',{staticClass:\"mt-8 text-xl font-bold\"},[_vm._v(_vm._s(_vm.$t('Registrieren')))]),_c('form',{staticClass:\"max-w-2xl\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.submit)}}},[_c('st-input2',{staticClass:\"mt-8\",attrs:{\"name\":\"Email\",\"label\":\"E-Mail\",\"type\":\"email\",\"rules\":\"required|email\"},model:{value:(_vm.registerModel.email),callback:function ($$v) {_vm.$set(_vm.registerModel, \"email\", $$v)},expression:\"registerModel.email\"}}),_c('st-button',{staticClass:\"green w-full rounded mt-8 text-center\",attrs:{\"type\":\"submit\",\"disabled\":invalid,\"loading\":_vm.loading}},[_vm._v(_vm._s(_vm.$t('Registrieren')))])],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { AccountRegisterModel, AppUserLoginModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAuthenticationApi } from '@/services/st-api';\nimport { resetGlobalData } from '@/store/global-data-helper';\nimport StInput2 from '@/components/basic/StInput2.vue';\n\n@Component({\n components: {\n StInput2,\n },\n})\nexport default class Register extends Vue {\n private registerModel: AccountRegisterModel = AccountRegisterModel.fromJS({});\n private loading: boolean = false;\n private exists: any = '0';\n\n created() {\n this.exists = this.$route.query.exists;\n }\n\n mounted() {\n resetGlobalData();\n }\n\n async submit() {\n this.loading = true;\n try {\n await stAuthenticationApi.register(this.registerModel);\n await this.$router.push('/');\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=6247e624&\"\nimport script from \"./Register.vue?vue&type=script&lang=ts&\"\nexport * from \"./Register.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"absolute inset-0\"},[_c('div',{staticClass:\"flex flex-col flex-auto items-center justify-center h-full p-6 sm:p-10\"},[_c('i',{staticClass:\"far fa-satellite fa-8x\"}),_c('div',{staticClass:\"mt-12 sm:mt-24 text-xxl font-bold text-center\"},[_vm._v(_vm._s(_vm.$t('Fehler')))]),_vm._l((_vm.setupErrors),function(setupError){return _c('div',{key:setupError,staticClass:\"mt-2 text-lg font-normal text-center text-red-600\"},[_vm._v(\" \"+_vm._s(_vm.getErrorText(setupError))+\" \")])}),_c('a',{staticClass:\"text-lg\",attrs:{\"href\":\"mailto:mail@spiketime.de\"}},[_vm._v(\"mail@spiketime.de\")])],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Vue} from 'vue-property-decorator';\r\nimport {SetupError} from '@/services/api/nswag/stapiclient_generated';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {},\r\n })\r\n export default class UserSetupError extends Vue {\r\n getErrorText(setupError: SetupError){\r\n switch(setupError){\r\n case SetupError.NoCustomer:\r\n return this.$t('Ihr Account enthält keinen Kunden oder Sie sind keinem Projekt zugeordnet. Kontaktieren Sie bitte Ihren Administrator oder den SpikeTime Support')\r\n }\r\n }\r\n\r\n get setupErrors(){\r\n return UserStore.userSettings.setupErrors;\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSetupError.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSetupError.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserSetupError.vue?vue&type=template&id=488d03a8&\"\nimport script from \"./UserSetupError.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserSetupError.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"max-w-2xl\"},[_c('h1',{staticClass:\"mb-4 text-xl font-bold\"},[_vm._v(\"Willkommen bei SpikeTime 3!\")]),_vm._m(0),_c('p',{staticClass:\"mt-4\"},[_vm._v(\"Die hier vorliegende Version beinhaltet die Kern-Funktionalität der \\\"alten\\\" Anwendung und im Hintergrund bereits vorbereitete weitere Features, wie z.B.\")]),_vm._m(1),_c('p',[_vm._v(\"Die neuen Features werden wir nach und nach ausrollen.\")]),_vm._m(2),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('st-button',{staticClass:\"green w-full rounded mt-8 text-center\",attrs:{\"type\":\"submit\",\"disabled\":_vm.loading,\"loading\":_vm.loading}},[_vm._v(_vm._s(_vm.$t('Zum Login')))]),(_vm.loading)?_c('div',{staticClass:\"mt-4 bg-green-500 text-white rounded p-4\"},[_vm._v(\"Der Vorgang kann bei der ersten Nutzung von SpikeTime 3 ein wenig dauern - bitte das Browserfenster nicht schließen.\")]):_vm._e()],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" SpikeTime wurde mit \"),_c('strong',[_vm._v(\"aktueller Technologie\")]),_vm._v(\" neu entwickelt, so dass wir die Möglichkeit haben weitere Funktionen und Verbesserungen schneller zu integrieren. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"ml-16 mt-4 mb-4 list-disc\"},[_c('li',[_vm._v(\"Urlaubsverwaltung mit Genehmigungsworkflow\")]),_c('li',[_vm._v(\"Anwesenheitszeiterfassung / Arbeitszeitkonten\")]),_c('li',[_vm._v(\"Erfassung und Reporting von Ausgaben\")]),_c('li',[_vm._v(\"und weiteres\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"mt-4\"},[_vm._v(\" Hier haben Sie die Möglichkeit die neue Version \"),_c('strong',[_vm._v(\"ohne Beeinflussung Ihrer aktuellen Daten\")]),_vm._v(\" zu testen. Wann Sie auf die neue Version wechseln ist Ihnen überlassen. \"),_c('br'),_c('br'),_vm._v(\" Ihre \"),_c('strong',[_vm._v(\"aktuellen Benutzerdaten aus SpikeTime\")]),_vm._v(\" haben im neuen System weiterhin Gültigkeit. \")])}]\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { TransferAccountModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stTransferAccountApi } from '@/services/st-api';\nimport StInput2 from '@/components/basic/StInput2.vue';\n\n@Component({\n components: {\n StInput2,\n },\n})\nexport default class TransferAccount extends Vue {\n private loading: boolean = false;\n\n private guid: string = '';\n\n created() {\n this.guid = this.$route.params.guid;\n }\n\n async submit() {\n this.loading = true;\n try {\n const model = new TransferAccountModel();\n model.guid = this.guid;\n await stTransferAccountApi.transferAccount(model);\n await this.$router.push('/login');\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferAccount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferAccount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransferAccount.vue?vue&type=template&id=6832bf38&\"\nimport script from \"./TransferAccount.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransferAccount.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page account-settings\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Upgrade auf SpikeTime 3'))+\" \")]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Zahlungsinformationen und Rechnungen')))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header font-bold text-lg\"},[_c('div',[_c('i',{staticClass:\"far fa-check\"}),_vm._v(\" \"+_vm._s(_vm.$t('Upgrade auf SpikeTime 3'))+\" \")])])]),_c('div',{staticClass:\"grid gap-4 grid-cols-2\"},[(!_vm.userSettings.isFullyMigratedFromSt2)?_c('div',{staticClass:\"report-card col-span-2\"},[_vm._m(0),_c('p',{staticClass:\"mt-8\"},[_vm._v(\"Hier können Sie das Upgrade von SpikeTime 2 zu SpikeTime 3 beauftragen.\")]),_c('p',{staticClass:\"mt-4\"},[_vm._v(\"Wenn Sie den Wechsel abschließen:\")]),_vm._m(1),_vm._m(2),_vm._m(3),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.userSettings.CanEditAccount ? 'Jetzt wechseln' : 'Nur Administratoren des Accounts können den Wechsel beauftragen.'),expression:\"userSettings.CanEditAccount ? 'Jetzt wechseln' : 'Nur Administratoren des Accounts können den Wechsel beauftragen.'\"}],staticClass:\"flex items-center justify-center mt-16\"},[_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\",\"loading\":_vm.loading,\"disabled\":!_vm.userSettings.CanEditAccount},on:{\"click\":_vm.upgrade}},[_c('i',{staticClass:\"far fa-check\"}),_vm._v(\" Jetzt zu SpikeTime 3 wechseln (noch inaktiv) \")])],1)]):_vm._e(),(_vm.userSettings.isFullyMigratedFromSt2)?_c('div',{staticClass:\"report-card col-span-2\"},[_vm._m(4)]):_vm._e()])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"font-bold\"},[_c('i',{staticClass:\"far fa-info-circle\"}),_vm._v(\" Neue Funktionen und Verbesserungen finden werden ab sofort nur noch in dieser Version (SpikeTime 3) implementiert. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"ml-16 mt-8\"},[_c('li',[_c('i',{staticClass:\"far fa-check text-green-500\"}),_vm._v(\" Werden alle Daten zum jetzigen Zeitpunkt aus SpikeTime 2 übertragen \")]),_c('li',[_c('i',{staticClass:\"far fa-check text-green-500\"}),_vm._v(\" Wird der Account in SpikeTime 2 deaktiviert, d.h. Sie greifen ab sofort nur noch über https://app.spiketime.de zu \")]),_c('li',[_c('i',{staticClass:\"far fa-check text-green-500\"}),_vm._v(\" Erhalten alle aktiven Benutzer im Account eine Informations-E-Mail \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"mt-8\"},[_vm._v(\" Der Wechsel zu SpikeTime 3 ist \"),_c('strong',[_vm._v(\"kostenfrei\")]),_vm._v(\" - Ihre bisherigen Vertragskonditionen bleiben erhalten. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"mt-16 text-center\"},[_vm._v(\" Bei Fragen wenden Sie sich bitte an unseren Support: \"),_c('a',{attrs:{\"href\":\"mailto:mail@spiketime.de\"}},[_vm._v(\"mail@spiketime.de\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"font-bold\"},[_c('i',{staticClass:\"far fa-info-circle\"}),_vm._v(\" Sie nutzen ab sofort die aktuellste Version von SpikeTime! \")])}]\n\nexport { render, staticRenderFns }","\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\nimport { Vue } from 'vue-property-decorator';\nimport Component from 'vue-class-component';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StSearch from '@/components/basic/StSearch.vue';\nimport { UserStore } from '@/store/user-module';\nimport { AccountStore } from '@/store/account-module';\nimport {stAccountApi} from '@/services/st-api';\n\n@Component({\n components: {\n StSearch,\n StInput2,\n StToggle,\n SlideIn,\n },\n})\nexport default class St2Migration extends Vue {\n private loading = false;\n private result: any = null;\n\n get userSettings() {\n return UserStore.userSettings;\n }\n\n mounted() {\n UserStore.reloadStore();\n }\n\n async upgrade() {\n this.loading = true;\n\n await stAccountApi.upgradeAccount();\n\n this.$dialog.alert({\n title: 'Inaktiv',\n text: 'Der vollständige Wechsel zu SpikeTime 3 kann noch nicht abgeschlossen werden - wir geben in Kürze via E-Mail Bescheid, sobald der Wechsel verfügbar ist. ',\n variant: 'success',\n });\n\n this.loading = false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./St2Migration.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./St2Migration.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./St2Migration.vue?vue&type=template&id=441f4c8a&\"\nimport script from \"./St2Migration.vue?vue&type=script&lang=ts&\"\nexport * from \"./St2Migration.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.show)?_c('st-select',{ref:\"customerSelect\",attrs:{\"name\":\"Customer\",\"options\":_vm.customers,\"multiple\":true,\"labelProp\":\"description\"},model:{value:(_vm.customerIds),callback:function ($$v) {_vm.customerIds=$$v},expression:\"customerIds\"}}):_vm._e(),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.loadLookups}},[_vm._v(\"Load Lookups\")]),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.setValues}},[_vm._v(\"set values\")]),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.setVisibility}},[_vm._v(\"set visibility\")]),(_vm.show)?_c('st-select',{ref:\"customerSelect\",attrs:{\"name\":\"Customer\",\"options\":_vm.customers,\"labelProp\":\"description\"},model:{value:(_vm.customerId),callback:function ($$v) {_vm.customerId=$$v},expression:\"customerId\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { CustomerFilter, DeleteResultModel, StSelectListItem, TagFilter, TagViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stCustomerApi, stTagApi } from '@/services/st-api';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StSearch from '@/components/basic/StSearch.vue';\n\nComponent.registerHooks(['beforeRouteUpdate']);\n\n@Component({\n components: {\n StSearch,\n StInput2,\n },\n})\nexport default class Test extends Vue {\n customers: StSelectListItem[] = [];\n customerIds: any[] = [];\n customerId: any = null;\n show: boolean = false;\n async loadLookups() {\n this.customers = await stCustomerApi.getSelectList(CustomerFilter.fromJS({ isArchived: false }));\n }\n\n setValues() {\n this.customerIds = this.customers.map(_=>_.id).slice(0,2);\n this.customerId = this.customers.map(_=>_.id)[1];\n }\n\n setVisibility() {\n this.show = !this.show;\n }\n\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Test.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Test.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Test.vue?vue&type=template&id=682993a3&\"\nimport script from \"./Test.vue?vue&type=script&lang=ts&\"\nexport * from \"./Test.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"container p-8\"},[_vm._m(0),_c('p',{staticClass:\"p-4\",attrs:{\"align\":\"center\"}},[_vm._v(\"zwischen\")]),(_vm.editModel.hasAdv)?_c('p',{attrs:{\"align\":\"center\"}},[_vm._v(\" \"+_vm._s(_vm.editModel.advCompany)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.editModel.advCompanyAddress)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.editModel.advContactName)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.editModel.advContactEmail)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.editModel.advContactPhone)+\" \")]):_c('p',{staticStyle:{\"padding-top\":\"100px\"},attrs:{\"align\":\"center\"}},[_vm._v(\"-----------------------------------------------------\")]),_vm._m(1),_c('br'),_c('p',{attrs:{\"align\":\"center\"}},[_vm._v(\"und\")]),_c('br'),_vm._m(2),_c('p',{attrs:{\"align\":\"center\"}},[_vm._v(\"- Auftragnehmer -\")]),_c('br',{attrs:{\"clear\":\"all\"}}),_c('h2',{staticStyle:{\"page-break-before\":\"always\"}},[_vm._v(\"§ 1 Gegenstand und Dauer des Auftrags\")]),_vm._m(3),_c('p',[_vm._v(\"Der Auftragnehmer verarbeitet dabei personenbezogene Daten für den Auftraggeber im Sinne von Art. 4 Nr. 2 und Art. 28 DSGVO auf Grundlage dieses Vertrages.\")]),_c('p',[_vm._v(\"2. Die Laufzeit dieses Vertrags entspricht der Laufzeit des auf Basis der aktuell geltenden AGB des Auftragnehmers geschlossenen Leistungsvertrags.\")]),_c('h2',[_vm._v(\"§ 2 Datenarten und Betroffenenkreis\")]),_c('h2'),_c('p',[_vm._v(\"1. Gegenstand der Verarbeitung personenbezogener Daten sind folgende Datenarten/-kategorien:\")]),_vm._m(4),_c('p',[_vm._v(\"2. Verarbeitung besonderer Kategorien von Daten (Art. 9 Abs. 1 DSGVO):\")]),_c('p',[_vm._v(\" Es werden grundsätzlich keine besonderen Kategorien von Daten verarbeitet, außer diese werden durch die Nutzer der Verarbeitung zugeführt, z.B. in Onlineformulare eingegeben. \")]),_c('p',[_vm._v(\"3. Kategorien der von der Verarbeitung betroffenen Personen:\")]),_vm._m(5),_c('h2',[_vm._v(\"§ 3 Technisch-organisatorische Maßnahmen\")]),_c('p',[_vm._v(\"1. Der Auftragnehmer wird technische und organisatorische Maßnahmen gemäß Artikel 32 DSGVO treffen, um die Daten des Auftraggebers angemessen zu schützen.\")]),_c('p',[_vm._v(\" Es wird für die konkrete Auftragsverarbeitung ein dem Risiko für die Rechte und Freiheiten der von der Verarbeitung betroffenen natürlichen Personen angemessenes Schutzniveau gewährleistet. Dazu werden die Schutzziele von Art. 32 Abs. 1 DSGVO, wie Vertraulichkeit, Integrität und Verfügbarkeit der Systeme und Dienste sowie deren Belastbarkeit in Bezug auf Art, Umfang, Umstände und Zweck der Verarbeitungen derart berücksichtigt, dass durch geeignete technische und organisatorische Abhilfemaßnahmen das Risiko auf Dauer eingedämmt wird. \")]),_c('p',[_vm._v(\" 2. Die technischen und organisatorischen Maßnahmen unterliegen dem technischen Fortschritt und der Weiterentwicklung. Insoweit ist es dem Auftragnehmer gestattet, alternative adäquate Maßnahmen umzusetzen. Dabei darf das Sicherheitsniveau der festgelegten Maßnahmen nicht unterschritten werden. \")]),_c('h2',[_vm._v(\"§ 4 Berichtigung, Einschränkung und Löschung von Daten\")]),_c('p',[_vm._v(\" 1. Der Auftragnehmer darf die Daten, die im Auftrag verarbeitet werden, nicht eigenmächtig, sondern nur nach dokumentierter Weisung des Auftraggebers berichtigen, löschen oder deren Verarbeitung einschränken. Soweit eine betroffene Person sich diesbezüglich unmittelbar an den Auftragnehmer wendet, wird der Auftragnehmer dieses Ersuchen unverzüglich an den Auftraggeber weiterleiten. \")]),_c('p',[_vm._v(\" 2. Soweit vom Leistungsumfang umfasst, sind Löschkonzept, Recht auf Vergessenwerden, Berichtigung, Datenportabilität und Auskunft nach dokumentierter Weisung des Auftraggebers unmittelbar durch den Auftragnehmer sicherzustellen. \")]),_c('p',[_vm._v(\" 3. Der Auftragnehmer unterstützt den Verantwortlichen bei seinen Pflichten zu Beantwortung von Anträgen auf Wahrnehmung der in Kapitel III DSGVO genannten Rechte der betroffenen Personen. \")]),_c('h2',[_vm._v(\"§ 5 Qualitätssicherung und sonstige Pflichten des Auftragnehmers\")]),_c('p',[_vm._v(\" Der Auftragnehmer hat zusätzlich zu der Einhaltung der Regelungen dieses Auftrags gesetzliche Pflichten gemäß Art. 28 bis 33 DSGVO; insofern gewährleistet er insbesondere die Einhaltung folgender Vorgaben. \")]),_c('p',[_vm._v(\" 1. Der Auftragnehmer setzt bei der Durchführung der Arbeiten nur Beschäftigte ein, die auf die Vertraulichkeit verpflichtet und zuvor mit den für sie relevanten Bestimmungen zum Datenschutz vertraut gemacht wurden. Der Auftragnehmer und jede dem Auftragnehmer unterstellte Person, die Zugang zu personenbezogenen Daten hat, dürfen diese Daten ausschließlich entsprechend der Weisung des Auftraggebers verarbeiten einschließlich der in diesem Vertrag eingeräumten Befugnisse, es sei denn, dass sie gesetzlich zur Verarbeitung verpflichtet sind. \")]),_c('p',[_vm._v(\"2. Die Umsetzung und Einhaltung aller für diesen Auftrag erforderlichen technischen und organisatorischen Maßnahmen.\")]),_c('p',[_vm._v(\"3. Der Auftraggeber und der Auftragnehmer arbeiten auf Anfrage mit der Aufsichtsbehörde bei der Erfüllung ihrer Aufgaben zusammen.\")]),_c('p',[_vm._v(\" 4. Die unverzügliche Information des Auftraggebers über Kontrollhandlungen und Maßnahmen der Aufsichtsbehörde, soweit sie sich auf diesen Auftrag beziehen. Dies gilt auch, soweit eine zuständige Behörde im Rahmen eines Ordnungswidrigkeits- oder Strafverfahrens in Bezug auf die Verarbeitung personenbezogener Daten bei der Auftragsverarbeitung beim Auftragnehmer ermittelt. \")]),_c('p',[_vm._v(\" 5. Soweit der Auftraggeber seinerseits einer Kontrolle der Aufsichtsbehörde, einem Ordnungswidrigkeits- oder Strafverfahren, dem Haftungsanspruch einer betroffenen Person oder eines Dritten oder einem anderen Anspruch im Zusammenhang mit der Auftragsverarbeitung beim Auftragnehmer ausgesetzt ist, hat ihn der Auftragnehmer nach besten Kräften zu unterstützen \")]),_c('p',[_vm._v(\" 6. Der Auftragnehmer ist nicht zur Bestellung eines Datenschutzbeauftragten verpflichtet. Als Ansprechpartner beim Auftragnehmer wird Herr Axel Schulze, Geschäftsführer, Telefon: 0176 211 377 65, E-Mail: mail@spiketime.de benannt. \")]),_c('p',[_vm._v(\" 7. Der Auftragnehmer kontrolliert regelmäßig die internen Prozesse sowie die technischen und organisatorischen Maßnahmen, um zu gewährleisten, dass die Verarbeitung in seinem Verantwortungsbereich im Einklang mit den Anforderungen des geltenden Datenschutzrechts erfolgt und der Schutz der Rechte der betroffenen Person gewährleistet wird. \")]),_c('h2',[_vm._v(\"§ 6 Unterauftragsverhältnisse\")]),_c('p',[_vm._v(\" 1. Als Unterauftragsverhältnisse im Sinne dieser Regelung sind solche Dienstleistungen zu verstehen, die sich unmittelbar auf die Erbringung der Hauptleistung beziehen. Nicht hierzu gehören Nebenleistungen, die der Auftragnehmer z.B. als Telekommunikationsleistungen, Post-/Transportdienstleistungen oder Reinigungsleistungen in Anspruch nimmt. Der Auftragnehmer ist jedoch verpflichtet, zur Gewährleistung des Datenschutzes und der Datensicherheit der Daten des Auftraggebers auch bei ausgelagerten Nebenleistungen angemessene und gesetzeskonforme vertragliche Vereinbarungen sowie Kontrollmaßnahmen zu ergreifen. Das im Rahmen der Unterauftragsverhältnisse vereinbarte Schutzniveau gem. Art 32 DSGVO muss zumindest dem Schutzniveau des vorliegenden Vertrages entsprechen. \")]),_c('p',[_vm._v(\"2. Der Auftragnehmer darf Unterauftragnehmer (weitere Auftragsverarbeiter) beauftragen.\")]),_c('p',[_vm._v(\"Eine Liste der aktuellen Unterauftragnehmer (Auftragsverarbeiter) kann unter https://www.spiketime.de/unterauftragnehmer eingesehen werden.\")]),_c('p',[_vm._v(\" 3. Die Auslagerung auf Unterauftragnehmer oder der Wechsel eines bestehenden Unterauftragnehmers sind zulässig, soweit der Auftragnehmer eine solche Auslagerung auf Unterauftragnehmer dem Auftraggeber eine angemessene Zeit vorab schriftlich oder in Textform anzeigt und der Auftraggeber nicht bis zum Zeitpunkt der Übergabe der Daten gegenüber dem Auftragnehmer schriftlich oder in Textform Einspruch gegen die geplante Auslagerung erhebt und eine vertragliche Vereinbarung nach Maßgabe des Artikel 28 Abs. 2-4 DSGVO zugrunde gelegt wird. \")]),_c('p',[_vm._v(\" 4. Die Weitergabe von personenbezogenen Daten des Auftraggebers an den Unterauftragnehmer und dessen erstmaliges Tätigwerden sind erst mit Vorliegen aller Voraussetzungen für eine Unterbeauftragung gestattet \")]),_c('p',[_vm._v(\" 5. Erbringt der Unterauftragnehmer die vereinbarte Leistung außerhalb der EU/des EWR stellt der Auftragnehmer die datenschutzrechtliche Zulässigkeit durch entsprechende Maßnahmen sicher. Gleiches gilt, wenn Dienstleister im Sinne von Abs. 1 Satz 2 eingesetzt werden sollen. \")]),_c('h2',[_vm._v(\"§ 7 Kontrollrechte des Auftraggebers\")]),_c('p',[_vm._v(\" 1. Der Auftraggeber hat das Recht, im Benehmen mit dem Auftragnehmer Überprüfungen durchzuführen oder durch im Einzelfall zu benennende Prüfer durchführen zu lassen. Er hat das Recht, sich durch Stichprobenkontrollen, die rechtzeitig anzumelden sind (mindestens jedoch 6 Wochen), von der Einhaltung dieser Vereinbarung durch den Auftragnehmer in dessen Geschäftsbetrieb zu überzeugen \")]),_c('p',[_vm._v(\" 2. Der Auftragnehmer stellt sicher, dass sich der Auftraggeber von der Einhaltung der Pflichten des Auftragnehmers nach Art. 28 DSGVO überzeugen kann. Der Auftragnehmer verpflichtet sich, dem Auftraggeber auf Anforderung die erforderlichen Auskünfte zu erteilen und insbesondere die Umsetzung der technischen und organisatorischen Maßnahmen nach­zuweisen. \")]),_c('h2',[_vm._v(\"§ 8 Mitteilung bei Verstößen des Auftragnehmers\")]),_c('p',[_vm._v(\" 1. Der Auftragnehmer unterstützt den Auftraggeber bei der Einhaltung der in den Artikeln 32 bis 36 der DSGVO genannten Pflichten zur Sicherheit personenbezogener Daten, Meldepflichten bei Datenpannen, Datenschutz-Folgeabschätzungen und vorherige Konsultationen. Hierzu gehören: \")]),_c('p',[_vm._v(\" a) die Sicherstellung eines angemessenen Schutzniveaus durch technische und organisatorische Maßnahmen, die die Umstände und Zwecke der Verarbeitung sowie die prognostizierte Wahrscheinlichkeit und Schwere einer möglichen Rechtsverletzung durch Sicherheitslücken berücksichtigen und eine sofortige Feststellung von relevanten Verletzungsereignissen ermöglichen \")]),_c('p',[_vm._v(\"b) die Verpflichtung, Verletzungen personenbezogener Daten unverzüglich an den Auftraggeber zu melden\")]),_c('p',[_vm._v(\" c) die Verpflichtung, dem Auftraggeber im Rahmen seiner Informationspflicht gegenüber dem Betroffenen zu unterstützen und ihm in diesem Zusammenhang sämtliche relevante Informationen unverzüglich zur Verfügung zu stellen \")]),_c('p',[_vm._v(\"d) die Unterstützung des Auftraggebers im Rahmen vorheriger Konsultationen mit der Aufsichtsbehörde\")]),_c('h2',[_vm._v(\"§ 9 Weisungsbefugnis des Auftraggebers\")]),_c('p',[_vm._v(\"1. Mündliche Weisungen bestätigt der Auftraggeber unverzüglich (mind. Textform).\")]),_c('p',[_vm._v(\" 2. Der Auftragnehmer hat den Auftraggeber unverzüglich zu informieren, wenn er der Meinung ist, eine Weisung verstoße gegen Datenschutzvorschriften. Der Auftragnehmer ist berechtigt, die Durchführung der entsprechenden Weisung solange auszusetzen, bis sie durch den Auftraggeber bestätigt oder geändert wird. \")]),_c('h2',[_vm._v(\"§ 10 Löschung und Rückgabe von personenbezogenen Daten\")]),_c('p',[_vm._v(\" 1. Kopien oder Duplikate der Daten werden ohne Wissen des Auftraggebers nicht erstellt. Hiervon ausgenommen sind Sicherheitskopien, soweit sie zur Gewährleistung einer ordnungsgemäßen Datenverarbeitung erforderlich sind, sowie Daten, die im Hinblick auf die Einhaltung gesetzlicher Aufbewahrungspflichten erforderlich sind. \")]),_c('p',[_vm._v(\" 2. Nach Abschluss der vertraglich vereinbarten Arbeiten oder früher nach Aufforderung durch den Auftraggeber – spätestens mit Beendigung der Leistungsvereinbarung – hat der Auftragnehmer sämtliche in seinen Besitz gelangten Unterlagen, erstellte Verarbeitungs- und Nutzungsergebnisse sowie Datenbestände, die im Zusammenhang mit dem Auftragsverhältnis stehen, dem Auftraggeber auszuhändigen oder nach vorheriger Zustimmung datenschutzgerecht zu vernichten. \")]),_c('p',[_vm._v(\" 3. Dokumentationen, die dem Nachweis der auftrags- und ordnungsgemäßen Datenverarbeitung dienen, sind durch den Auftragnehmer entsprechend der jeweiligen Aufbewahrungsfristen über das Vertragsende hinaus aufzubewahren. \")]),_c('br'),_c('br'),_c('br'),_c('br'),_c('br'),_c('br'),_c('p',[_vm._v(\"Leipzig, den \"+_vm._s(_vm._f(\"formatDate\")(_vm.editModel.advConclusionDate)))]),_c('p',[_vm._v(\"Andreas Seiler und Axel Schulze GbR\")]),_c('br'),_c('br'),_c('br'),_c('br'),_c('br'),_c('br'),_c('br')])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{staticClass:\"font-bold text-xl\",staticStyle:{\"padding-top\":\"50px\",\"padding-bottom\":\"300px\"},attrs:{\"align\":\"center\"}},[_vm._v(\" Vertrag zur Auftragsverarbeitung gemäß \"),_c('br'),_vm._v(\" Artikel 28 DSGVO \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{attrs:{\"align\":\"center\"}},[_vm._v(\" - Verantwortlicher - \"),_c('br'),_vm._v(\" nachstehend Auftraggeber genannt \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{attrs:{\"align\":\"center\"}},[_vm._v(\" Andreas Seiler und Axel Schulze GbR \"),_c('br'),_vm._v(\" Küchenholzallee 12 \"),_c('br'),_vm._v(\" 04249 Leipzig \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" 1. Gegenstand des Auftrags zum Datenumgang ist die Durchführung folgender Aufgaben durch den Auftragnehmer: \"),_c('br'),_c('br'),_vm._v(\" Speicherung der durch den Auftraggeber und dessen Mitarbeiter über die Webseite spiketime.de (inkl. sämtlicher Subdomains) eingegebenen Daten in einer Datenbank. Außerdem die Organisation, die Wiedergabe, grafische und tabellarische Aufbereitung, sowie das Löschen auf Weisung des Auftraggebers. Weiterhin die Wartung der zugrundeliegenden IT-Systeme und der Umgang mit Sicherungskopien. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Bestandsdaten (Kundenstammdaten: Firmenname, Ansprechpartner, Anschrift, UstID., E-Mailadresse, sonstige Kontaktdaten)\")]),_c('li',[_vm._v(\"Benutzer- und Accountdaten (Name, E-Mailadresse, verschlüsseltes Passwort)\")]),_c('li',[_vm._v(\"Zahlungsdaten (Kontodaten und/oder Kreditkartendaten)\")]),_c('li',[_vm._v(\"Vertragsdaten (Art der Leistung, Entgelt, Laufzeit, Vertragshistorie, Zahlungshistorie)\")]),_c('li',[_vm._v(\" Inhaltsdaten, die selbst von Kunden/ Nutzern in SpikeTime erfasst werden (Namen, Adressen, sonstige Kontaktdaten, Vertragsstammdaten, Mitarbeiterstammdaten, Zahlungsdaten, Zeiterfassungsdaten, Kundenstammdaten und Kundenkontaktdaten) \")]),_c('li',[_vm._v(\"Nutzungsdaten/ Metadaten (aktuell nur Requestparameter, Zeitstempel)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Kunden, Testnutzer, Beschäftigte/ Mitarbeiter und Vertragspartner des Auftraggebers\")]),_c('li',[_vm._v(\"Besucher und Nutzer des Onlineangebots\")])])}]\n\nexport { render, staticRenderFns }","\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\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\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { AccountAdvEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAccountApi } from '@/services/st-api';\n\n@Component({\n components: {},\n})\nexport default class AdvContract extends Vue {\n editModel: AccountAdvEditModel = AccountAdvEditModel.fromJS({});\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n this.editModel = await stAccountApi.getAdvEditModel();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdvContract.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdvContract.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdvContract.vue?vue&type=template&id=5aec8d05&scoped=true&\"\nimport script from \"./AdvContract.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdvContract.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AdvContract.vue?vue&type=style&index=0&id=5aec8d05&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5aec8d05\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class OnBoardingRoute extends Vue {\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoardingRoute.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoardingRoute.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OnBoardingRoute.vue?vue&type=template&id=6fd38d00&\"\nimport script from \"./OnBoardingRoute.vue?vue&type=script&lang=ts&\"\nexport * from \"./OnBoardingRoute.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"font-bold text-lg\"},[_vm._v(\"Queries\")]),_c('hr'),_c('st-button',{staticClass:\"green\",on:{\"click\":function($event){_vm.query = 'accounts'}}},[_vm._v(\"Accounts\")]),_c('st-button',{staticClass:\"green ml-4\",on:{\"click\":function($event){_vm.query = 'nextpayments'}}},[_vm._v(\"Next Payments\")]),_c('st-button',{staticClass:\"green ml-4\",on:{\"click\":function($event){_vm.query = 'pipeline'}}},[_vm._v(\"Account Pipeline\")]),_c('hr',{staticClass:\"mb-6 block\"}),_c('div',{staticClass:\"st-list-container\"},[(_vm.query === 'accounts')?_c('table',{staticClass:\"st-table\"},[_vm._m(0),_c('tbody',_vm._l((_vm.data),function(account){return _c('tr',[_c('td',[_vm._v(_vm._s(account.Id))]),_c('td',[_vm._v(_vm._s(account.IsMigratedFromSt2))]),_c('td',[_vm._v(_vm._s(account.Email))]),_c('td',[_vm._v(_vm._s(account.PaymentIsSetup))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(account.PaymentPaidTill,'dd.MM.yyyy HH:mm')))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(account.TrialEndedMailSentAt,'dd.MM.yyyy HH:mm')))]),_c('td',[(!account.IsLocked)?_c('div',{staticClass:\"flex\"},[_c('st-input2',{attrs:{\"placeholder\":\"Grund (wird bei Admins angezeigt)\"},model:{value:(account.IsLockedAdminReason),callback:function ($$v) {_vm.$set(account, \"IsLockedAdminReason\", $$v)},expression:\"account.IsLockedAdminReason\"}}),_c('st-button-round',{staticClass:\"ml-2 danger\",on:{\"click\":function($event){return _vm.lockAccount(account)}}},[_c('i',{staticClass:\"far fa-lock\"})])],1):_c('div',{staticClass:\"flex\"},[_vm._v(\" \"+_vm._s(account.IsLockedAdminReason)+\" \"),_c('st-button-round',{staticClass:\"ml-2 success\",on:{\"click\":function($event){return _vm.unlockAccount(account)}}},[_c('i',{staticClass:\"far fa-unlock\"})])],1)])])}),0)]):_vm._e(),(_vm.query === 'nextpayments')?_c('table',{staticClass:\"st-table\"},[_vm._m(1),_c('tbody',_vm._l((_vm.data),function(account){return _c('tr',[_c('td',[_vm._v(_vm._s(account.Email))]),_c('td',[_vm._v(_vm._s(account.PaymentMethod))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(account.PaymentPaidTill,'dd.MM.yyyy HH:mm')))]),_c('td',[_vm._v(_vm._s(account.LicensedUserCount))]),_c('td',[_vm._v(_vm._s(account.PaymentMethod))]),_c('td',[_vm._v(_vm._s(account.PaymentBasePriceCent))]),_c('td',[_vm._v(_vm._s(account.PaymentInterval))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(account.LastLogin,'dd.MM.yyyy')))])])}),0)]):_vm._e(),(_vm.query === 'pipeline')?_c('table',{staticClass:\"st-table\"},[_vm._m(2),_c('tbody',_vm._l((_vm.data),function(account){return _c('tr',{class:{'bg-red-100': !account.hasEntries || account.daysLastEntry >= 14, 'bg-yellow-200': account.hasEntries && account.daysLastEntry < 14 && account.daysLastEntry > 6, 'bg-green-200': account.hasEntries && account.daysLastEntry <= 6 }},[_c('td',[_vm._v(_vm._s(account.id))]),(account.useBasicTimeTracking)?_c('td',[_vm._v(\"BASIC\")]):_c('td',[_vm._v(\"FULL\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(account.insertDateTime))+\" \"),_c('br'),_c('small',[_vm._v(_vm._s(account.daysCreated)+\" Tage\")])]),_c('td',[_vm._v(_vm._s(account.email))]),_c('td',[_vm._v(_vm._s(account.anzahlUser))]),_c('td',[_vm._v(_vm._s(account.hatLogo))]),_c('td',[_vm._v(_vm._s(account.username))]),_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(account.lastEntry))+\" \"),_c('br'),(account.hasEntries)?_c('small',[_vm._v(_vm._s(account.daysLastEntry)+\" Tage\")]):_c('small',[_vm._v(\"KEINE EINTRÄGE\")])]),_c('td',[_vm._v(_vm._s(account.anzahlEntries))]),_c('td',[_vm._v(_vm._s(account.paymentIsSetup))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(account.trialEndedMailSentAt,'dd.MM.yyyy')))]),_c('td',[_vm._v(_vm._s(account.isLocked)+\" \")]),_c('td',[_vm._v(_vm._s(account.isLockedAdminReason)+\" \")]),_c('td',[_c('st-delete-button',{on:{\"delete\":function($event){return _vm.deleteAccount(account.guid)}}})],1)])}),0)]):_vm._e()])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Id\")]),_c('th',[_vm._v(\"Migrated\")]),_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"PaymentIsSetup\")]),_c('th',[_vm._v(\"PaymentPaidTill\")]),_c('th',[_vm._v(\"TrialEndedEmailSentAt\")]),_c('th',[_vm._v(\"Lock / Unlock\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"PaymentMethod\")]),_c('th',[_vm._v(\"PaidTill\")]),_c('th',[_vm._v(\"Licensed Users\")]),_c('th',[_vm._v(\"PaymentMethod\")]),_c('th',[_vm._v(\"BasePrice\")]),_c('th',[_vm._v(\"Interval\")]),_c('th',[_vm._v(\"LastLogin\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Id\")]),_c('th',[_vm._v(\"Typ\")]),_c('th',[_vm._v(\"Erstellt\")]),_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"Anzahl User\")]),_c('th',[_vm._v(\"HatLogo\")]),_c('th',[_vm._v(\"Username Creator\")]),_c('th',[_vm._v(\"Letzter Eintrag\")]),_c('th',[_vm._v(\"Anzahl Einträge\")]),_c('th',[_vm._v(\"PaymentIsSetup\")]),_c('th',[_vm._v(\"IsLocked\")]),_c('th',[_vm._v(\"IsLockedAdminReason\")])])])}]\n\nexport { render, staticRenderFns }","\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\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { stAdminApi } from '@/services/st-api';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport {LockAccountEditModel} from '@/services/api/nswag/stapiclient_generated';\n\n@Component({\n components: { StTabs, AccountSettingsInvoice },\n})\nexport default class AdminQueries extends Vue {\n data: any[] = [];\n query: string = 'pipeline';\n\n @Watch('query')\n async watchQuery() {\n this.data = await stAdminApi.getTableData(this.query);\n }\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n this.data = await stAdminApi.getTableData(this.query);\n }\n\n async deleteAccount(guid: string) {\n if (confirm('Willst du das wirklich tun???')) {\n await stAdminApi.removeAccount(guid);\n notifySuccess('Ist zwar eine Success-Meldung, aber irgendwie auch nicht. Der ist weg!');\n await this.loadData();\n } else {\n notifySuccess('Alles abgebrochen, nix passiert...');\n }\n }\n\n async lockAccount(account: any)\n {\n const model = LockAccountEditModel.fromJS({});\n model.accountGuid = account.Guid;\n model.reason = account.IsLockedAdminReason;\n await stAdminApi.lockAccount(model);\n await this.loadData();\n }\n\n async unlockAccount(account: any)\n {\n const model = LockAccountEditModel.fromJS({});\n model.accountGuid = account.Guid;\n model.reason = \"\";\n await stAdminApi.unlockAccount(model);\n await this.loadData();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Queries.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Queries.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Queries.vue?vue&type=template&id=76928306&\"\nimport script from \"./Queries.vue?vue&type=script&lang=ts&\"\nexport * from \"./Queries.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Queries.vue?vue&type=style&index=0&id=76928306&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Feiertagsgruppen')))]),_c('div',{staticClass:\"page-subheading\"},[(_vm.group.id)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Feiertagsgruppe'))+\" \"+_vm._s(_vm.group.name)+\" \"),(!_vm.isGlobal)?[_vm._v(_vm._s(_vm.$t('bearbeiten')))]:_vm._e()],2):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Feiertagsgruppe anlegen')))])])]),_c('st-button',{staticClass:\"white mt-8 sm:mt-0\",attrs:{\"icon\":\"fa fa-arrow-left\"},on:{\"click\":_vm.back}},[_vm._v(_vm._s(_vm.$t('Zurück zur Liste')))])],1),_c('div',[_c('div',{staticClass:\"st-list-container relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticClass:\"st-list-header flex justify-between\"},[_c('div',{staticClass:\"font-bold text-lg\"},[(_vm.group.id)?_c('span',[_vm._v(_vm._s(_vm.group.name))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Feiertagsgruppe anlegen')))])]),_c('div',[(_vm.group.id && !_vm.group.isGlobal)?_c('st-button',{staticClass:\"green\",attrs:{\"icon\":\"fa fa-edit\"},on:{\"click\":function($event){return _vm.startGroupdEdit(_vm.group.id)}}},[_vm._v(_vm._s(_vm.$t('Bearbeiten')))]):_vm._e()],1)]),_c('div',{staticClass:\"st-list-item cursor-auto p-8\"},[_c('v-calendar',{attrs:{\"rows\":_vm.$screens({ default: 12, lg: 3 }),\"columns\":_vm.$screens({ default: 1, lg: 4 }),\"is-expanded\":\"\",\"attributes\":_vm.attributes,\"fromDate\":_vm.fromDate,\"nav-visibility\":'hidden'},on:{\"dayclick\":_vm.dayClicked,\"update:from-page\":_vm.updateCalendar},scopedSlots:_vm._u([{key:\"day-popover\",fn:function(ref){\nvar day = ref.day;\nvar dayTitle = ref.dayTitle;\nvar label = ref.label;\nvar attributes = ref.attributes;\nreturn _vm._l((attributes),function(attribute){return _c('div',[(attribute.customData.description)?_c('div',{staticClass:\"text-xs text-gray-300 font-semibold text-center\"},[_c('i',{staticClass:\"far fa-tree-palm\"}),_vm._v(\" \"+_vm._s(_vm.$t('Feiertag'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(attribute.customData.description)+\" \")]):_vm._e()])})}}])})],1)],1)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { PublicHolidayFilter, PublicHolidayGroupEditModel, PublicHolidayViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stPublicHolidayApi, stPublicHolidayGroupApi } from '@/services/st-api';\nimport StRatePicker from '@/components/basic/StRatePicker.vue';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StInput2 from '@/components/basic/StInput2.vue';\nimport StToggle from '@/components/basic/StToggle.vue';\nimport StExplanation from '@/components/basic/StExplanation.vue';\nimport { UserStore } from '@/store/user-module';\nimport { dateEqual, DtFromIso } from '@/utlitities/helper';\nimport { DateTime } from 'luxon';\n\nComponent.registerHooks(['beforeRouteUpdate']);\n\n@Component({\n components: {\n StExplanation,\n StToggle,\n StInput2,\n SlideIn,\n StRatePicker\n },\n})\nexport default class PublicHolidayGroupEdit extends Vue {\n id: number = 0;\n group: PublicHolidayGroupEditModel = PublicHolidayGroupEditModel.fromJS({ name: '' });\n loading: boolean = true;\n delayLoading = false;\n saving: boolean = false;\n year: number = UserStore.userNowDateTime.year;\n\n globalViewModels: PublicHolidayViewModel[] = [];\n globalOverwriteDates: DateTime[] = [];\n userViewModels: PublicHolidayViewModel[] = [];\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n next();\n if (from.name == 'PublicHolidayGroupEditSlideOut') {\n this.id = parseInt(this.$route.params.id);\n if (!this.id) {\n this.back();\n }\n }\n if (to.name == 'PublicHolidayGroupEdit') {\n try {\n this.delayLoading = true;\n await this.loadData();\n } finally {\n this.delayLoading = false;\n }\n }\n }\n\n get fromDate(): Date {\n return DateTime.local(this.year, 1, 1, 0, 0, 0, 0).toJSDate();\n }\n\n created() {\n this.id = parseInt(this.$route.params.id);\n }\n\n async mounted() {\n if (!this.id) {\n this.loading = false;\n await this.$router.push({\n name: 'PublicHolidayGroupEditSlideOut',\n params: { id: '0' },\n });\n }\n\n await this.loadData();\n\n this.loading = false;\n }\n\n async loadData() {\n if (this.id) {\n this.group = await stPublicHolidayGroupApi.get(this.id);\n } else {\n this.group = await stPublicHolidayGroupApi.getNew();\n }\n\n if (this.group?.publicHolidayGroupId) {\n this.selectedGlobalGroupId = this.group.publicHolidayGroupId!;\n } else {\n this.selectedGlobalGroupId = null;\n }\n\n await this.loadYearHolidays(this.year);\n }\n\n get isGlobal() {\n return this.group?.isGlobal;\n }\n\n get selectedGlobalGroupId() {\n return this.group?.publicHolidayGroupId ?? null;\n }\n\n set selectedGlobalGroupId(id: number | null) {\n this.group.publicHolidayGroupId = id ?? undefined;\n }\n\n get groupId() {\n if (this.group && this.selectedGlobalGroupId == this.group.publicHolidayGroupId) {\n return this.group.id!;\n }\n\n return this.selectedGlobalGroupId;\n }\n\n get attributes() {\n let attr: any[] = [];\n\n attr.push(\n ...this.userViewModels\n ?.filter((x) => !attr.some((y) => dateEqual(y.dates, DateTime.fromISO(x.publicHolidayDate!))))\n ?.map((x: PublicHolidayViewModel) => {\n return {\n dates: x.publicHolidayDate,\n highlight: { color: this.group.isGlobal ? 'blue' : 'green', fillMode: 'solid' },\n popover: { visibility: 'hover' },\n customData: { publicHolidayId: x.id, description: x.description },\n };\n })\n );\n\n attr.push(\n ...this.globalViewModels\n ?.filter((x) => !attr.some((y) => dateEqual(y.dates, DateTime.fromISO(x.publicHolidayDate!))))\n ?.map((x: PublicHolidayViewModel) => {\n return {\n dates: x.publicHolidayDate,\n highlight: { color: 'blue', fillMode: 'solid' },\n popover: { visibility: 'hover' },\n customData: { publicHolidayId: x.id, description: x.description },\n };\n })\n );\n\n return attr;\n }\n\n getUserViewModelForDay(day: DateTime) {\n return this.userViewModels.find((y) => dateEqual(DateTime.fromISO(y.publicHolidayDate!), day));\n }\n\n async startGroupdEdit(id: number) {\n await this.$router.push({\n name: 'PublicHolidayGroupEditSlideOut',\n params: { id: id.toString() },\n });\n }\n\n async updateCalendar(calendarEvent: any) {\n if (!calendarEvent.weekday) {\n this.year = calendarEvent.year;\n await this.loadData();\n }\n }\n\n async dayClicked(e: any) {\n if (this.isGlobal)\n return;\n\n const userViewModel = this.getUserViewModelForDay(DtFromIso(e.id));\n\n if (userViewModel) {\n await this.$router.push({\n name: 'PublicHolidayEdit',\n params: { groupId: this.group.id!.toString(), id: userViewModel.id!.toString() },\n });\n } else {\n await this.$router.push({\n name: 'PublicHolidayAdd',\n params: { groupId: this.group.id!.toString(), id: '0', date: e.id },\n });\n }\n }\n\n async loadYearHolidays(year: number) {\n this.year = year;\n try {\n this.delayLoading = true;\n\n this.globalOverwriteDates = (\n await stPublicHolidayApi.getOverwrittenAsWorkdayDates(\n PublicHolidayFilter.fromJS({\n publicHolidayGroupId: this.group.id!,\n year: year,\n })\n )\n ).map((x) => DateTime.fromISO(x));\n\n if (this.selectedGlobalGroupId) {\n this.globalViewModels = (\n await stPublicHolidayApi.getList(\n PublicHolidayFilter.fromJS({\n publicHolidayGroupId: this.selectedGlobalGroupId,\n year: year,\n })\n )\n ).filter((x) => !this.globalOverwriteDates.some((y) => dateEqual(y, DateTime.fromISO(x.publicHolidayDate!))));\n }\n\n if (this.group?.id) {\n this.userViewModels = await stPublicHolidayApi.getList(\n PublicHolidayFilter.fromJS({\n publicHolidayGroupId: this.group.id!,\n year: year,\n onlyUserHolidays: true,\n })\n );\n }\n } finally {\n this.delayLoading = false;\n }\n }\n\n back() {\n this.$router.push({ name: 'PublicHolidayGroup' });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayGroupEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayGroupEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PublicHolidayGroupEdit.vue?vue&type=template&id=01687cba&\"\nimport script from \"./PublicHolidayGroupEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./PublicHolidayGroupEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(!_vm.isNew)?_c('span',[_vm._v(_vm._s(_vm.$t(\"Feiertag\"))+\" \"+_vm._s(_vm.editModel.description)+\" \"+_vm._s(_vm.$t(\"bearbeiten\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"Neuen Feiertag anlegen\")))])]},proxy:true}])},[_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Datum\")))]),_c('st-datepicker',{attrs:{\"disabled\":true},model:{value:(_vm.editModel.publicHolidayDate),callback:function ($$v) {_vm.$set(_vm.editModel, \"publicHolidayDate\", $$v)},expression:\"editModel.publicHolidayDate\"}})],1),_c('st-input2',{attrs:{\"label\":_vm.$t('Name'),\"name\":\"Name\",\"type\":\"text\",\"rules\":\"required\",\"focus\":true},model:{value:(_vm.editModel.description),callback:function ($$v) {_vm.$set(_vm.editModel, \"description\", $$v)},expression:\"editModel.description\"}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Halber Arbeitstag\")))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.isHalfDay),callback:function ($$v) {_vm.$set(_vm.editModel, \"isHalfDay\", $$v)},expression:\"editModel.isHalfDay\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Dieser Feiertag gilt als halber Arbeitstag\"))+\" \")])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Jährliche Wiederholung\")))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.editModel.repeatsEveryYearSameDay),callback:function ($$v) {_vm.$set(_vm.editModel, \"repeatsEveryYearSameDay\", $$v)},expression:\"editModel.repeatsEveryYearSameDay\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Dieser Feiertag wiederholt sich jährlich am gleichen Tag\"))+\" \")])],1),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-between\"},[_c('div',[(_vm.editModel.id || _vm.editModel.isGlobalOverwrite)?_c('st-delete-button',{attrs:{\"loading\":_vm.deleting},on:{\"delete\":_vm.deleteItem}}):_vm._e()],1),_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.closeSlideIn()}}},[_vm._v(_vm._s(_vm.$t(\"Abbrechen\")))]),_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(_vm._s(_vm.$t(\"Speichern\"))+\" \")])],1)])]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport { PublicHolidayEditModel } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stPublicHolidayApi } from \"@/services/st-api\";\r\nimport StRatePicker from \"@/components/basic/StRatePicker.vue\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport StToggle from \"@/components/basic/StToggle.vue\";\r\n\r\n@Component({\r\n components: {\r\n StToggle,\r\n StInput2,\r\n SlideIn,\r\n StRatePicker\r\n }\r\n})\r\nexport default class PublicHolidayEdit extends Vue {\r\n editModel: PublicHolidayEditModel = PublicHolidayEditModel.fromJS({});\r\n groupId: number = 0;\r\n id: number = 0;\r\n date: string = \"\";\r\n\r\n loading: boolean = true;\r\n saving: boolean = false;\r\n deleting: boolean = false;\r\n listPage: string = \"PublicHolidayGroupEdit\";\r\n isNew: boolean = false;\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n }\r\n\r\n closeSlideIn() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n\r\n slideOutClosed() {\r\n this.$router.push({ name: this.listPage, params: { id: this.groupId.toString() } });\r\n }\r\n\r\n created() {\r\n this.groupId = parseInt(this.$route.params.groupId);\r\n this.id = parseInt(this.$route.params.id);\r\n this.date = this.$route.params.date;\r\n }\r\n\r\n async mounted() {\r\n this.openSlideIn();\r\n this.editModel = this.id == 0 ? await stPublicHolidayApi.getNew(this.date, this.groupId) : await stPublicHolidayApi.get(this.id);\r\n this.loading = false;\r\n }\r\n\r\n async deleteItem() {\r\n try {\r\n this.deleting = true;\r\n if (this.editModel.isGlobalOverwrite) {\r\n await stPublicHolidayApi.overwriteAsWorkday(this.editModel);\r\n }else{\r\n await stPublicHolidayApi.delete(this.editModel.id!);\r\n }\r\n\r\n this.closeSlideIn();\r\n } finally {\r\n this.deleting = false;\r\n }\r\n }\r\n\r\n async submit() {\r\n try {\r\n this.saving = true;\r\n if (!this.editModel.id) {\r\n await stPublicHolidayApi.post(this.editModel);\r\n } else {\r\n await stPublicHolidayApi.put(this.editModel);\r\n }\r\n\r\n this.closeSlideIn();\r\n } finally {\r\n this.saving = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PublicHolidayEdit.vue?vue&type=template&id=d2e5ed2c&\"\nimport script from \"./PublicHolidayEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./PublicHolidayEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(_vm.editModel.id)?_c('span',[_vm._v(_vm._s(_vm.$t('Feiertagsgruppe'))+\" \"+_vm._s(_vm.editModel.name)+\" \"+_vm._s(_vm.$t('bearbeiten')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Feiertagsgruppe anlegen')))])]},proxy:true}])},[_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Name\")))]),_c('st-input2',{attrs:{\"rules\":\"required\",\"name\":_vm.$t('Name'),\"focus\":true},model:{value:(_vm.editModel.name),callback:function ($$v) {_vm.$set(_vm.editModel, \"name\", $$v)},expression:\"editModel.name\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(\"Vorlage auswählen\")))]),_c('st-select',{attrs:{\"options\":_vm.globalGroups,\"idProp\":\"id\",\"placeholder\":_vm.$t('Ohne Vorlage'),\"labelProp\":\"name\"},model:{value:(_vm.editModel.publicHolidayGroupId),callback:function ($$v) {_vm.$set(_vm.editModel, \"publicHolidayGroupId\", $$v)},expression:\"editModel.publicHolidayGroupId\"}})],1),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end\"},[_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.closeSlideIn()}}},[_vm._v(_vm._s(_vm.$t(\"Abbrechen\")))]),_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"icon\":\"far fa-save\",\"type\":\"submit\",\"disabled\":invalid}},[_vm._v(_vm._s(_vm.$t(\"Speichern\"))+\" \")])],1)])]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport {\r\n PublicHolidayGroupEditModel,\r\n PublicHolidayGroupFilter,\r\n PublicHolidayGroupViewModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stPublicHolidayGroupApi } from \"@/services/st-api\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\n\r\n@Component({\r\n components: {\r\n SlideIn\r\n },\r\n})\r\nexport default class PublicHolidayGroupEditSlideOut extends Vue {\r\n listPage: string = 'PublicHolidayGroupEdit';\r\n id: number = 0;\r\n loading: boolean = true;\r\n saving: boolean = false;\r\n editModel: PublicHolidayGroupEditModel = PublicHolidayGroupEditModel.fromJS({});\r\n globalGroups: PublicHolidayGroupViewModel[] = [];\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n }\r\n\r\n closeSlideIn() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n\r\n slideOutClosed() {\r\n this.$router.push({ name: this.listPage, params: {id: this.id.toString()} });\r\n }\r\n\r\n created() {\r\n this.id = parseInt(this.$route.params.id);\r\n }\r\n\r\n async mounted() {\r\n this.openSlideIn();\r\n this.globalGroups = await stPublicHolidayGroupApi.getList(PublicHolidayGroupFilter.fromJS({ isGlobal: true }));\r\n this.editModel = this.id == 0 ? await stPublicHolidayGroupApi.getNew() : await stPublicHolidayGroupApi.get(this.id);\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n this.saving = true;\r\n if (this.id == 0) {\r\n this.id = await stPublicHolidayGroupApi.post(this.editModel);\r\n } else {\r\n await stPublicHolidayGroupApi.put(this.id, this.editModel);\r\n }\r\n notifySuccess(\"Erfolgreich gespeichert\");\r\n this.closeSlideIn();\r\n } finally {\r\n this.saving = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayGroupEditSlideOut.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicHolidayGroupEditSlideOut.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PublicHolidayGroupEditSlideOut.vue?vue&type=template&id=c34f3d2a&\"\nimport script from \"./PublicHolidayGroupEditSlideOut.vue?vue&type=script&lang=ts&\"\nexport * from \"./PublicHolidayGroupEditSlideOut.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Teamkalender')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Abwesenheiten und Urlaubsanträge')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-tree-palm\"},on:{\"click\":function($event){return _vm.addAbsence()}}},[_vm._v(\" \"+_vm._s(_vm.$t('Abwesenheit eintragen'))+\" \")])],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header text-lg font-bold\"},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.$t('Jahr'))+\" \"+_vm._s(_vm.year))]),_c('i',{staticClass:\"far fa-arrow-circle-left mr-4 text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(-1)}}}),_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(1)}}})])])])]),_c('st-tabs',{attrs:{\"tabs\":_vm.tabs},scopedSlots:_vm._u([{key:\"calendarHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-calendar mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Teamkalender / Anträge'))+\" \")])]},proxy:true},{key:\"listHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-list mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Mitarbeiter-Details'))+\" \")])]},proxy:true},{key:\"exportHeader\",fn:function(){return [_c('i',{staticClass:\"far fa-file-excel mr-4\"}),_c('span',{staticClass:\"hidden sm:inline\"},[_vm._v(\" \"+_vm._s(_vm.$t('Export'))+\" \")])]},proxy:true},{key:\"calendar\",fn:function(){return [_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),(_vm.canApproveAbsences)?_c('div',{staticClass:\"st-list-container mt-8 mb-4\"},[_c('h1',{staticClass:\"text-lg font-bold\"},[_vm._v(_vm._s(_vm.$t('Offene Abwesenheitsanträge')))]),_c('div',{staticClass:\"st-list-content\"},[(!_vm.openAbsenceRequests.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-tree-palm text-xl\"}),_c('div',{staticClass:\"desc text-base\"},[_vm._v(_vm._s(_vm.$t('Es gibt derzeit keine offenen Abwesenheitsanträge')))])]):_vm._e(),_vm._l((_vm.openAbsenceRequests),function(absence){return _c('div',{key:absence.id,staticClass:\"st-list-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.editAbsence(absence)}}},[_c('div',{staticClass:\"st-list-item-content items-center\"},[_c('div',{staticClass:\"col-span-9 md:col-span-6 md:col-span-5 flex items-center\"},[_c('absence-type-icon',{attrs:{\"absence-type\":absence.absenceType}}),_c('div',{staticClass:\"st-list-item-header flex flex-col\"},[_c('div',{staticClass:\"whitespace-nowrap overflow-ellipsis\",staticStyle:{\"min-width\":\"0\"}},[_c('i',{staticClass:\"far fa-user mr-2 mb-4\"}),_c('span',[_vm._v(_vm._s(absence.appUserName))])]),_c('div',{staticClass:\"pb-2 break-word\"},[_vm._v(\" \"+_vm._s(absence.absenceType.description)+\" \")]),_c('div',{staticClass:\"text-sm font-normal\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(absence.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(absence.dateTo)))])])],1),_c('div',{staticClass:\"hidden md:block md:col-span-4\"},[_c('st-button',{staticClass:\"small green mr-4\",staticStyle:{\"width\":\"100px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.approveAbsence(absence)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Genehmigen'))+\" \")]),_c('st-button',{staticClass:\"small red mr-4\",staticStyle:{\"width\":\"100px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.rejectAbsence(absence)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Ablehnen'))+\" \")])],1),_c('div',{staticClass:\"col-span-2 flex items-center justify-end\"},[_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editAbsence(absence)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-delete-button',{on:{\"delete\":function($event){return _vm.deleteAbsence(absence.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1),_c('div',{staticClass:\"col-span-12 md:hidden flex justify-between\"},[_c('st-button',{staticClass:\"small red mr-4\",staticStyle:{\"width\":\"100px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.rejectAbsence(absence)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Ablehnen'))+\" \")]),_c('st-button',{staticClass:\"small green mr-4\",staticStyle:{\"width\":\"100px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.approveAbsence(absence)}}},[_vm._v(\" \"+_vm._s(_vm.$t('Genehmigen'))+\" \")])],1)])])})],2)]):_vm._e(),_c('div',{staticClass:\"hidden md:block\",class:{ 'mt-12': _vm.canApproveAbsences, 'mt-8': !_vm.canApproveAbsences }},[_c('h1',{staticClass:\"text-lg font-bold\"},[_vm._v(_vm._s(_vm.$t('Teamkalender')))]),_c('div',{staticClass:\"flex mt-2\",class:{ 'justify-between': _vm.displayOnlyDirectTeamMembersSwitch, 'justify-end': !_vm.displayOnlyDirectTeamMembersSwitch }},[(_vm.displayOnlyDirectTeamMembersSwitch)?_c('st-toggle',{attrs:{\"type\":\"right\"},on:{\"input\":_vm.loadAbsenceCalendarData},model:{value:(_vm.displayOnlyDirectTeamMembers),callback:function ($$v) {_vm.displayOnlyDirectTeamMembers=$$v},expression:\"displayOnlyDirectTeamMembers\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Nur direkt zugeordnete Teammitglieder anzeigen'))+\" \")]):_vm._e(),_c('AbsenceLegend')],1),_c('calendar-horizontal',{attrs:{\"absence-data\":_vm.absenceData,\"open-absence-requests\":_vm.openAbsenceRequests,\"year\":_vm.year},on:{\"approve\":_vm.approveAbsence,\"reject\":_vm.rejectAbsence}})],1)]},proxy:true},{key:\"list\",fn:function(){return [_c('div',{staticClass:\"grid grid-cols-12\"},[_c('div',{staticClass:\"col-span-12 md:col-span-4\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter')))]),_c('st-select',{ref:\"appUserSelect\",attrs:{\"multiple\":false,\"grouped\":true,\"clearable\":false,\"options\":_vm.appUser,\"labelProp\":\"description\",\"name\":\"AppUser\",\"placeholderClass\":\"text-gray-700\"},on:{\"input\":_vm.loadUserAbsencesAndStats},model:{value:(_vm.currentUserId),callback:function ($$v) {_vm.currentUserId=$$v},expression:\"currentUserId\"}})],1)]),(!_vm.currentUser.isArchived)?_c('div',[_c('div',{staticClass:\"text-lg font-bold mt-8 mb-4\"},[_vm._v(_vm._s(_vm.$t('Urlaubstage')))]),_c('div',{staticClass:\"grid grid-cols-2 gap-4 w-full md:w-1/2\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Kontingent')))]),_c('div',{staticClass:\"flex items-center\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.totalVacationDaysThisYear))+\" \"),(_vm.vacationStats.carryOverVactionDays)?_c('span',{staticClass:\"ml-2\"},[_vm._v(\" (\"+_vm._s(_vm.$t('davon'))+\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.carryOverVactionDays))+\" \"+_vm._s(_vm.$t('aus Vorjahr'))+\") \")]):_vm._e()]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Genommen / Beantragt')))]),_c('div',{staticClass:\"flex items-center\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.approvedVacationDays))+\" / \"+_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.requestedVacationDays)))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Rest')))]),_c('div',[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.vacationStats.restVacationDays)))])])]):_vm._e(),_c('div',{staticClass:\"text-lg font-bold mt-8\"},[_vm._v(\"Details\")]),_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-content\"},[(!_vm.absenceList.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-tree-palm\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Abwesenheiten gefunden')))])]):_vm._e(),_vm._l((_vm.absenceList),function(absence){return _c('div',{key:absence.id,staticClass:\"st-list-item\",class:{ 'cursor-auto': absence.isReadOnly },on:{\"click\":function($event){$event.stopPropagation();return _vm.editAbsence(absence)}}},[_c('div',{staticClass:\"st-list-item-content items-center\",class:{ 'hover:bg-white': absence.isReadOnly }},[_c('div',{staticClass:\"col-span-5 flex items-center\"},[_c('absence-type-icon',{attrs:{\"absence-type\":absence.absenceType}}),_c('div',{staticClass:\"st-list-item-header flex flex-col\"},[_c('div',{staticClass:\"pb-2 break-word\"},[_vm._v(_vm._s(absence.absenceType.description))]),_c('div',{staticClass:\"text-sm font-normal\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(absence.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(absence.dateTo)))])])],1),_c('div',{staticClass:\"col-span-4\"},[(absence.absenceType.approvalNeeded && !absence.isApprovalDecided)?[(!absence.isApproved)?_c('st-badge',{attrs:{\"bgClass\":'bg-yellow-500 text-white'}},[_vm._v(_vm._s(_vm.$t('Beantragt')))]):_vm._e()]:_vm._e(),(absence.absenceType.approvalNeeded && absence.isApprovalDecided)?[(absence.isApproved)?_c('st-badge',[_vm._v(_vm._s(_vm.$t('Genehmigt')))]):_vm._e(),(!absence.isApproved)?_c('st-badge',{attrs:{\"bgClass\":'bg-red-500 text-white'}},[_vm._v(_vm._s(_vm.$t('Abgelehnt')))]):_vm._e()]:_vm._e()],2),(!absence.isReadOnly)?_c('div',{staticClass:\"col-span-3 flex items-center justify-end\"},[_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editAbsence(absence)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-delete-button',{on:{\"delete\":function($event){return _vm.deleteAbsence(absence.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1):_vm._e()])])})],2)])]},proxy:true},{key:\"export\",fn:function(){return [_c('h1',{staticClass:\"text-lg font-bold\"},[_vm._v(_vm._s(_vm.$t('Export der Abwesenheiten - Jahr'))+\" \"+_vm._s(_vm.year))]),_c('div',{staticClass:\"my-4\"},[_c('div',{staticClass:\"hover:underline cursor-pointer\",on:{\"click\":function($event){return _vm.ExportExcel(_vm.year)}}},[(!_vm.exportLoading)?_c('i',{staticClass:\"far fa-download\"}):_vm._e(),(_vm.exportLoading)?_c('i',{staticClass:\"far fa-spin fa-spinner\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t('Download Abwesenheitsübersicht über alle Benutzer'))+\" \")])])]},proxy:true}]),model:{value:(_vm.activeTabName),callback:function ($$v) {_vm.activeTabName=$$v},expression:\"activeTabName\"}}),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"bg-white\"},[(!_vm.loading)?[_c('div',[_c('div',{staticClass:\"flex justify-end mb-4\"},[_c('st-button-round',{staticClass:\"white\",attrs:{\"disabled\":_vm.daywidth >= 40},on:{\"click\":function($event){return _vm.changeDayWidth(1)}}},[_c('i',{staticClass:\"far fa-search-plus\"})]),_c('st-button-round',{staticClass:\"white\",attrs:{\"disabled\":_vm.daywidth <= 10},on:{\"click\":function($event){return _vm.changeDayWidth(0)}}},[_c('i',{staticClass:\"far fa-search-minus\"})])],1)]),_c('div',{staticClass:\"grid grid-cols-12\"},[_c('div',{staticClass:\"col-span-2\"},[_c('div',{style:({ height: _vm.headerRowHeight * (_vm.daysVisible ? 2 : 2) + 'px' })}),_vm._l((_vm.absenceData),function(user){return _c('div',{key:user.appUser.id,staticClass:\"st-list-item flex items-center font-bold border-b\",style:({ height: _vm.rowHeight + 'px' })},[_c('i',{staticClass:\"far fa-user mr-4\"}),_vm._v(\" \"+_vm._s(user.appUser.name)+\" \")])})],2),_c('div',{ref:\"calendar\",staticClass:\"col-span-10 overflow-x-scroll relative\"},[_vm._l((_vm.absenceData),function(user,index){return _c('div',{key:user.appUser.id,staticClass:\"absolute\",staticStyle:{\"left\":\"0\"},style:({ top: _vm.headerRowHeight * 2 + index * _vm.rowHeight + 'px' })},[_vm._l((_vm.getAbsencesForUser(user.appUser.id)),function(absence,index){return _c('div',{key:absence.id,staticClass:\"absolute\",style:({ height: _vm.rowHeight + 'px', left: _vm.daywidth * absence.startDayOfYear + 'px', width: _vm.daywidth * absence.durationDays + 'px' })},[_c('VDropdown',{staticClass:\"absenceDropdown\",scopedSlots:_vm._u([{key:\"popper\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"bg-white p-8\"},[_c('div',{staticClass:\"flex justify-between\"},[_c('div',[_c('div',{staticClass:\"font-bold text-sm\"},[_vm._v(_vm._s(absence.absenceType.description))]),_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(absence.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(absence.dateTo))+\" \")])]),(!absence.isReadOnly)?_c('div',{staticClass:\"flex\"},[_c('st-button-round',{staticClass:\"ml-8\",attrs:{\"small\":true},on:{\"click\":function($event){hide();\n _vm.editAbsence(absence.id);}}},[_c('i',{staticClass:\"far fa-pencil\"})])],1):_vm._e()]),(_vm.canApprove(absence))?[(absence.absenceType.approvalNeeded && !absence.isApprovalDecided && !absence.isReadOnly)?[_c('hr',{staticClass:\"mt-4\"}),_c('div',{staticClass:\"flex mt-4\"},[_c('st-button',{staticClass:\"small green mr-4\",staticStyle:{\"width\":\"100px\"},on:{\"click\":function($event){hide();\n _vm.approve(absence);}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Genehmigen\"))+\" \")]),_c('st-button',{staticClass:\"small red mr-4\",staticStyle:{\"width\":\"100px\"},on:{\"click\":function($event){hide();\n _vm.reject(absence);}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Ablehnen\"))+\" \")])],1)]:_vm._e(),(absence.absenceType.approvalNeeded && absence.isApprovalDecided && absence.isApproved && absence.appUserId !== _vm.currentUserId)?[_c('hr',{staticClass:\"mt-4\"}),_c('div',{staticClass:\"flex mt-4\"},[_c('st-button',{staticClass:\"small red mr-4\",on:{\"click\":function($event){hide();\n _vm.reject(absence);}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Genehmigung zurücknehmen\"))+\" \")])],1)]:_vm._e(),(absence.absenceType.approvalNeeded && absence.isApprovalDecided && !absence.isApproved)?[_c('hr',{staticClass:\"mt-4\"}),_c('div',{staticClass:\"flex mt-4\"},[_c('st-button',{staticClass:\"small green mr-4\",on:{\"click\":function($event){hide();\n _vm.approve(absence);}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Genehmigen\"))+\" \")])],1)]:_vm._e()]:_vm._e()],2)]}}],null,true)},[_c('div',{staticClass:\"rounded-md tr cursor-pointer flex items-center text-white\",class:[_vm.getBgClassForAbsence(absence), _vm.getBorderClassForAbsence(absence)],staticStyle:{\"height\":\"50%\"},style:({ 'margin-top': _vm.rowHeight / 4 + 'px', 'justify-content': absence.endsNextYear && !absence.startsLastYear ? 'flex-end' : 'space-between' })},[(!absence.startsLastYear && !absence.endsNextYear && !absence.isHalfDay)?[_vm._v(\"   \")]:_vm._e(),(absence.startsLastYear)?_c('i',{staticClass:\"far fa-arrow-left ml-4 mt-2 z-50\"}):_vm._e(),(absence.endsNextYear)?_c('i',{staticClass:\"fas fa-arrow-right mr-4 mt-2\"}):_vm._e(),(absence.isHalfDay)?_c('div',{staticClass:\"justify-self-center text-sm font-bold ml-4\"},[_vm._v(\"1/2\")]):_vm._e()],2)])],1)}),_vm._l((_vm.getPublicHolidaysForUser(user.appUser.id)),function(publicHoliday,index){return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(publicHoliday.description),expression:\"publicHoliday.description\"}],key:publicHoliday.id,staticClass:\"absolute rounded-md text-white tr cursor-pointer\",class:[_vm.publicHolidayColor],style:({ top: _vm.rowHeight / 4 + 'px', height: _vm.rowHeight / 2 + 'px', left: _vm.daywidth * publicHoliday.dayOfYear + 'px', width: _vm.daywidth + 'px' })},[_vm._v(\"   \")])})],2)}),_c('table',{staticClass:\"tr\",staticStyle:{\"width\":\"100%\"}},[_c('tr',_vm._l((_vm.months.Months),function(month){return _c('td',{staticClass:\"text-center font-bold tr\",class:{ 'bg-gray-200': month.Month % 2 === 0, 'bg-gray-300': month.Month % 2 === 1 },style:({ height: _vm.headerRowHeight + 'px', 'min-width': month.Days.length * _vm.daywidth + 'px', width: month.Days.length * _vm.daywidth + 'px' }),attrs:{\"colspan\":month.Days.length}},[_vm._v(\" \"+_vm._s(month.MonthString)+\" \"+_vm._s(month.Year)+\" \")])}),0),_c('tr',[_vm._l((_vm.months.Months),function(month){return _vm._l((month.Days),function(day){return _c('td',{staticClass:\"text-center font-bold tr\",class:{ border: _vm.daysVisible },style:({ height: _vm.headerRowHeight + 'px', 'min-width': _vm.daywidth + 'px', width: _vm.daywidth + 'px' })},[_c('transition',{attrs:{\"name\":\"fadse\"}},[(_vm.daysVisible)?_c('span',[_vm._v(_vm._s(day.Day.day))]):_vm._e()])],1)})})],2),_vm._l((_vm.absenceData),function(user){return _c('tr',{key:user.appUser.id},[_vm._l((_vm.months.Months),function(month){return _vm._l((month.Days),function(day){return _c('td',{staticClass:\"border transition\",class:{\n 'cursor-pointer hover:bg-blue-400': _vm.canAddAbsence(user.appUser.id),\n 'bg-gray-200': day.Day.weekday === 6 || day.Day.weekday === 7,\n currentDayCell: day.Day.day === _vm.currentDateDateTime.day && day.Day.month === _vm.currentDateDateTime.month && day.Day.year === _vm.currentDateDateTime.year,\n },style:({ height: _vm.rowHeight + 'px' }),on:{\"click\":function($event){return _vm.addAbsence(user.appUser.id, day.Day)}}})})})],2)})],2)],2)])]:_c('st-loading')],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {DateTime} from 'luxon';\r\nimport {endOfMonth, endOfWeek, startOfWeek} from '@/utlitities/helper';\r\n\r\nexport class Calendar{\r\n public Months: CalendarMonth[] = [];\r\n}\r\n\r\nexport class CalendarMonth{\r\n public WeekDayStrings: string[] = [];\r\n public Month!: number;\r\n public Year!: number;\r\n public MonthString!: string;\r\n public Days: CalendarDay[] = [];\r\n}\r\n\r\nexport class CalendarDay{\r\n public Day!: DateTime;\r\n public IsDifferentMonth!: boolean;\r\n}\r\n\r\nexport function getCalendarForYear(year: number) {\r\n let result = new Calendar();\r\n\r\n for (let month = 1; month <= 12; month++){\r\n let monthItem = new CalendarMonth();\r\n\r\n let firstOfMonth = DateTime.fromFormat('1.' + month + '.' + year, 'd.M.yyyy', {zone: 'utc'});\r\n let lastOfMonth = endOfMonth(firstOfMonth);\r\n\r\n for (let day = firstOfMonth; day <= lastOfMonth; day = day.plus({days: 1})){\r\n let dayItem = new CalendarDay();\r\n dayItem.Day = day;\r\n dayItem.IsDifferentMonth = parseInt(day.toFormat('M')) !== month;\r\n\r\n monthItem.Days.push(dayItem);\r\n }\r\n\r\n monthItem.Month = month;\r\n monthItem.MonthString = firstOfMonth.toFormat('MMMM');\r\n monthItem.Year = year;\r\n for (let weekDayDate = startOfWeek(firstOfMonth); weekDayDate <= endOfWeek(firstOfMonth); weekDayDate = weekDayDate.plus({days : 1})){\r\n monthItem.WeekDayStrings.push(weekDayDate.toFormat('EEE'));\r\n }\r\n\r\n result.Months.push(monthItem);\r\n }\r\n\r\n return result;\r\n}\r\n\r\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\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\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\r\nimport { Component, Emit, Prop, Vue } from \"vue-property-decorator\";\r\nimport { Calendar, getCalendarForYear } from \"@/components/calendar/calendar-helper\";\r\nimport {\r\n AbsenceTypeEnum,\r\n AbsenceUserViewModel,\r\n AbsenceViewModel,\r\n PublicHolidayViewModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { DateTime } from \"luxon\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport { getAbsenceColor, getPublicHolidayColor } from \"@/views/Absence/helper/get-absence-color\";\r\n\r\n@Component({\r\n components: {}\r\n})\r\nexport default class CalendarView extends Vue {\r\n @Prop() absenceData!: AbsenceUserViewModel[];\r\n @Prop() openAbsenceRequests: AbsenceViewModel[];\r\n @Prop() year!: number;\r\n loading: boolean = false;\r\n\r\n daywidth: number = 30;\r\n rowHeight: number = 40;\r\n headerRowHeight: number = 30;\r\n\r\n get canEditAbsencesForEmployee() {\r\n return this.userSettings.CanEditAbsencesForEmployees;\r\n }\r\n\r\n canApprove(absence: AbsenceViewModel) {\r\n return this.openAbsenceRequests.some(x=>x.id == absence.id);\r\n }\r\n\r\n get userSettings() {\r\n return UserStore.userSettings;\r\n }\r\n\r\n canAddAbsence(appUserId: number) {\r\n return this.canEditAbsencesForEmployee || appUserId == this.userSettings.appUserId;\r\n }\r\n\r\n get months(): Calendar {\r\n return getCalendarForYear(this.year);\r\n }\r\n\r\n get daysVisible(): boolean {\r\n return this.daywidth > 20;\r\n }\r\n\r\n get currentUserId(): number | undefined {\r\n return UserStore.currentUser.id;\r\n }\r\n\r\n get currentDateDateTime(): DateTime {\r\n return DateTime.now().toLocal();\r\n }\r\n\r\n get publicHolidayColor() {\r\n return getPublicHolidayColor().BgColorClass;\r\n }\r\n\r\n async mounted() {\r\n await this.$nextTick();\r\n this.scrollToCurrentMonth();\r\n }\r\n\r\n addAbsence(userId: number, day: DateTime) {\r\n if (!this.canAddAbsence(userId)) {\r\n return;\r\n }\r\n this.$router.push({\r\n name: \"AbsenceTeamEdit\",\r\n params: { id: \"0\" },\r\n query: { userId: userId.toString(), day: day.toFormat(\"yyyy-MM-dd\") }\r\n });\r\n }\r\n\r\n editAbsence(id: number) {\r\n this.$router.push({ name: \"AbsenceTeamEdit\", params: { id: id.toString() } });\r\n }\r\n\r\n scrollToCurrentMonth() {\r\n if (this.year == DateTime.local().year) {\r\n let calendar = this.$refs.calendar as HTMLElement;\r\n let refDate = DateTime.local().startOf(\"month\");\r\n let dayInYear = refDate.diff(DateTime.local().startOf(\"year\"), \"days\").days;\r\n calendar.scrollTo({ left: this.daywidth * dayInYear });\r\n }\r\n }\r\n\r\n changeDayWidth(val: any) {\r\n //Sicherstellen, dass der Zoom am aktuellen Tag hängen bleibt, d.h. der aktuelle Tag vorne bleibt der selbe\r\n let calendar = this.$refs.calendar as HTMLElement;\r\n let day = Math.floor(calendar.scrollLeft / this.daywidth);\r\n\r\n let newWidth = this.daywidth;\r\n if (val == 1) {\r\n newWidth = this.daywidth + 10;\r\n } else {\r\n newWidth = this.daywidth - 10;\r\n }\r\n calendar.scrollTo({ left: day * newWidth, behavior: \"auto\" });\r\n this.daywidth = newWidth;\r\n }\r\n\r\n getBgClassForAbsence(absence: AbsenceViewModel | null | undefined) {\r\n if (absence === null || absence === undefined) {\r\n return \"\";\r\n }\r\n\r\n return getAbsenceColor(absence).BgColorClass;\r\n }\r\n\r\n getBorderClassForAbsence(absence: AbsenceViewModel | null | undefined) {\r\n if (absence === null || absence === undefined) {\r\n return \"\";\r\n }\r\n\r\n return getAbsenceColor(absence).BorderClass;\r\n }\r\n\r\n getPublicHolidaysForUser(id: number): PublicHolidayViewModel[] {\r\n let publicHolidays = this.absenceData!.find((_) => _.appUser?.id == id)!.publicHolidays!;\r\n return publicHolidays;\r\n }\r\n\r\n getAbsencesForUser(id: number): AbsenceViewModel[] {\r\n let absences = this.absenceData!.find((_) => _.appUser?.id == id)!.absences!;\r\n\r\n if (absences.length) {\r\n absences = absences.filter((_) => !_.isDeclined);\r\n }\r\n\r\n return absences;\r\n }\r\n\r\n @Emit(\"approve\")\r\n approve(absence: AbsenceViewModel) {\r\n return absence;\r\n }\r\n\r\n @Emit(\"reject\")\r\n reject(absence: AbsenceViewModel) {\r\n return absence;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarHorizontal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarHorizontal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CalendarHorizontal.vue?vue&type=template&id=184b8e0b&scoped=true&\"\nimport script from \"./CalendarHorizontal.vue?vue&type=script&lang=ts&\"\nexport * from \"./CalendarHorizontal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CalendarHorizontal.vue?vue&type=style&index=0&id=184b8e0b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"184b8e0b\",\n null\n \n)\n\nexport default component.exports","\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\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\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport {\n AbsenceFilter,\n AbsenceUserViewModel,\n AbsenceViewModel,\n AppUserFilter,\n AppUserViewModel,\n StSelectListItemGroup,\n VacationStatsViewModel,\n} from '@/services/api/nswag/stapiclient_generated';\nimport { stAbsenceApi, stAppUserApi, stTeamOverviewApi } from '@/services/st-api';\nimport AbsenceEdit from '@/views/Absence/AbsenceEdit.vue';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport { TabModel } from '@/components/tabs/tab-model';\nimport { DateTime } from 'luxon';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport CalendarHorizontal from '@/views/Absence/components/CalendarHorizontal.vue';\nimport AbsenceLegend from '@/views/Absence/AbsenceLegend.vue';\nimport { notifySuccess } from '@/utlitities/notifications';\nimport { UserStore } from '@/store/user-module';\nimport AbsenceTypeIcon from '@/views/Absence/components/AbsenceTypeIcon.vue';\n//@ts-ignore\nimport * as FileSaver from \"file-saver\";\n\n@Component({\n components: {\n AbsenceTypeIcon,\n AbsenceLegend,\n CalendarHorizontal,\n StBadge,\n StTabs,\n AbsenceEdit,\n },\n})\nexport default class AbsenceTeam extends Vue {\n absenceData: AbsenceUserViewModel[] = [];\n openAbsenceRequests: AbsenceViewModel[] = [];\n year: number = DateTime.local().year;\n activeTabName = 'calendar';\n loading = true;\n delayLoading = false;\n appUser: StSelectListItemGroup[] = [];\n currentUserId: number | undefined = 0;\n vacationStats: VacationStatsViewModel = VacationStatsViewModel.fromJS({});\n absenceList: AbsenceViewModel[] = [];\n currentUser: AppUserViewModel = AppUserViewModel.fromJS({});\n displayOnlyDirectTeamMembers = UserStore.userSettings.hasIndirectManagedTeam;\n\n get tabs(): TabModel[] {\n return [\n {\n TabName: 'calendar',\n Disabled: false,\n },\n {\n TabName: 'list',\n Disabled: false,\n },\n {\n TabName: 'export',\n Disabled: false,\n },\n ];\n }\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n next();\n if (to.name == 'AbsenceTeam') {\n try {\n await this.loadData();\n } finally {\n }\n }\n }\n\n get displayOnlyDirectTeamMembersSwitch(): boolean {\n return UserStore.userSettings.hasDirectManagedTeam && UserStore.userSettings.hasIndirectManagedTeam;\n }\n\n async changeYear(plusminus: number) {\n try {\n this.loading = true;\n this.year += plusminus;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n get fromDate(): Date {\n return DateTime.local(this.year, 1, 1, 0, 0, 0, 0).toJSDate();\n }\n\n async mounted() {\n try {\n this.loading = true;\n await this.loadDataRaw();\n } finally {\n this.loading = false;\n }\n\n const appUserFilter = AppUserFilter.fromJS({});\n this.appUser = await stAppUserApi.getSelectListForFilter(appUserFilter);\n this.currentUserId = this.appUser![0]!!.items![0]!.id;\n }\n\n async loadDataRaw() {\n this.absenceData = await stAbsenceApi.getListForAllActiveUsers(this.year, this.displayOnlyDirectTeamMembers);\n this.openAbsenceRequests = await stAbsenceApi.getOpenAbsenceRequests();\n }\n\n async loadData() {\n try {\n this.delayLoading = true;\n await this.loadDataRaw();\n await this.loadUserAbsencesAndStats();\n } finally {\n this.delayLoading = false;\n }\n }\n\n async loadAbsenceCalendarData() {\n try {\n this.delayLoading = true;\n await this.loadDataRaw();\n } finally {\n this.delayLoading = false;\n }\n }\n\n async loadUserAbsencesAndStats() {\n try {\n this.delayLoading = true;\n const absenceFilter = AbsenceFilter.fromJS({});\n absenceFilter.appUserId = this.currentUserId;\n absenceFilter.year = this.year;\n this.absenceList = await stAbsenceApi.getList(absenceFilter);\n this.currentUser = await stAppUserApi.get(this.currentUserId!);\n\n if (!this.currentUser.isArchived) {\n this.vacationStats = await stAbsenceApi.getVacationStatsForUser(this.year, this.currentUserId!);\n }\n } finally {\n this.delayLoading = false;\n }\n }\n\n get canEditAbsencesForEmployees() {\n return this.userSettings.CanEditAbsencesForEmployees;\n }\n\n get canApproveAbsences() {\n return this.userSettings.CanApproveAbsences;\n }\n\n get userSettings() {\n return UserStore.userSettings;\n }\n\n get absenceRequests(): any[] {\n return [];\n }\n\n editAbsence(absence: AbsenceViewModel) {\n if (absence.isReadOnly) {\n return;\n }\n this.$router.push({ name: 'AbsenceTeamEdit', params: { id: absence.id!.toString() } });\n }\n\n async deleteAbsence(id: number) {\n await stAbsenceApi.delete(id, true);\n await this.loadData();\n notifySuccess('Erfolgreich gelöscht');\n }\n\n async approveAbsence(absence: AbsenceViewModel) {\n await stAbsenceApi.approve(absence.id!);\n await this.loadData();\n notifySuccess('Abwesenheit genehmigt');\n }\n\n async rejectAbsence(absence: AbsenceViewModel) {\n await stAbsenceApi.reject(absence.id!);\n await this.loadData();\n notifySuccess('Abwesenheit abgelehnt');\n }\n\n addAbsence() {\n this.$router.push({ name: 'AbsenceTeamEdit', params: { id: '0' }, query: { day: DateTime.local().toFormat('yyyy-MM-dd') } });\n }\n\n private exportLoading = false;\n async ExportExcel(year: number) {\n try {\n if (this.exportLoading)\n return;\n\n this.exportLoading = true;\n let result = await stAbsenceApi.exportExcel(year);\n FileSaver.saveAs(result.data, `SpikeTime_Absences_Export_${year}.xlsx`);\n this.exportLoading = false;\n } finally {\n this.exportLoading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTeam.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTeam.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbsenceTeam.vue?vue&type=template&id=6caddfa8&\"\nimport script from \"./AbsenceTeam.vue?vue&type=script&lang=ts&\"\nexport * from \"./AbsenceTeam.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),_c('span',[_vm._v(_vm._s(_vm.$t('Account-Einstellungen')))])]},proxy:true}])},[_c('account-settings-invoice',{attrs:{\"is-modal\":true},on:{\"loadStart\":function($event){_vm.loading=true},\"loadEnd\":function($event){_vm.loading=false}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport AccountSettingsInvoice from \"@/views/Settings/AccountSettingsInvoice.vue\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\n\r\n@Component({\r\n components: {\r\n AccountSettingsInvoice,\r\n SlideIn\r\n },\r\n})\r\nexport default class OutInvAccountSettings extends Vue {\r\n loading=true;\r\n\r\n mounted(){\r\n this.openSlideIn();\r\n }\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n }\r\n\r\n closeSlideIn() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n\r\n slideOutClosed() {\r\n this.$router.push({ name: 'OutgoingInvoiceEdit', params: this.$router.currentRoute.params });\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutInvAccountSettings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutInvAccountSettings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutInvAccountSettings.vue?vue&type=template&id=1917b016&\"\nimport script from \"./OutInvAccountSettings.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutInvAccountSettings.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Stundenkonto')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Arbeitszeitübersicht und Korrekturbuchungen')))])]),_c('div',{staticClass:\"w-full mt-8 sm:mt-0 sm:w-1/2 lg:w-1/3 h-full flex items-center text-gray-700\"},[_c('user-select',{staticClass:\"mt-0\",attrs:{\"right-enum\":_vm.canManageTimeAdjustmentEnumValue},on:{\"input\":_vm.loadDataDelayLoading},model:{value:(_vm.selectedUserId),callback:function ($$v) {_vm.selectedUserId=$$v},expression:\"selectedUserId\"}})],1)]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header text-lg font-bold\"},[_c('div',{staticClass:\"grid grid-cols-2 w-full\"},[_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.$t('Jahr'))+\" \"+_vm._s(_vm.year))]),(_vm.yearlyModel.appUserMinYear < _vm.year)?_c('i',{staticClass:\"far fa-arrow-circle-left mr-4 text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(-1)}}}):_vm._e(),(_vm.year < _vm.currentYear)?_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(1)}}}):_vm._e()]),_c('div',{staticClass:\"flex items-center justify-end\"},[(_vm.appUserModel.useTargetHours)?_c('st-toggle',{on:{\"input\":_vm.storeTimeAccountDisplayDetails},model:{value:(_vm.displayDetails),callback:function ($$v) {_vm.displayDetails=$$v},expression:\"displayDetails\"}},[_c('span',{staticClass:\"text-onbgsecondary-normal text-base font-normal flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Details zeigen'))+\" \")])]):_vm._e()],1)])])]),_c('div',{staticClass:\"grid lg:grid-cols-2 md:grid-cols-1 gap-4 mb-4\"},[_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"absolute\":true,\"overlay-class\":\"opacity-100\",\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoadingSummary}}),_c('div',{staticClass:\"report-card-header flex justify-between\"},[_c('span',[_vm._v(_vm._s(_vm.appUserModel.name))]),(!_vm.appUserModel.useTargetHours)?_c('st-explanation',{staticClass:\"inline-block text-white mr-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('Arbeitszeiten können auf der Seite'))+\" \"),_c('strong',[_vm._v(_vm._s(_vm.$t('Benutzer')))]),_vm._v(\" \"+_vm._s(_vm.$t('erfasst werden.'))+\" \")]):_vm._e()],1),_c('div',{staticClass:\"report-card-subheader\"},[_vm._v(_vm._s(_vm.$t('Aktuelle Soll-Arbeitszeiten')))]),(_vm.appUserModel.useTargetHours)?_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"mt-2 grid grid-cols-8 grid-gap-4\"},[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Mo')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Di')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Mi')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Do')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Fr')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Sa')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('So')))]),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.$t('Woche')))]),_vm._l((_vm.appUserModel.currentHistoryEntry.dailyWorkHours),function(day){return _c('div',[_vm._v(_vm._s(_vm._f(\"formatNumber\")(day.workingHours))+\" h\")])}),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(_vm.appUserModel.currentHistoryEntry.weeklyWorkHours))+\" h\")])],2)]):_vm._e(),(!_vm.appUserModel.useTargetHours)?_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"mt-2 grid-gap-4\"},[_c('div',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('Keine Soll-Arbeitszeiten festgelegt - es werden nur Ist-Werte angezeigt')))])])]):_vm._e()],1),_c('div',{staticClass:\"report-card relative\"},[_c('st-loading',{attrs:{\"absolute\":true,\"overlay-class\":\"opacity-100\",\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoadingSummary}}),_c('div',{staticClass:\"report-card-header flex justify-between\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Stundenkonto'))+\" \")]),_c('st-explanation',{staticClass:\"inline-block text-white mr-4\"},[_c('img',{attrs:{\"src\":\"stundenkonto-explanation.jpg\"}})])],1),_c('div',{staticClass:\"report-card-subheader\"},[(_vm.appUserModel.useTargetHours)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Gesamtsaldo'))+\" \")]):_c('span',[_vm._v(_vm._s(_vm.$t('Summe aller erfassten Stunden')))])]),_c('div',{staticClass:\"report-card-body\"},[(!_vm.loading)?_c('div',{staticClass:\"report-card-value text-center\",class:{ 'text-red-500': _vm.summaryModel.balanceOverall.durationMinutesBalance < 0, 'text-green-500': _vm.summaryModel.balanceOverall.durationMinutesBalance > 0 }},[(_vm.appUserModel.useTargetHours)?_c('span',[_vm._v(_vm._s(_vm._f(\"durationHoursWithSign\")(_vm.summaryModel.balanceOverall.durationMinutesBalance))+\" h\")]):_c('span',[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.summaryModel.balanceOverall.durationMinutesWork))+\" h\")])]):_c('div',{staticClass:\"text-center report-card-value\"},[_vm._v(\"--:--\")])])],1)]),_c('div',{staticClass:\"report-card relative overflow-x-auto\"},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticStyle:{\"min-width\":\"1000px\"}},_vm._l((_vm.yearlyModel.timeAccountMonthly),function(month){return _c('div',{key:month.month.toString() + _vm.year.toString(),staticClass:\"mb-10\"},[_c('div',[_c('div',{staticClass:\"grid grid-cols-timeAccount\"},[_c('div',{staticClass:\"font-bold text-lg col-span-4 flex items-center\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"toMonthName\")(month.month)))]),_vm._v(\"  \"+_vm._s(_vm.year)+\" \")]),_c('time-account-sum-cell',{staticClass:\"shadow col-start-9 col-start-9 m-2 ml-14 bg-gray-200\",attrs:{\"data\":month,\"display-details\":_vm.displayDetails}})],1),_c('div',{staticClass:\"grid grid-cols-timeAccount font-bold text-gray-400 text-center calendar-month-header\"},[_c('div',{staticClass:\"col-start-2\"},[_vm._v(_vm._s(_vm.$t('Mo')))]),_c('div',[_vm._v(_vm._s(_vm.$t('Di')))]),_c('div',[_vm._v(_vm._s(_vm.$t('Mi')))]),_c('div',[_vm._v(_vm._s(_vm.$t('Do')))]),_c('div',[_vm._v(_vm._s(_vm.$t('Fr')))]),_c('div',[_vm._v(_vm._s(_vm.$t('Sa')))]),_c('div',[_vm._v(_vm._s(_vm.$t('So')))]),_c('div',{staticClass:\"text-right\"},[_vm._v(_vm._s(_vm.$t('Summe')))])]),_vm._l((month.timeAccountWeekly),function(week){return _c('div',{key:week.weekNumber,staticClass:\"grid grid-cols-timeAccount\"},[_c('div',{staticClass:\"p-4 flex items-center justify-around text-gray-400 font-bold\"},[_c('span',[_vm._v(\" \"+_vm._s(week.weekNumber)+\" \")])]),_vm._l((week.timeAccountDaily),function(day){return _c('time-account-day-cell',{key:day.dayInMonth,staticClass:\"m-2\",class:['col-start-' + (day.dayOfWeek + 1)],attrs:{\"day\":day,\"display-details\":_vm.displayDetails},on:{\"editAdjustment\":_vm.editAdjustment,\"addAdjustment\":_vm.addAdjustment}})}),_c('time-account-sum-cell',{staticClass:\"col-start-9 m-2 ml-14 bg-gray-200\",attrs:{\"display-details\":_vm.displayDetails,\"data\":week}})],2)})],2)])}),0)],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-4 mr-2 border-b-2 group rounded border-l-2 border-t border-r\",class:{ 'bg-gray-100': !_vm.day.dayDescription.isWorkDay && _vm.day.hasTargetHours && !_vm.day.isVirtual, 'bg-striped-gray': _vm.day.isVirtual }},[_c('div',{staticClass:\"h-full flex flex-col\"},[(_vm.day.isVirtual)?[_c('div',[_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm._f(\"padZero\")(_vm.day.dayInMonth)))])])]:[(_vm.day.hasTargetHours)?[_c('div',{staticClass:\"flex justify-between items-center flex-grow\"},[_c('div',{staticClass:\"font-bold text-gray-600\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"padZero\")(_vm.day.dayInMonth))+\" \"),_c('sup',{staticClass:\"cursor-pointer\"},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.day.dayDescription.description),expression:\"day.dayDescription.description\"}],staticClass:\"mr-2\"},[_vm._v(_vm._s(_vm.day.dayDescription.badgeText))])])])]),_c('div',{class:{ 'text-red-500': _vm.day.balanceMinutes < 0, 'text-green-500': _vm.day.balanceMinutes > 0, 'font-bold': _vm.displayDetails }},[(_vm.day.timeAdjustments.length && !_vm.displayDetails)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Korrekturbuchung vorhanden')),expression:\"$t('Korrekturbuchung vorhanden')\"}],staticClass:\"mr-2\",on:{\"click\":function($event){$event.stopPropagation();_vm.canManageTimeAdjustment ? _vm.$emit('editAdjustment', _vm.day.timeAdjustments[0].id) : _vm.$emit('nothing')}}},[_c('i',{staticClass:\"fa fa-circle text-green-500\"})]):_vm._e(),(_vm.day.balanceMinutes !== 0 || _vm.displayDetails || _vm.day.dayDescription.isWorkDay)?_c('span',[_vm._v(_vm._s(_vm._f(\"durationHoursWithSignAndPlusMinus\")(_vm.day.balanceMinutes)))]):_vm._e()])]),(_vm.displayDetails)?_c('div',{staticClass:\"flex justify-between items-center text-sm flex-grow\"},[_c('div',[_vm._l((_vm.day.timeAdjustments),function(adjustment){return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.canManageTimeAdjustment ? _vm.$t('Korrekturbuchung bearbeiten') : ''),expression:\"canManageTimeAdjustment ? $t('Korrekturbuchung bearbeiten') : ''\"}],staticClass:\"text-white font-bold px-2 rounded-lg shadow cursor-pointer\",class:{ 'bg-green-500 ': adjustment.durationMinutes > 0, 'bg-red-500': adjustment.durationMinutes < 0 },on:{\"click\":function($event){$event.stopPropagation();_vm.canManageTimeAdjustment ? _vm.$emit('editAdjustment', adjustment.id) : _vm.$emit('nothing')}}},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSign\")(adjustment.durationMinutes))+\" \")])}),(!_vm.day.timeAdjustments.length && _vm.canManageTimeAdjustment)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Korrekturbuchung hinzufügen')),expression:\"$t('Korrekturbuchung hinzufügen')\"}],staticClass:\"hidden group-hover:block bg-green-500 text-white font-bold px-4 rounded-full cursor-pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('addAdjustment', _vm.day.date)}}},[_c('i',{staticClass:\"far fa-plus\"})]):_vm._e()],2),_c('div',[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.day.workingMinutes))+\" / \"+_vm._s(_vm._f(\"durationHours\")(_vm.day.targetMinutes)))])]):_vm._e()]:[_c('div',{staticClass:\"flex justify-between items-center\"},[_c('div',{staticClass:\"font-bold text-gray-600\"},[_vm._v(_vm._s(_vm._f(\"padZero\")(_vm.day.dayInMonth)))]),(_vm.day.workingMinutes !== 0)?_c('div',{},[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.day.workingMinutes)))]):_c('div',[_vm._v(\"--:--\")])])]]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { RightEnum, TimeAccountDaily } from '@/services/api/nswag/stapiclient_generated';\nimport {UserStore} from '@/store/user-module';\n\n@Component({\n components: {},\n})\nexport default class TimeAccountDayCell extends Vue {\n @Prop() day!: TimeAccountDaily;\n @Prop({ default: true }) displayDetails!: boolean;\n\n get canManageTimeAdjustment(): boolean {\n return UserStore.userSettings.CanManageTimeAdjustment;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccountDayCell.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccountDayCell.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeAccountDayCell.vue?vue&type=template&id=6a1946a4&scoped=true&\"\nimport script from \"./TimeAccountDayCell.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeAccountDayCell.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6a1946a4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.data.isVirtual)?_c('div',{staticClass:\"p-4 border-b-2 group rounded\"},[[(_vm.data.hasTargetHours)?[_c('div',{staticClass:\"flex justify-between items-center\"},[_c('div',{staticClass:\"font-bold\"}),_c('div',{staticClass:\"font-bold\",class:{ 'text-red-500': _vm.data.balanceMinutes < 0, 'text-green-500': _vm.data.balanceMinutes > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSign\")(_vm.data.balanceMinutes))+\" \")])]),(_vm.displayDetails)?_c('div',{staticClass:\"flex justify-end items-center text-sm\"},[_c('div',[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.data.workingMinutes))+\" / \"+_vm._s(_vm._f(\"durationHours\")(_vm.data.targetMinutes)))])]):_vm._e()]:[_c('div',{staticClass:\"flex justify-between items-center\"},[_c('div'),_c('div',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm._f(\"durationHours\")(_vm.data.workingMinutes)))])])]]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { TimeAccountMonthly, TimeAccountWeekly } from '@/services/api/nswag/stapiclient_generated';\n\n@Component({\n components: {},\n})\nexport default class TimeAccountSumCell extends Vue {\n @Prop() data!: TimeAccountMonthly | TimeAccountWeekly;\n @Prop({ default: true }) displayDetails!: boolean;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccountSumCell.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccountSumCell.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeAccountSumCell.vue?vue&type=template&id=1e604b29&\"\nimport script from \"./TimeAccountSumCell.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeAccountSumCell.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { RightEnum, TimeAccountSummaryModel, TimeAccountUserViewModel, TimeAccountYearViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAppUserApi, stTimeAccountApi } from '@/services/st-api';\nimport { DateTime } from 'luxon';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport { UserStore } from '@/store/user-module';\nimport UserSelect from '@/views/TimeEntries/UserSelect.vue';\nimport TimeAccountDayCell from '@/views/TimeAccount/TimeAccountDayCell.vue';\nimport TimeAccountSumCell from '@/views/TimeAccount/TimeAccountSumCell.vue';\nimport { TimeEntryStore } from \"@/store/time-entry-store\";\n\n@Component({\n components: {\n TimeAccountSumCell,\n TimeAccountDayCell,\n UserSelect,\n StBadge,\n },\n})\nexport default class TimeAccount extends Vue {\n year: number = DateTime.local().year;\n loading = true;\n delayLoading = false;\n delayLoadingSummary = false;\n delayLoadingAppUser = false;\n\n yearlyModel: TimeAccountYearViewModel = TimeAccountYearViewModel.fromJS({});\n summaryModel: TimeAccountSummaryModel = TimeAccountSummaryModel.fromJS({ balanceOverall: {} });\n appUserModel: TimeAccountUserViewModel = TimeAccountUserViewModel.fromJS({});\n\n displayDetails: boolean = UserStore.currentUser?.timeAccountDisplayDetails ?? false;\n\n get selectedUserId(){\n return TimeEntryStore.selectedUserId;\n }\n\n set selectedUserId(data: number){\n TimeEntryStore.SetSelectedUserId(data);\n }\n\n get canManageTimeAdjustmentEnumValue(): RightEnum {\n return RightEnum.CanManageTimeAdjustment;\n }\n\n async beforeRouteUpdate(to: any, from: any, next: any) {\n next();\n if (to.name == 'TimeAccount') {\n try {\n await this.loadDataDelayLoading();\n } finally {\n }\n }\n }\n\n get currentYear() {\n return DateTime.utc().year;\n }\n\n addAdjustment(date: string) {\n this.$router.push({\n name: 'TimeAdjustmentEdit',\n params: { id: '0' },\n query: { date: date, appUserId: this.selectedUserId.toString() },\n });\n }\n\n editAdjustment(id: number) {\n this.$router.push({ name: 'TimeAdjustmentEdit', params: { id: id.toString() } });\n }\n\n async changeYear(plusminus: number) {\n try {\n this.loading = true;\n this.year += plusminus;\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n async mounted() {\n try {\n this.loading = true;\n if(!this.selectedUserId){\n this.selectedUserId = UserStore.currentUser.id ?? 0;\n }\n await this.loadData();\n } finally {\n this.loading = false;\n }\n }\n\n loadDataDelayLoading() {\n this.loadSummaryDelayLoading();\n this.loadYearlyDelayLoading();\n this.loadAppUserDelayLoading();\n }\n\n async loadSummaryDelayLoading() {\n try {\n this.delayLoadingSummary = true;\n this.summaryModel = await stTimeAccountApi.getTimeAccountSummary(this.year, this.selectedUserId);\n } finally {\n this.delayLoadingSummary = false;\n }\n }\n\n async loadAppUserDelayLoading() {\n try {\n this.delayLoadingAppUser = true;\n this.appUserModel = await stTimeAccountApi.getTimeAccountUserViewModel(this.selectedUserId);\n } finally {\n this.delayLoadingAppUser = false;\n }\n }\n\n async loadYearlyDelayLoading() {\n try {\n this.delayLoading = true;\n this.yearlyModel = await stTimeAccountApi.getTimeAccount(this.year, this.selectedUserId);\n } finally {\n this.delayLoading = false;\n }\n }\n\n async loadData() {\n this.yearlyModel = await stTimeAccountApi.getTimeAccount(this.year, this.selectedUserId);\n this.summaryModel = await stTimeAccountApi.getTimeAccountSummary(this.year, this.selectedUserId);\n this.appUserModel = await stTimeAccountApi.getTimeAccountUserViewModel(this.selectedUserId);\n }\n\n async storeTimeAccountDisplayDetails() {\n await stAppUserApi.storeTimeAccountDisplayDetails(this.displayDetails);\n UserStore.reloadStore();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAccount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeAccount.vue?vue&type=template&id=d146b49e&scoped=true&\"\nimport script from \"./TimeAccount.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeAccount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimeAccount.vue?vue&type=style&index=0&id=d146b49e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d146b49e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-sliders-v mr-4\"}),(_vm.timeAdjustment.id)?_c('span',[_vm._v(_vm._s(_vm.$t('Korrekturbuchung bearbeiten')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Korrekturbuchung anlegen')))])]},proxy:true}])},[_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"grid grid-cols-12 gap-4 form-group\"},[_c('div',{staticClass:\"col-span-12 sm:col-span-3\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Datum')))]),_c('st-datepicker',{model:{value:(_vm.timeAdjustment.entryDate),callback:function ($$v) {_vm.$set(_vm.timeAdjustment, \"entryDate\", $$v)},expression:\"timeAdjustment.entryDate\"}})],1)]),_c('div',{staticClass:\"grid grid-cols-12 gap-x-4 form-group\"},[_c('div',{staticClass:\"col-span-4 sm:col-span-3\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Dauer')))]),_c('st-duration-picker',{model:{value:(_vm.timeAdjustment.durationMinutes),callback:function ($$v) {_vm.$set(_vm.timeAdjustment, \"durationMinutes\", $$v)},expression:\"timeAdjustment.durationMinutes\"}})],1)]),_c('st-textarea',{attrs:{\"rows\":\"3\",\"label\":\"Kommentar\",\"name\":\"Kommentar\",\"type\":\"textarea\"},model:{value:(_vm.timeAdjustment.comment),callback:function ($$v) {_vm.$set(_vm.timeAdjustment, \"comment\", $$v)},expression:\"timeAdjustment.comment\"}}),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-between\"},[_c('div',[(_vm.id)?_c('st-button',{staticClass:\"red mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.deleteTimeAdjustment}},[_c('i',{staticClass:\"far fa-trash\"}),_vm._v(\" \"+_vm._s(_vm.$t('Löschen'))+\" \")]):_vm._e()],1),_c('div',[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.closeSlideIn()}}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Speichern'))+\" \")])],1)])]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { TimeAdjustmentEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stTimeAdjustmentApi } from '@/services/st-api';\nimport SlideIn from '@/components/basic/SlideIn.vue';\nimport StDurationPicker from '@/components/basic/StDurationPicker.vue';\n\n@Component({\n components: {\n StDurationPicker,\n SlideIn,\n },\n})\nexport default class TimeAdjustmentEdit extends Vue {\n private id: number = 0;\n private timeAdjustment: TimeAdjustmentEditModel = new TimeAdjustmentEditModel();\n private loading: boolean = true;\n private saving: boolean = false;\n private listPage: string = 'TimeAccount';\n\n openSlideIn() {\n (this.$refs.slideIn as SlideIn).open();\n }\n\n closeSlideIn() {\n (this.$refs.slideIn as SlideIn).close();\n }\n\n slideOutClosed() {\n this.$router.push({ name: this.listPage });\n }\n\n created() {\n this.id = parseInt(this.$route.params.id);\n }\n\n async mounted() {\n this.openSlideIn();\n\n const date = this.$route.query.date as string;\n const appUserId = parseInt(this.$route.query.appUserId as string);\n this.timeAdjustment = this.id == 0 ? await stTimeAdjustmentApi.getNew(appUserId, date) : await stTimeAdjustmentApi.get(this.id);\n this.loading = false;\n }\n\n async deleteTimeAdjustment() {\n if (confirm(this.$t('Die Korrekturbuchung wird gelöscht.').toString())) {\n await stTimeAdjustmentApi.delete(this.id, true);\n this.closeSlideIn();\n }\n }\n\n async submit() {\n try {\n this.saving = true;\n if (this.timeAdjustment.id == 0) {\n await stTimeAdjustmentApi.post(this.timeAdjustment);\n } else {\n await stTimeAdjustmentApi.put(this.timeAdjustment.id, this.timeAdjustment);\n }\n this.closeSlideIn();\n } finally {\n this.saving = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAdjustmentEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAdjustmentEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeAdjustmentEdit.vue?vue&type=template&id=429b29a0&\"\nimport script from \"./TimeAdjustmentEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeAdjustmentEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"font-bold text-lg\"},[_vm._v(\"Rechnung neu erstellen\")]),_c('p',{staticClass:\"mb-8\"},[_vm._v(\"...wenn man mal was geändert hat.\")]),_c('st-input2',{attrs:{\"mark-on-focus\":true},model:{value:(_vm.regenerateInvoiceId),callback:function ($$v) {_vm.regenerateInvoiceId=$$v},expression:\"regenerateInvoiceId\"}}),_c('st-button',{staticClass:\"blue w-64\",attrs:{\"disabled\":_vm.regenerateInvoiceId === 0},on:{\"click\":_vm.regenerateInvoice}},[_vm._v(\" Regenerate Invoices \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { stAdminApi } from '@/services/st-api';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\n\n@Component({\n components: { StTabs, AccountSettingsInvoice },\n})\nexport default class RegenerateInvoice extends Vue {\n regenerateInvoiceId: number = 0;\n\n async regenerateInvoice(){\n await stAdminApi.regenerateInvoice(this.regenerateInvoiceId);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegenerateInvoice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegenerateInvoice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RegenerateInvoice.vue?vue&type=template&id=eef1e4fa&\"\nimport script from \"./RegenerateInvoice.vue?vue&type=script&lang=ts&\"\nexport * from \"./RegenerateInvoice.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"font-bold text-lg mb-4\"},[_vm._v(\"Unbezahlte Rechnungen\")]),_c('div',{staticClass:\"st-list-container\"},[_c('table',{staticClass:\"st-table w-full\"},[_vm._m(0),_c('tbody',{staticClass:\"text-sm\"},_vm._l((_vm.invoices),function(invoice){return _c('tr',{key:invoice.id},[_c('td',[(invoice.isMigratedFromSt2)?_c('span',[_c('st-badge',[_vm._v(\"ST2\")])],1):_vm._e(),_c('router-link',{staticClass:\"text-blue-500 underline\",attrs:{\"to\":{name: 'InvoiceExport', params: {id: invoice.id}},\"target\":\"_blank\"}},[_c('i',{staticClass:\"far fa-file mr-2\"}),_vm._v(_vm._s(invoice.id))])],1),_c('td',[_vm._v(_vm._s(invoice.invoiceNumber))]),_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(invoice.createdDate))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(invoice.daysOld)+\" Tage \")]),_c('td',[_c('strong',[_vm._v(_vm._s(invoice.account.invoiceEmail))]),_c('br'),_vm._v(\" \"+_vm._s(invoice.account.email)),_c('br'),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Klick zum kopieren'),expression:\"'Klick zum kopieren'\"}],staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.copy(invoice.account.firstAdminUserEmail)}}},[_vm._v(\"#1 Admin: \"+_vm._s(invoice.account.firstAdminUserEmail)+\" \"),_c('i',{staticClass:\"far fa-copy\",on:{\"click\":function($event){return _vm.copy(invoice.account.firstAdminUserEmail)}}})])]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(invoice.amountCent)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(invoice.grossAmountCent)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(invoice.paymentReminderSentDateTime)))]),_c('td',[_vm._v(_vm._s(invoice.paymentMethod))]),_c('td',[_vm._v(\" \"+_vm._s(invoice.paymentError)+\" \"),(invoice.paymentMethod === 'card')?_c('st-button',{staticClass:\"red small\",on:{\"click\":function($event){return _vm.retryPayment(invoice.id)}}},[_vm._v(\"Erneut\")]):_vm._e()],1),_c('td',[_vm._v(_vm._s(invoice.paymentStatus))]),_c('td',[_c('div',{staticClass:\"flex items-center whitespace-nowrap\"},[_c('st-datepicker',{model:{value:(invoice.paidAt),callback:function ($$v) {_vm.$set(invoice, \"paidAt\", $$v)},expression:\"invoice.paidAt\"}}),_c('st-button',{staticClass:\"green small\",attrs:{\"disabled\":!invoice.paidAt},on:{\"click\":function($event){return _vm.setPaid(invoice.id, invoice.paidAt)}}},[_vm._v(\"Bezahlt\")])],1)]),_c('td',[_c('st-button',{staticClass:\"red small\",on:{\"click\":function($event){return _vm.sendReminder(invoice.id)}}},[_vm._v(\"Mahnen\")])],1),_c('td',[_c('st-button',{staticClass:\"red small\",on:{\"click\":function($event){return _vm.writeOff(invoice.id)}}},[_vm._v(\"Abschreiben\")])],1)])}),0)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"ID\")]),_c('th',[_vm._v(\"Nummer\")]),_c('th',[_vm._v(\"Datum\")]),_c('th',[_vm._v(\"E-Mail\")]),_c('th',[_vm._v(\"Betrag (netto)\")]),_c('th',[_vm._v(\"Betrag\")]),_c('th',[_vm._v(\"Gemahnt?\")]),_c('th',[_vm._v(\"Methode\")]),_c('th',[_vm._v(\"Fehler\")]),_c('th',[_vm._v(\"Status\")]),_c('th',[_vm._v(\"Bezahlt\")]),_c('th',[_vm._v(\"Mahnung schicken\")]),_c('th',[_vm._v(\"Abschreiben\")])])])}]\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { Log, SetInvoicePaidEditModel, UnpaidInvoiceViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAdminApi } from '@/services/st-api';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\nimport { notifyError, notifySuccess } from '@/utlitities/notifications';\nimport StBadge from '@/components/basic/StBadge.vue';\n\n@Component({\n components: { StBadge, StTabs, AccountSettingsInvoice },\n})\nexport default class UnpaidInvoices extends Vue {\n invoices: UnpaidInvoiceViewModel[] = [];\n level = '';\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n this.invoices = await stAdminApi.getUnpaidInvoices();\n }\n\n async setPaid(invoiceId: number, paidAt: string) {\n const model = SetInvoicePaidEditModel.fromJS({});\n model.invoiceId = invoiceId;\n model.date = paidAt;\n\n try {\n await stAdminApi.setInvoicePaid(model);\n notifySuccess('Als bezahlt markiert');\n } catch (e) {\n notifyError('Fehler');\n } finally {\n await this.loadData();\n }\n }\n\n async sendReminder(invoiceId: number) {\n try {\n await stAdminApi.sendInvoiceReminder(invoiceId);\n notifySuccess('Mahnung verschickt');\n } catch (e) {\n notifyError('Fehler');\n } finally {\n await this.loadData();\n }\n }\n\n async retryPayment(invoiceId: number) {\n try {\n await stAdminApi.retryCardPayment(invoiceId);\n notifySuccess('Versuch läuft');\n } catch (e) {\n notifyError('Fehler');\n } finally {\n await this.loadData();\n }\n }\n\n async writeOff(invoiceId: number) {\n try {\n await stAdminApi.writeOffInvoice(invoiceId);\n notifySuccess('Rechnung abgeschrieben');\n } catch (e) {\n notifyError('Fehler');\n } finally {\n await this.loadData();\n }\n }\n\n copy(string: string)\n {\n navigator.clipboard.writeText(string);\n notifySuccess('Kopiert');\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnpaidInvoices.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnpaidInvoices.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UnpaidInvoices.vue?vue&type=template&id=37fd8564&\"\nimport script from \"./UnpaidInvoices.vue?vue&type=script&lang=ts&\"\nexport * from \"./UnpaidInvoices.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UnpaidInvoices.vue?vue&type=style&index=0&id=37fd8564&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t(\"Teamübersicht\")))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t(\"Arbeitszeiten der Mitarbeiter in der Übersicht\")))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header text-lg font-bold\"},[_c('div',{staticClass:\"grid grid-cols-2 w-full\"},[_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.$t(\"Jahr\"))+\" \"+_vm._s(_vm.year))]),(true)?_c('i',{staticClass:\"far fa-arrow-circle-left mr-4 text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(-1)}}}):_vm._e(),(_vm.year < _vm.currentYear)?_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeYear(1)}}}):_vm._e()])])])]),_c('div',{staticClass:\"report-card relative overflow-x-auto\"},[_c('div',{staticClass:\"flex justify-between\"},[_c('div',[_c('h2',{staticClass:\"text-xl font-bold mb-2\"},[_vm._v(_vm._s(_vm.$t(\"Übersicht der Zeiterfassung\")))]),_c('div',{staticClass:\"mb-4\"},[_c('div',{staticClass:\"hover:underline cursor-pointer\",on:{\"click\":function($event){return _vm.exportExcelYear(_vm.year)}}},[_c('i',{staticClass:\"far fa-download\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Download Jahresdaten\"))+\" \")])])]),_c('div',[_c('st-button',{staticClass:\"small green\",attrs:{\"loading\":_vm.emailLoading,\"disabled\":_vm.emailLoading},on:{\"click\":_vm.sendReminderEmail}},[_c('i',{staticClass:\"far fa-envelope\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Erinnerung für die letzten 30 Tage versenden\"))+\" \")]),_c('br'),_c('small',{staticClass:\"block mt-3 text-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Zuletzt versendet:\"))+\" \"),(!_vm.model.timeEntrySummaryLastSent)?_c('span',[_vm._v(_vm._s(_vm.$t(\"Nie\")))]):_c('span',[_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.model.timeEntrySummaryLastSent)))])])],1)]),_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticStyle:{\"min-width\":\"1000px\"}},_vm._l((_vm.model.months),function(month){return _c('div',{key:month.month,staticClass:\"mb-10\"},[_c('div',[_c('div',{staticClass:\"flesx justify-betweesn items-center mb-8\"},[_c('div',{staticClass:\"font-bold text-lg\"},[_vm._v(_vm._s(_vm._f(\"toMonthName\")(month.month))+\" \"+_vm._s(_vm.year))]),_c('div',{staticClass:\"hover:underline cursor-pointer\",on:{\"click\":function($event){return _vm.exportExcelMonth(_vm.year, month.month)}}},[_c('i',{staticClass:\"far fa-download\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Download Monatsdaten\"))+\" \")]),(_vm.useNightWorkReport)?_c('div',{staticClass:\"hover:underline cursor-pointer\",on:{\"click\":function($event){return _vm.exportExcelNightHours(_vm.year, month.month)}}},[_c('i',{staticClass:\"far fa-download\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Download Nachtarbeitsbericht\"))+\" \")]):_vm._e()]),_vm._l((month.appUserIntervalModels),function(user){return _c('div',{key:user.appUser.id,staticClass:\"grid grid-cols-12 mt-6 items-center\"},[_c('div',{staticClass:\"font-bold col-span-3\"},[_vm._v(\" \"+_vm._s(user.appUser.name)+\" \")]),_c('div',{staticClass:\"col-span-9\"},[_c('div',{staticClass:\"flex items-center justisfy-between\"},_vm._l((user.appUserDayModels),function(day){return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getDayTooltip(day)),expression:\"getDayTooltip(day)\"}],staticClass:\"p-2 ml-2 shadow font-bold text-center cursor-pointer\",class:_vm.getDayCssClass(day),staticStyle:{\"width\":\"25px\",\"height\":\"25px\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(day.date,\"dd\"))+\" \")])}),0)]),_c('div')])})],2)])}),0)],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport {\r\n TeamOverviewTimeValidationAppUserDayModel,\r\n TeamOverviewTimeValidationModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stTeamOverviewApi } from \"@/services/st-api\";\r\nimport { DateTime } from \"luxon\";\r\nimport StBadge from \"@/components/basic/StBadge.vue\";\r\nimport UserSelect from \"@/views/TimeEntries/UserSelect.vue\";\r\nimport TimeAccountDayCell from \"@/views/TimeAccount/TimeAccountDayCell.vue\";\r\nimport TimeAccountSumCell from \"@/views/TimeAccount/TimeAccountSumCell.vue\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\n//@ts-ignore\r\nimport * as FileSaver from \"file-saver\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport { getHours } from \"@/utlitities/helper\";\r\n\r\n@Component({\r\n components: {\r\n TimeAccountSumCell,\r\n TimeAccountDayCell,\r\n UserSelect,\r\n StBadge\r\n }\r\n})\r\nexport default class TeamOverview extends Vue {\r\n year: number = this.currentDate.year;\r\n loading = true;\r\n delayLoading = false;\r\n emailLoading = false;\r\n model: TeamOverviewTimeValidationModel = TeamOverviewTimeValidationModel.fromJS({});\r\n\r\n get currentDate() {\r\n return UserStore.userNowDateTime;\r\n }\r\n\r\n get currentYear() {\r\n return this.currentDate.year;\r\n }\r\n\r\n get useNightWorkReport(): boolean {\r\n return UserStore.userSettings.featureFlagNightWorkReport;\r\n }\r\n\r\n getDayCssClass(day: TeamOverviewTimeValidationAppUserDayModel) {\r\n if (!day.appUserDay) {\r\n return \"bg-striped-gray\";\r\n }\r\n\r\n const appUserDay = day!.appUserDay!;\r\n\r\n if (!appUserDay.dayDescription!.isWorkDay) {\r\n if (appUserDay.dayDescription?.badgeText) {\r\n return \"bg-blue-500 text-white\";\r\n }\r\n return \"bg-gray-300\";\r\n }\r\n\r\n if (appUserDay.targetMinutesEffective! > 0) {\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! >= 75) {\r\n return \"bg-green-500\";\r\n }\r\n\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! < 75 && appUserDay.durationMinutes! > 0) {\r\n return \"bg-yellow-500 text-white\";\r\n }\r\n\r\n if (appUserDay.durationMinutes! == 0) {\r\n return \"bg-red-400 text-white\";\r\n }\r\n } else {\r\n if (appUserDay.durationMinutes! > 0) {\r\n return \"bg-green-500\";\r\n }\r\n }\r\n\r\n return \"bg-gray-100\";\r\n }\r\n\r\n getDayTooltip(day: TeamOverviewTimeValidationAppUserDayModel) {\r\n\r\n\r\n const soll = \"
Soll:
\" + getHours(day.appUserDay?.targetMinutes) + \" h
\";\r\n const ist = \"
Ist:
\" + getHours(day.appUserDay?.durationMinutes) + \" h
\";\r\n\r\n\r\n if (!day.appUserDay) {\r\n if (DateTime.fromISO(day.date) <= this.currentDate) {\r\n return { content: \"Keine Daten\" };\r\n }\r\n return { content: \"Zukunft\" };\r\n }\r\n\r\n const appUserDay = day!.appUserDay!;\r\n\r\n if (!appUserDay.dayDescription!.isWorkDay) {\r\n if (appUserDay.dayDescription?.description) {\r\n return { content: appUserDay.dayDescription.description };\r\n }\r\n return { content: \"Kein Arbeitstag\" };\r\n }\r\n\r\n if (appUserDay.targetMinutesEffective! > 0) {\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! >= 75) {\r\n return {\r\n content: `
OK
${soll}${ist}
`,\r\n isHtml: true\r\n };\r\n }\r\n\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! < 75 && appUserDay.durationMinutes! > 0) {\r\n return { content: `
Weniger als 75% der Sollstunden erfasst
${soll}${ist}
` };\r\n }\r\n\r\n if (appUserDay.durationMinutes! == 0) {\r\n return { content: `
Keine Zeiteinträge
${soll}${ist}
` };\r\n }\r\n } else {\r\n if (appUserDay.durationMinutes! > 0) {\r\n return { content: \"Ok\" };\r\n }\r\n }\r\n\r\n return { content: \"\" };\r\n }\r\n\r\n async changeYear(plusminus: number) {\r\n try {\r\n this.loading = true;\r\n this.year += plusminus;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async loadData() {\r\n this.model = await stTeamOverviewApi.getTimeEntryStats(this.year);\r\n }\r\n\r\n async exportExcelMonth(year: number, month: number) {\r\n try {\r\n let result = await stTeamOverviewApi.downloadMonthData(year, month);\r\n FileSaver.saveAs(result.data, `SpikeTime_Export_${year}_${month}.xlsx`);\r\n } finally {\r\n }\r\n }\r\n\r\n async exportExcelYear(year: number) {\r\n try {\r\n let result = await stTeamOverviewApi.downloadYearData(year);\r\n FileSaver.saveAs(result.data, `SpikeTime_Export_${year}.xlsx`);\r\n } finally {\r\n }\r\n }\r\n\r\n async exportExcelNightHours(year: number, month: number) {\r\n try {\r\n let result = await stTeamOverviewApi.downloadNightWorkData(year, month);\r\n FileSaver.saveAs(result.data, `SpikeTime_Nachtarbeit_${year}_${month}.xlsx`);\r\n } finally {\r\n }\r\n }\r\n\r\n async sendReminderEmail() {\r\n try {\r\n this.emailLoading = true;\r\n await stTeamOverviewApi.sendTimeEntrySummaryMail();\r\n notifySuccess(\"Erinnerung versendet\");\r\n await this.loadData();\r\n } finally {\r\n this.emailLoading = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamOverview.vue?vue&type=template&id=52678893&scoped=true&\"\nimport script from \"./TeamOverview.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamOverview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamOverview.vue?vue&type=style&index=0&id=52678893&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52678893\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"font-bold text-lg mb-4\"},[_vm._v(\"Leute und Geld\")]),_c('div',{staticClass:\"grid lg:grid-cols-4\"},[_c('div',[_c('st-input2',{staticClass:\"w-12\",attrs:{\"label\":\"Tage ohne Eingabe, ab dem ein Account als verloren gilt\",\"mark-on-focus\":true},model:{value:(_vm.lostDays),callback:function ($$v) {_vm.lostDays=$$v},expression:\"lostDays\"}}),_c('st-button',{staticClass:\"blue w-full\",on:{\"click\":_vm.loadData}},[_vm._v(\" Refresh \")])],1)]),_c('st-loading',{attrs:{\"loading\":_vm.loading,\"absolute\":false}}),(!_vm.loading)?[_c('div',{staticClass:\"grid lg:grid-cols-3 gap-4\"},[_c('div',[_c('h2',{staticClass:\"font-bold my-4\"},[_vm._v(\"Alle Leute und alles Geld\")]),_c('leute-und-geld-table',{staticClass:\"bg-yellow-100\",attrs:{\"leute\":_vm.report.leuteUndGeld}})],1),_c('div',[_c('h2',{staticClass:\"font-bold my-4\"},[_vm._v(\"Verlorene Leute und verlorenes Geld\")]),_c('leute-und-geld-table',{staticClass:\"bg-red-100\",attrs:{\"leute\":_vm.report.leuteUndGeldLost}})],1),_c('div',[_c('h2',{staticClass:\"font-bold my-4\"},[_vm._v(\"Ergebnis Leute und Ergebnis Geld\")]),_c('leute-und-geld-table',{staticClass:\"bg-green-100\",attrs:{\"leute\":_vm.report.realLeuteUndGeld}})],1)]),_c('h2',{staticClass:\"font-bold mt-8 mb-4\"},[_vm._v(\"Alte Leute und Geld\")]),_c('div',{staticClass:\"relative overflow-x-auto shadow-md sm:rounded-lg p-8 bg-white\"},[_c('table',{staticClass:\"w-full text-left text-center\"},[_vm._m(0),_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.leute.leuteFull))]),_c('td',[_vm._v(_vm._s(_vm.leute.leuteBasis))]),_c('td',[_vm._v(_vm._s(_vm.leute.leuteGesamt))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.leute.geldFull)+\" €\")]),_c('td',[_vm._v(_vm._s(_vm.leute.geldBasis)+\" €\")]),_c('td',[_vm._v(_vm._s(_vm.leute.geldGesamt)+\" €\")])])])]),_c('h2',{staticClass:\"mt-8\"},[_c('strong',[_vm._v(\"Gesamt:\")]),_vm._v(\" \"+_vm._s(_vm.leute.geldGesamtJahr)+\" € / Jahr \")])])]:_vm._e()],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',{staticClass:\"dark:bg-gray-700 dark:text-gray-400\"},[_c('tr',[_c('th',{staticClass:\"p-4\"},[_vm._v(\"User Full\")]),_c('th',{staticClass:\"p-4\"},[_vm._v(\"User Basic\")]),_c('th',{staticClass:\"p-4\"},[_vm._v(\"User Gesamt\")])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"relative overflow-x-auto shadow-md sm:rounded-lg p-8 bg-white\"},[_c('table',{staticClass:\"w-full text-left text-center\"},[_vm._m(0),_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.leute.leuteFull))]),_c('td',[_vm._v(_vm._s(_vm.leute.leuteBasis))]),_c('td',[_vm._v(_vm._s(_vm.leute.leuteGesamt))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.leute.geldFull))+\" €\")]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.leute.geldBasis))+\" €\")]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatCentToEuro\")(_vm.leute.geldGesamt))+\" €\")])])])]),_c('h2',{staticClass:\"mt-8\"},[_c('strong',[_vm._v(\"Gesamt:\")]),_vm._v(\" \"+_vm._s(_vm._f(\"formatCentToEuro\")(_vm.leute.geldGesamtJahr))+\" € / Jahr \")])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',{staticClass:\"dark:bg-gray-700 dark:text-gray-400\"},[_c('tr',[_c('th',{staticClass:\"p-4\"},[_vm._v(\"User Full\")]),_c('th',{staticClass:\"p-4\"},[_vm._v(\"User Basic\")]),_c('th',{staticClass:\"p-4\"},[_vm._v(\"User Gesamt\")])])])}]\n\nexport { render, staticRenderFns }","\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { LeuteUndGeldViewModel } from '@/services/api/nswag/stapiclient_generated';\n\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\nimport StBadge from '@/components/basic/StBadge.vue';\n\n@Component({\n components: { StBadge, StTabs, AccountSettingsInvoice },\n})\nexport default class LeuteUndGeldTable extends Vue {\n @Prop() leute: LeuteUndGeldViewModel;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeuteUndGeldTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeuteUndGeldTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeuteUndGeldTable.vue?vue&type=template&id=37469bdc&\"\nimport script from \"./LeuteUndGeldTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LeuteUndGeldTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { LeuteUndGeldReportModel, LeuteUndGeldViewModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stAdminApi } from '@/services/st-api';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport LeuteUndGeldTable from '@/views/Admin/LeuteUndGeldTable.vue';\n\n@Component({\n components: { LeuteUndGeldTable, StBadge, StTabs, AccountSettingsInvoice },\n})\nexport default class LeuteUndGeld extends Vue {\n leute: LeuteUndGeldViewModel = LeuteUndGeldViewModel.fromJS({});\n report: LeuteUndGeldReportModel = LeuteUndGeldReportModel.fromJS({});\n level = '';\n loading: boolean = true;\n lostDays: number = 30;\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n this.loading = true;\n this.leute = await stAdminApi.getLeuteUndGeld();\n this.report = await stAdminApi.getLeuteUndGeldBesser(this.lostDays);\n this.loading = false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeuteUndGeld.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeuteUndGeld.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeuteUndGeld.vue?vue&type=template&id=3df2de3c&\"\nimport script from \"./LeuteUndGeld.vue?vue&type=script&lang=ts&\"\nexport * from \"./LeuteUndGeld.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Teamübersicht / Freigabe')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Übersicht und Freigabe der Arbeitszeiten')))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header text-lg font-bold\"},[_c('div',{staticClass:\"grid grid-cols-2 w-full\"},[_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.$t('Zeitraum'))+\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.dateTo)))]),(true)?_c('i',{staticClass:\"far fa-arrow-circle-left mr-4 text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeWeek(-1)}}}):_vm._e(),(true)?_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeWeek(1)}}}):_vm._e()])])])]),_c('div',{staticClass:\"report-card relative overflow-x-auto\"},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticStyle:{\"min-width\":\"1000px\"}},[_c('div',{staticClass:\"flex justify-end\"},[_c('div',{staticClass:\"flex items-center ml-4\"},[_c('div',{staticClass:\"rectangle rounded bg-orange-300 mr-2\"}),_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.$t('Automatisch gesperrt')))])]),_c('div',{staticClass:\"flex items-center ml-4\"},[_c('div',{staticClass:\"rectangle rounded bg-orange-500 mr-2\"}),_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.$t('Abgegeben')))])]),_c('div',{staticClass:\"flex items-center ml-4\"},[_c('div',{staticClass:\"rectangle rounded bg-green-500 mr-2\"}),_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.$t('Freigegeben')))])]),_c('div',{staticClass:\"flex items-center ml-4\"},[_c('div',{staticClass:\"rectangle rounded bg-red-500 mr-2\"}),_c('div',{staticClass:\"text-sm\"},[_vm._v(_vm._s(_vm.$t('Abgelehnt')))])])]),_vm._l((_vm.model.appUserModels),function(appUserModel){return _c('div',{key:appUserModel.appUser.id,staticClass:\"mb-8\"},[_c('div',{staticClass:\"font-bold text-lg mb-2\"},[_vm._v(_vm._s(appUserModel.appUser.name))]),_c('div',{staticClass:\"flex\"},_vm._l((appUserModel.timeFrameModels),function(timeFrame){return _c('div',{key:timeFrame.dateFrom,staticClass:\"border shadow p-4 mr-2\"},[_c('div',{staticClass:\"font-bold mb-4 flex justify-between\"},[_c('div',[_vm._v(_vm._s(_vm.$t('KW'))+\" \"+_vm._s(timeFrame.timeFrameName)+\" | \"+_vm._s(_vm._f(\"formatDate\")(timeFrame.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(timeFrame.dateTo)))]),_c('div',[_c('team-overview-approval-day',{attrs:{\"app-user-id\":appUserModel.appUser.id,\"mode\":'week',\"date\":timeFrame.dateFrom},on:{\"stateChanged\":_vm.approvalStateChanged}})],1)]),_c('div',{staticClass:\"grid grid-cols-7\"},_vm._l((timeFrame.appUserDays),function(day){return _c('div',{key:day.date},[_c('team-overview-approval-day',{attrs:{\"app-user-id\":appUserModel.appUser.id,\"mode\":'day',\"app-user-day\":day,\"date\":day.date},on:{\"stateChanged\":_vm.approvalStateChanged}}),(_vm.hasViolatedValidations(day))?_c('div',{staticClass:\"col-span-7 grid grid-cols-2 grid-rows-2 border shadow justify-items-center place-items-center\",staticStyle:{\"min-height\":\"45px\"}},[_c('div',[(_vm.getPauseWarnings(day))?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getPauseWarnings(day)),expression:\"getPauseWarnings(day)\"}],staticClass:\"far fa-coffee text-red-500\"}):_vm._e()]),_c('div',[(_vm.getDailyWorkTimeWarnings(day))?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getDailyWorkTimeWarnings(day)),expression:\"getDailyWorkTimeWarnings(day)\"}],staticClass:\"far fa-user-clock text-red-500\"}):_vm._e()]),_c('div',[(_vm.getTimeEntryWarnings(day))?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getTimeEntryWarnings(day)),expression:\"getTimeEntryWarnings(day)\"}],staticClass:\"far fa-clock text-red-500\"}):_vm._e()]),_c('div',[(_vm.getFreeDayWarnings(day))?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getFreeDayWarnings(day)),expression:\"getFreeDayWarnings(day)\"}],staticClass:\"far fa-tree-palm text-red-500\"}):_vm._e()])]):_c('div',{staticClass:\"col-span-7 grid grid-cols-1 grid-rows-1 border shadow place-items-center justify-items-center\",staticStyle:{\"min-height\":\"45px\"}},[(day.isApprovedAbsence)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Genehmigte Abwesenheit'),expression:\"'Genehmigte Abwesenheit'\"}],staticClass:\"far fa-tree-palm text-green-500\"}):_vm._e(),(day.isSick)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Krank'),expression:\"'Krank'\"}],staticClass:\"far fa-hospital text-green-500\"}):_vm._e(),_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Alle Validierungen erfolgreich'),expression:\"'Alle Validierungen erfolgreich'\"}],staticClass:\"far fa-check text-green-500\"})])],1)}),0)])}),0)])})],2)],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-popover',{attrs:{\"placement\":'bottom',\"offset\":\"0\",\"open\":_vm.popOverOpen}},[(_vm.mode != 'week')?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getDayTooltip(_vm.appUserDay)),expression:\"getDayTooltip(appUserDay)\"}],staticClass:\"p-4 border shadow font-bold block text-center pt-5 cursor-pointer\",class:_vm.getApprovalClass(_vm.appUserDay),staticStyle:{\"width\":\"40px\",\"height\":\"40px\"},on:{\"click\":_vm.openPopover}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.appUserDay.date,'dd'))+\" \")]):_c('div',[_c('i',{staticClass:\"far fa-calendar cursor-pointer\",on:{\"click\":_vm.openPopover}})]),_c('template',{slot:\"popover\"},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading}}),_c('div',{staticClass:\"bg-white p-4 rounded-md text-base p-5\"},[_c('p',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('Freigabe'))+\" \"),(_vm.mode == 'week')?_c('span',[_vm._v(_vm._s(_vm.$t('Woche vom')))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.date))+\" \")]),_c('st-textarea',{attrs:{\"is-native\":\"true\",\"rows\":\"5\",\"placeholder\":\"Kommentar zur Freigabe / Ablehnung\"},model:{value:(_vm.timeEntryDayApprovalEditModel.comment),callback:function ($$v) {_vm.$set(_vm.timeEntryDayApprovalEditModel, \"comment\", $$v)},expression:\"timeEntryDayApprovalEditModel.comment\"}}),(\n _vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.None ||\n _vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.IsSubmitted ||\n _vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.IsSubmittedImplicitly ||\n _vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.IsDeclined\n )?_c('st-button',{staticClass:\"green small block w-full\",on:{\"click\":_vm.approve}},[_vm._v(\" \"+_vm._s(_vm.$t('Freigeben'))+\" \")]):_vm._e(),(\n _vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.None ||\n _vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.IsSubmitted ||\n _vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.IsSubmittedImplicitly\n )?_c('st-button',{staticClass:\"red small block w-full mt-2\",on:{\"click\":_vm.decline}},[_vm._v(\" \"+_vm._s(_vm.$t('Ablehnen'))+\" \")]):_vm._e(),(_vm.timeEntryDayApprovalEditModel.approvalEnum == _vm.TimeEntryDayApprovalEnum.IsApproved)?_c('st-button',{staticClass:\"red small block w-full mt-2\",on:{\"click\":_vm.decline}},[_vm._v(\" \"+_vm._s(_vm.$t('Freigabe zurücknehmen'))+\" \")]):_vm._e()],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport { AppUserDayViewModel, TimeEntryDayApprovalEditModel, TimeEntryDayApprovalEnum } from '@/services/api/nswag/stapiclient_generated';\nimport { stTimeEntryDayApprovalApi } from '@/services/st-api';\nimport AppUser from '@/views/User/AppUser.vue';\nimport { formatNumber } from 'vue-currency-filter/dist/accounting';\nimport { getHours } from '@/utlitities/helper';\n\n@Component({\n computed: {\n TimeEntryDayApprovalEnum() {\n return TimeEntryDayApprovalEnum;\n },\n },\n components: {},\n})\nexport default class TeamOverviewApprovalDay extends Vue {\n @Prop() appUserId: number;\n @Prop() appUserDay: AppUserDayViewModel;\n @Prop() date: string;\n @Prop() mode: string;\n loading = true;\n popOverOpen = false;\n\n timeEntryDayApprovalEditModel: TimeEntryDayApprovalEditModel = TimeEntryDayApprovalEditModel.fromJS({});\n\n async mounted() {}\n\n @Emit('stateChanged')\n async approve() {\n this.loading = true;\n this.timeEntryDayApprovalEditModel.approvalEnum = TimeEntryDayApprovalEnum.IsApproved;\n this.timeEntryDayApprovalEditModel.approvalMode = this.mode;\n await stTimeEntryDayApprovalApi.setTimeEntryDayApproval(this.timeEntryDayApprovalEditModel);\n this.popOverOpen = false;\n }\n\n @Emit('stateChanged')\n async decline() {\n this.loading = true;\n this.timeEntryDayApprovalEditModel.approvalEnum = TimeEntryDayApprovalEnum.IsDeclined;\n this.timeEntryDayApprovalEditModel.approvalMode = this.mode;\n await stTimeEntryDayApprovalApi.setTimeEntryDayApproval(this.timeEntryDayApprovalEditModel);\n this.popOverOpen = false;\n }\n\n async openPopover() {\n this.popOverOpen = true;\n this.loading = true;\n this.timeEntryDayApprovalEditModel = await stTimeEntryDayApprovalApi.getTimeEntryDayApprovalEditModel(this.appUserId, this.date, this.mode);\n this.loading = false;\n }\n\n getDayTooltip(appUserDay: AppUserDayViewModel) {\n let comment = '';\n if (appUserDay.timeEntryDayApproval?.comment) {\n comment += '
' + appUserDay.timeEntryDayApproval.comment;\n }\n\n return {\n content: 'Sollstunden: ' + getHours(appUserDay.targetMinutesEffective) + ' h' + '
' + 'Iststunden: ' + getHours(appUserDay.durationMinutes) + ' h' + comment,\n isHtml: true,\n };\n }\n\n getApprovalClass(day: AppUserDayViewModel) {\n if (!day.timeEntryDayApproval) {\n return 'bg-white';\n }\n\n switch (day.timeEntryDayApproval.approvalEnum) {\n case TimeEntryDayApprovalEnum.None:\n return 'bg-white';\n case TimeEntryDayApprovalEnum.IsApproved:\n return 'bg-green-500';\n case TimeEntryDayApprovalEnum.IsSubmitted:\n return 'bg-orange-500';\n case TimeEntryDayApprovalEnum.IsSubmittedImplicitly:\n return 'bg-orange-300';\n case TimeEntryDayApprovalEnum.IsDeclined:\n return 'bg-red-500 text-white';\n }\n\n return 'bg-white';\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewApprovalDay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewApprovalDay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamOverviewApprovalDay.vue?vue&type=template&id=002f8618&scoped=true&\"\nimport script from \"./TeamOverviewApprovalDay.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamOverviewApprovalDay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"002f8618\",\n null\n \n)\n\nexport default component.exports","\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\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { AppUserDayViewModel, TeamOverviewApprovalModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stTimeEntryDayApprovalApi } from '@/services/st-api';\nimport { DateTime } from 'luxon';\nimport TeamOverviewApprovalEdit from '@/views/TeamOverview/TeamOverviewApprovalDay.vue';\nimport TeamOverviewApprovalDay from '@/views/TeamOverview/TeamOverviewApprovalDay.vue';\nimport {\n DailyWorkTimeWarningEnums,\n FreeDayWarningEnums,\n GetTeamOverviewApprovalIcon,\n PauseWarningEnums,\n TimeEntryWarningEnums,\n} from '@/views/TeamOverview/team-overview-approval-icon';\nimport { ApprovalStore } from \"@/store/approval-store\";\n\n@Component({ components: { TeamOverviewApprovalDay, TeamOverviewApprovalEdit } })\nexport default class TeamOverviewApproval extends Vue {\n loading = true;\n delayLoading = false;\n\n get model(){\n return ApprovalStore.model;\n }\n\n get date(){\n return ApprovalStore.date;\n }\n\n set date(data: DateTime){\n ApprovalStore.setDate(data);\n }\n\n get dateTo(): DateTime {\n return this.date.plus({ days: 4 * 7 });\n }\n\n hasViolatedValidations(day: AppUserDayViewModel) {\n return day.hasViolatedValidationRules;\n }\n\n getPauseWarnings(day: AppUserDayViewModel): string | null {\n return GetTeamOverviewApprovalIcon(day, PauseWarningEnums);\n }\n\n getFreeDayWarnings(day: AppUserDayViewModel): string | null {\n return GetTeamOverviewApprovalIcon(day, FreeDayWarningEnums);\n }\n\n getDailyWorkTimeWarnings(day: AppUserDayViewModel): string | null {\n return GetTeamOverviewApprovalIcon(day, DailyWorkTimeWarningEnums);\n }\n\n getTimeEntryWarnings(day: AppUserDayViewModel): string | null {\n return GetTeamOverviewApprovalIcon(day, TimeEntryWarningEnums);\n }\n\n async changeWeek(plusminus: number) {\n this.date = this.date.plus({ days: plusminus * 7 });\n await this.loadData();\n }\n\n async approvalStateChanged() {\n await this.loadData(); //TOOD: für einzelnen Nutzer\n }\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n try {\n this.loading = true;\n await ApprovalStore.getModel()\n } finally {\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewApproval.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewApproval.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamOverviewApproval.vue?vue&type=template&id=3fe09ab6&scoped=true&\"\nimport script from \"./TeamOverviewApproval.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamOverviewApproval.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamOverviewApproval.vue?vue&type=style&index=0&id=3fe09ab6&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fe09ab6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"font-bold text-lg mb-4\"},[_vm._v(\"BambooHR\")]),_c('st-button',{on:{\"click\":_vm.sync}},[_vm._v(\"Sync Bamboo\")]),_c('st-button',{on:{\"click\":_vm.calc}},[_vm._v(\"Calc TimeAccount\")]),_vm._v(\" Ergebnis: \"+_vm._s(_vm.result)+\" \")],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { stAdminApi } from '@/services/st-api';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\nimport StBadge from '@/components/basic/StBadge.vue';\n\n@Component({\n components: { StBadge, StTabs, AccountSettingsInvoice },\n})\nexport default class BambooHr extends Vue {\n result: string = '';\n\n async sync() {\n this.result = 'lade...';\n this.result = await stAdminApi.syncBambooHr();\n }\n\n async calc() {\n this.result = 'rechne...';\n try {\n await stAdminApi.calculateAll();\n } catch (e)\n {\n this.result = e;\n }\n\n this.result = 'ok';\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BambooHr.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BambooHr.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BambooHr.vue?vue&type=template&id=c853b904&\"\nimport script from \"./BambooHr.vue?vue&type=script&lang=ts&\"\nexport * from \"./BambooHr.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t(\"Teamübersicht\")))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t(\"Arbeitszeiten der Mitarbeiter in der Übersicht\")))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header text-lg font-bold\"},[_c('div',{staticClass:\"grid grid-cols-2 w-full\"},[_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.monthAsDate.toFormat(\"MMM yyyy\")))]),(true)?_c('i',{staticClass:\"far fa-arrow-circle-left mr-4 text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeMonth(-1)}}}):_vm._e(),(_vm.monthAsDate < _vm.currentMonthAsDate)?_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeMonth(1)}}}):_vm._e()])])])]),_c('div',{staticClass:\"report-card relative overflow-x-auto\"},[_c('div',{staticClass:\"flex justify-between\"},[_c('div',[_c('h2',{staticClass:\"text-xl font-bold mb-2\"},[_vm._v(_vm._s(_vm.$t(\"Übersicht der Zeiterfassung\")))])])]),_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticStyle:{\"min-width\":\"1200px\"}},_vm._l((_vm.model.months),function(month){return _c('div',{key:month.month,staticClass:\"mb-10\"},[_c('div',[_c('div',{staticClass:\"flex justify-between items-center mb-8\"},[_c('div',{staticClass:\"font-bold text-lg\"},[_vm._v(_vm._s(_vm._f(\"toMonthName\")(month.month))+\" \"+_vm._s(_vm.year))])]),_c('div',{staticClass:\"grid grid-cols-16 mt-6 items-center\"},[_c('div',{staticClass:\"col-span-14\"}),_c('div',{staticClass:\"col-span-2 text-right font-bold flex items-center justify-end\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"Gesamtsaldo\"))+\" \")]),_c('st-explanation',{staticClass:\"ml-2\"},[_vm._v(\"zum Monatsende bzw. bis einschl. gestern im laufenden Monat\")])],1)]),_vm._l((month.appUserIntervalModels),function(user,index){return _c('div',{key:user.appUser.id,staticClass:\"grid grid-cols-16 mt-3 pt-3 items-center\",class:{'border-t-2':index > 0}},[_c('div',{staticClass:\"font-bold col-span-3\"},[_vm._v(\" \"+_vm._s(user.appUser.name)+\" \")]),_c('div',{staticClass:\"col-span-12\"},[_c('div',{staticClass:\"flex items-center\"},_vm._l((user.appUserDayModels),function(day){return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getDayTooltip(day)),expression:\"getDayTooltip(day)\"}],staticClass:\"p-2 ml-2 shadow font-bold text-center cursor-pointer\",class:_vm.getDayCssClass(day),staticStyle:{\"width\":\"25px\",\"height\":\"25px\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(day.date,\"dd\"))+\" \")])}),0)]),(user.useTargetMinutes)?_c('div',{staticClass:\"col-span-1 text-right font-bold\",class:{ 'text-red-500': user.overallDurationMinutesBalance < 0, 'text-green-500': user.overallDurationMinutesBalance > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSign\")(user.overallDurationMinutesBalance))+\" h \")]):_c('div',{staticClass:\"col-span-1 text-right font-bold\"},[(user.overallDurationMinutesBalance > 0)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.$t('Keine Sollstunden: Summe der erfassten Zeiten')),expression:\"$t('Keine Sollstunden: Summe der erfassten Zeiten')\"}],staticClass:\"far fa-user-clock\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"durationHours\")(user.overallDurationMinutesBalance))+\" h \")]),_c('div')])})],2)])}),0)],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport {\r\n TeamOverviewTimeValidationAppUserDayModel,\r\n TeamOverviewTimeValidationModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stTeamOverviewApi } from \"@/services/st-api\";\r\nimport { DateTime } from \"luxon\";\r\nimport StBadge from \"@/components/basic/StBadge.vue\";\r\nimport UserSelect from \"@/views/TimeEntries/UserSelect.vue\";\r\nimport TimeAccountDayCell from \"@/views/TimeAccount/TimeAccountDayCell.vue\";\r\nimport TimeAccountSumCell from \"@/views/TimeAccount/TimeAccountSumCell.vue\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\n//@ts-ignore\r\nimport * as FileSaver from \"file-saver\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport { getHours, startOfMonth } from \"@/utlitities/helper\";\r\n\r\n@Component({\r\n components: {\r\n TimeAccountSumCell,\r\n TimeAccountDayCell,\r\n UserSelect,\r\n StBadge\r\n }\r\n})\r\nexport default class TeamOverviewColiquio extends Vue {\r\n monthAsDate: DateTime = this.currentMonthAsDate;\r\n loading = true;\r\n delayLoading = false;\r\n emailLoading = false;\r\n model: TeamOverviewTimeValidationModel = TeamOverviewTimeValidationModel.fromJS({});\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n get currentDate() {\r\n return UserStore.userNowDateTime;\r\n }\r\n\r\n get currentMonthAsDate() {\r\n return startOfMonth(this.currentDate);\r\n }\r\n\r\n get year() {\r\n return this.monthAsDate.year;\r\n }\r\n\r\n get month() {\r\n return this.monthAsDate.month;\r\n }\r\n\r\n getDayCssClass(day: TeamOverviewTimeValidationAppUserDayModel) {\r\n if (!day.appUserDay) {\r\n return \"bg-striped-gray\";\r\n }\r\n\r\n const appUserDay = day!.appUserDay!;\r\n\r\n if (!appUserDay.dayDescription!.isWorkDay) {\r\n if (appUserDay.dayDescription?.badgeText) {\r\n return \"bg-blue-500 text-white\";\r\n }\r\n return \"bg-gray-300\";\r\n }\r\n\r\n if (appUserDay.targetMinutesEffective! > 0) {\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! >= 75) {\r\n return \"bg-green-500\";\r\n }\r\n\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! < 75 && appUserDay.durationMinutes! > 0) {\r\n return \"bg-yellow-500 text-white\";\r\n }\r\n\r\n if (appUserDay.durationMinutes! == 0) {\r\n return \"bg-red-400 text-white\";\r\n }\r\n } else {\r\n if (appUserDay.durationMinutes! > 0) {\r\n return \"bg-green-500\";\r\n }\r\n }\r\n\r\n return \"bg-gray-100\";\r\n }\r\n\r\n getDayTooltip(day: TeamOverviewTimeValidationAppUserDayModel) {\r\n\r\n\r\n const soll = \"
Soll:
\" + getHours(day.appUserDay?.targetMinutes) + \" h
\";\r\n const ist = \"
Ist:
\" + getHours(day.appUserDay?.durationMinutes) + \" h
\";\r\n\r\n\r\n if (!day.appUserDay) {\r\n if (DateTime.fromISO(day.date) <= this.currentDate) {\r\n return { content: \"Keine Daten\" };\r\n }\r\n return { content: \"Zukunft\" };\r\n }\r\n\r\n const appUserDay = day!.appUserDay!;\r\n\r\n if (!appUserDay.dayDescription!.isWorkDay) {\r\n if (appUserDay.dayDescription?.description) {\r\n return { content: appUserDay.dayDescription.description };\r\n }\r\n return { content: \"Kein Arbeitstag\" };\r\n }\r\n\r\n if (appUserDay.targetMinutesEffective! > 0) {\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! >= 75) {\r\n return {\r\n content: `
OK
${soll}${ist}
`,\r\n isHtml: true\r\n };\r\n }\r\n\r\n if (appUserDay.effectiveTargetMinutesEnteredPercentage! < 75 && appUserDay.durationMinutes! > 0) {\r\n return { content: `
Weniger als 75% der Sollstunden erfasst
${soll}${ist}
` };\r\n }\r\n\r\n if (appUserDay.durationMinutes! == 0) {\r\n return { content: `
Keine Zeiteinträge
${soll}${ist}
` };\r\n }\r\n } else {\r\n if (appUserDay.durationMinutes! > 0) {\r\n return { content: \"Ok\" };\r\n }\r\n }\r\n\r\n return { content: \"\" };\r\n }\r\n\r\n async changeMonth(plusminus: number) {\r\n try {\r\n this.loading = true;\r\n this.monthAsDate = this.monthAsDate.plus({ month: plusminus });\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async loadData() {\r\n this.model = await stTeamOverviewApi.getTimeEntryStatsMonth(this.year, this.month, true);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewColiquio.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewColiquio.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamOverviewColiquio.vue?vue&type=template&id=60e7e083&scoped=true&\"\nimport script from \"./TeamOverviewColiquio.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamOverviewColiquio.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamOverviewColiquio.vue?vue&type=style&index=0&id=60e7e083&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60e7e083\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Abwesenheitsarten'))+\" \"),(_vm.showArchived)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('Archiv'))+\")\")]):_vm._e()]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Anlage und Bearbeitung von Abwesenheitsarten')))])]),_c('st-button',{staticClass:\"green mt-8 sm:mt-0\",attrs:{\"icon\":\"far fa-flag\"},on:{\"click\":function($event){return _vm.editItem(0)}}},[_vm._v(_vm._s(_vm.$t('Neue Abwesenheitsart'))+\" \")])],1),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/2 lg:w-1/3\"},[_c('st-search',{attrs:{\"type\":\"text\",\"placeholder\":\"Suche...\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('st-toggle',{model:{value:(_vm.showArchived),callback:function ($$v) {_vm.showArchived=$$v},expression:\"showArchived\"}},[_c('div',{staticClass:\"text-onbgsecondary-normal\"},[_vm._v(_vm._s(_vm.$t('Archiv anzeigen')))])])],1),_c('div',{staticClass:\"relative\"},[_c('st-loading',{attrs:{\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),(!_vm.filteredItems.length)?_c('div',{staticClass:\"empty-list-container st-list-item cursor-auto\"},[_c('i',{staticClass:\"far fa-flag\"}),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.$t('Keine Abwesenheitsarten gefunden')))]),(_vm.items.length)?_c('div',{staticClass:\"subdesc\"},[_vm._v(\" \"+_vm._s(_vm.$t('Bitte die Suche anpassen, oder eine neue Abwesenheitsart anlegen'))+\" \")]):_vm._e(),(!_vm.items.length)?_c('div',{staticClass:\"subdesc\"},[_vm._v(\" \"+_vm._s(_vm.$t('Hier können Sie Abwesenheitsarten für die Zeiterfassung hinzufügen..'))+\" \")]):_vm._e()]):_vm._e(),_vm._l((_vm.filteredItems),function(item){return _c('div',{key:item.id,staticClass:\"st-list-item\",on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('div',{staticClass:\"flex justify-between items-center hover:bg-gray-50 p-4\"},[_c('div',{staticClass:\"flex items-center pl-4\"},[_c('AbsenceTypeIcon',{attrs:{\"absence-type\":item}}),_c('div',{staticClass:\"ml-6 flex align-items-center flex-col font-bold\"},[_vm._v(\" \"+_vm._s(item.description)+\" \")])],1),_c('div',{staticClass:\"align-self-center flex\"},[_c('st-button-round',{attrs:{\"tooltipText\":_vm.$t('Bearbeiten')},on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('i',{staticClass:\"far fa-pencil\"})]),_c('st-button-round',{attrs:{\"loading\":_vm.archivedLoadingId === item.id,\"tooltipText\":_vm.$t(item.isArchived ? 'Aktivieren' : 'Archivieren')},on:{\"click\":function($event){return _vm.toggleArchive(item.id)}}},[(item.isArchived)?_c('i',{staticClass:\"far fa-inbox-out\"}):_c('i',{staticClass:\"far fa-inbox-in\"})]),_c('st-delete-button',{attrs:{\"loading\":_vm.delLoading},on:{\"delete\":function($event){return _vm.itemDelete(item.id)}}},[_c('i',{staticClass:\"far fa-trash\"})])],1)])])})],2)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport {\r\n AbsenceTypeViewModel,\r\n DeleteResultModel,\r\n TagFilter,\r\n TagViewModel\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stAbsenceTypeApi, stCustomerApi, stProjectTaskApi, stTagApi } from \"@/services/st-api\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport StSearch from \"@/components/basic/StSearch.vue\";\r\nimport { orderBy } from \"lodash\";\r\nimport { DialogResponse } from \"vue-tailwind/dist/components/TDialog\";\r\nimport { notifySuccess } from \"@/utlitities/notifications\";\r\nimport AbsenceTypeIcon from \"@/views/Absence/components/AbsenceTypeIcon.vue\";\r\n\r\nComponent.registerHooks([\"beforeRouteUpdate\"]);\r\n\r\n@Component({\r\n components: {\r\n AbsenceTypeIcon,\r\n StSearch,\r\n StInput2\r\n }\r\n})\r\nexport default class AbsenceTypes extends Vue {\r\n items: AbsenceTypeViewModel[] = [];\r\n search: string = \"\";\r\n delLoading: boolean = false;\r\n showArchived: boolean = false;\r\n archivedLoadingId = 0;\r\n\r\n loading = false;\r\n delayLoading = false;\r\n\r\n async mounted() {\r\n try {\r\n this.loading = true;\r\n await this.loadData();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async beforeRouteUpdate(to: any, from: any, next: any) {\r\n next();\r\n if (to.name == \"AbsenceTypes\") {\r\n try {\r\n this.delayLoading = true;\r\n await this.loadData();\r\n } finally {\r\n this.delayLoading = false;\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"showArchived\")\r\n async changeShowArchived() {\r\n this.loading = true;\r\n await this.loadData();\r\n this.loading = false;\r\n }\r\n\r\n async toggleArchive(id: number) {\r\n try {\r\n this.archivedLoadingId = id;\r\n stAbsenceTypeApi.toggleArchived(id);\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gespeichert\");\r\n } finally {\r\n this.archivedLoadingId = 0;\r\n }\r\n }\r\n\r\n get filteredItems() {\r\n return orderBy(\r\n this.items.filter((_) => _.description?.toLowerCase().indexOf(this.search.toLowerCase()) != -1),\r\n \"name\"\r\n );\r\n }\r\n\r\n editItem(id: number) {\r\n this.$router.push({ name: \"AbsenceTypeEdit\", params: { id: id.toString() } });\r\n }\r\n\r\n async loadData() {\r\n this.items = await stAbsenceTypeApi.getList(this.showArchived);\r\n }\r\n\r\n async itemDelete(id: number) {\r\n try {\r\n this.delLoading = true;\r\n const result = await stAbsenceTypeApi.delete(id, true);\r\n if (result.confirmationNeeded) {\r\n const res: DialogResponse = await this.$dialog.confirm({\r\n title: this.$t(\"Bestätigung\").toString(),\r\n text: result.message,\r\n variant: \"danger\",\r\n okButtonText: this.$t(\"Löschen\").toString(),\r\n cancelButtonText: this.$t(\"Abbrechen\").toString()\r\n });\r\n if (res.isOk) {\r\n await stAbsenceTypeApi.delete(id, true);\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } else {\r\n await this.loadData();\r\n notifySuccess(\"Erfolgreich gelöscht\");\r\n }\r\n } finally {\r\n this.delLoading = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTypes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTypes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbsenceTypes.vue?vue&type=template&id=5afa7df8&\"\nimport script from \"./AbsenceTypes.vue?vue&type=script&lang=ts&\"\nexport * from \"./AbsenceTypes.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('slide-in',{ref:\"slideIn\",attrs:{\"loading\":_vm.loading},on:{\"close\":_vm.slideOutClosed},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('i',{staticClass:\"far fa-address-card mr-4\"}),(_vm.item.id)?_c('span',[_vm._v(_vm._s(_vm.$t('Abwesenheitsart'))+\" \"+_vm._s(_vm.item.description)+\" \"+_vm._s(_vm.$t('bearbeiten')))]):_c('span',[_vm._v(_vm._s(_vm.$t('Neue Abwesenheitsart anlegen')))])]},proxy:true}])},[_c('div',[_c('vv-observer',{staticClass:\"grid grid-cols-1\",attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('st-input2',{attrs:{\"label\":\"Name\",\"name\":\"Name\",\"type\":\"text\",\"rules\":\"required\",\"focus\":true},model:{value:(_vm.item.description),callback:function ($$v) {_vm.$set(_vm.item, \"description\", $$v)},expression:\"item.description\"}}),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Abwesenheitsart')))]),_c('st-select',{attrs:{\"options\":_vm.absencyTypeEnums},model:{value:(_vm.item.absenceTypeEnum),callback:function ($$v) {_vm.$set(_vm.item, \"absenceTypeEnum\", $$v)},expression:\"item.absenceTypeEnum\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Halbtägige Abwesenheit')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.item.allowHalfDay),callback:function ($$v) {_vm.$set(_vm.item, \"allowHalfDay\", $$v)},expression:\"item.allowHalfDay\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Die Abwesenheit kann für einen halben Tag angelegt werden'))+\" \")])],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t('Genehmigung')))]),_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.item.approvalNeeded),callback:function ($$v) {_vm.$set(_vm.item, \"approvalNeeded\", $$v)},expression:\"item.approvalNeeded\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Die Abwesenheit muss durch einen Manager oder Administrator bestätigt werden'))+\" \")])],1),_c('st-separator',{staticClass:\"wide small\"}),_c('div',{staticClass:\"flex justify-end\"},[_c('st-button',{staticClass:\"white mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.closeSlideIn()}}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"loading\":_vm.saving,\"type\":\"submit\",\"disabled\":invalid}},[_c('i',{staticClass:\"far fa-save mr-2\"}),_vm._v(_vm._s(_vm.$t('Speichern')))])],1)]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport { AbsenceTypeEditModel, AbsenceTypeEnum } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { stAbsenceTypeApi } from \"@/services/st-api\";\r\nimport StRatePicker from \"@/components/basic/StRatePicker.vue\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport StToggle from \"@/components/basic/StToggle.vue\";\r\n\r\n@Component({\r\n components: {\r\n StToggle,\r\n StInput2,\r\n SlideIn,\r\n StRatePicker,\r\n },\r\n })\r\n export default class AbsenceTypeEdit extends Vue {\r\n private id: number = 0;\r\n private item: AbsenceTypeEditModel = new AbsenceTypeEditModel();\r\n private loading: boolean = true;\r\n private saving: boolean = false;\r\n private listPage: string = 'AbsenceTypes';\r\n\r\n openSlideIn() {\r\n (this.$refs.slideIn as SlideIn).open();\r\n }\r\n\r\n closeSlideIn() {\r\n (this.$refs.slideIn as SlideIn).close();\r\n }\r\n\r\n slideOutClosed() {\r\n this.$router.push({ name: this.listPage });\r\n }\r\n\r\n created() {\r\n this.id = parseInt(this.$route.params.id);\r\n }\r\n\r\n async mounted() {\r\n this.openSlideIn();\r\n this.item = this.id == 0 ? await stAbsenceTypeApi.getNewEditModel() : await stAbsenceTypeApi.getEditModel(this.id);\r\n this.loading = false;\r\n }\r\n\r\n get absencyTypeEnums(){\r\n return [\r\n {id:AbsenceTypeEnum.Vacation, description: this.$t('Urlaub')},\r\n {id:AbsenceTypeEnum.Overtime, description: this.$t('Überstunden')},\r\n {id:AbsenceTypeEnum.Sick, description: this.$t('Krankheit')},\r\n {id:AbsenceTypeEnum.Other, description: this.$t('Sonstiges')}\r\n ]\r\n }\r\n\r\n async submit() {\r\n try {\r\n this.saving = true;\r\n if (this.item.id == 0) {\r\n await stAbsenceTypeApi.insert(this.item);\r\n } else {\r\n await stAbsenceTypeApi.put(this.item);\r\n }\r\n this.closeSlideIn();\r\n } finally {\r\n this.saving = false;\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTypeEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbsenceTypeEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbsenceTypeEdit.vue?vue&type=template&id=11e5b04d&\"\nimport script from \"./AbsenceTypeEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./AbsenceTypeEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(\"EP9w0Zl4hkkrf3U0uD7VpvKpuFRQFx\")])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport StInput2 from \"@/components/basic/StInput2.vue\";\r\nimport TimeEntryFilterComponent from \"@/components/timeentry-filter/TimeEntryFilterComponent.vue\";\r\nimport TimeEntryGrouper from \"@/components/timeentry-filter/TimeEntryGrouper.vue\";\r\nimport SlideIn from \"@/components/basic/SlideIn.vue\";\r\nimport ListTable from \"@/views/List/ListTable.vue\";\r\nimport ListColumnEdit from \"@/views/List/ListColumnEdit.vue\";\r\n\r\nComponent.registerHooks([\"beforeRouteUpdate\"]);\r\n\r\n@Component({\r\n components: { SlideIn, TimeEntryGrouper, TimeEntryFilterComponent, StInput2, ListTable, ListColumnEdit }\r\n})\r\nexport default class TemporaryPassword extends Vue {\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Password.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Password.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Password.vue?vue&type=template&id=15fd6e58&\"\nimport script from \"./Password.vue?vue&type=script&lang=ts&\"\nexport * from \"./Password.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('Teamübersicht Stundenkonten')))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t('Übersicht der Wochenarbeitszeiten der Mitarbeiter')))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header text-lg font-bold\"},[_c('div',{staticClass:\"grid grid-cols-2 w-full\"},[_c('div',{staticClass:\"flex items-center justify-start\"},[_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.$t('Zeitraum'))+\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.dateFrom))+\" - \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.dateTo)))]),(true)?_c('i',{staticClass:\"far fa-arrow-circle-left mr-4 text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeWeek(-1)}}}):_vm._e(),(true)?_c('i',{staticClass:\"far fa-arrow-circle-right text-xl cursor-pointer\",on:{\"click\":function($event){return _vm.changeWeek(1)}}}):_vm._e()])])])]),_c('div',{staticClass:\"report-card relative overflow-x-auto\"},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading,\"delayLoading\":_vm.delayLoading}}),_c('div',{staticStyle:{\"min-width\":\"1000px\"}},[_c('div',{staticClass:\"grid grid-cols-12 mt-6 items-center\"},[_c('div',{staticClass:\"col-span-9 col-start-4\"},[_c('div',{staticClass:\"grid grid-cols-6 gap-4 items-center\"},[_vm._l((_vm.model.weeks),function(week){return _c('div',{key:week.weekStart,staticClass:\"text-center font-bold\"},[_c('div',[_vm._v(\"KW \"+_vm._s(week.weekName))]),_c('div',[_vm._v(_vm._s(_vm._f(\"formatDate\")(week.weekStart)))])])}),_c('div',{staticClass:\"text-center font-bold\"},[_vm._v(_vm._s(_vm.$t('Gesamt')))])],2)])]),_vm._l((_vm.model.appUserModels),function(user){return _c('div',{key:user.appUser.id},[_c('div',{staticClass:\"grid grid-cols-12 mt-6 items-center\"},[_c('div',{staticClass:\"font-bold col-span-3\"},[_vm._v(\" \"+_vm._s(user.appUser.name)+\" \")]),_c('div',{staticClass:\"col-span-9\"},[_c('div',{staticClass:\"grid grid-cols-6 gap-4 items-center\"},[_vm._l((user.weeks),function(week){return _c('div',[_c('div',{staticClass:\"p-2 justify-between px-4 border border-gray-300 rounded shadow flex items-center h-20\",class:{ 'bg-striped-gray': !week.hasWeekData }},[_c('div',{staticClass:\"p-3 pr-5\"},[_c('team-overview-time-account-approval-form',{attrs:{\"week\":week,\"app-user-id\":user.appUser.id},on:{\"timeapproved\":_vm.loadData}})],1),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[(week.hasWeekData)?_c('span',{staticClass:\"whitespace-nowrap\",class:{ 'text-red-500': week.balance.durationMinutesBalance < 0, 'text-green-500': week.balance.durationMinutesBalance > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSignAndPlusMinus\")(week.balance.durationMinutesBalance))+\" h \")]):_vm._e()]),(week.hasWeekData)?_c('div',{staticClass:\"text-right text-sm\"},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHours\")(week.balance.durationMinutesWork))+\" / \"+_vm._s(_vm._f(\"durationHours\")(week.balance.durationMinutesTarget))+\" \")]):_vm._e()])])])}),_c('div',{staticClass:\"pl-4\"},[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:('Gesamtsaldo einschließlich heute'),expression:\"'Gesamtsaldo einschließlich heute'\"}],staticClass:\"p-2 justify-between px-4 border border-gray-300 rounded ml-4 shadow flex items-center h-20 bg-gray-200\"},[_vm._m(0,true),_c('div',[_c('div',{staticClass:\"text-right font-bold\"},[_c('span',{staticClass:\"whitespace-nowrap\",class:{ 'text-red-500': user.overallBalance.durationMinutesBalance < 0, 'text-green-500': user.overallBalance.durationMinutesBalance > 0 }},[_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursWithSignAndPlusMinus\")(user.overallBalance.durationMinutesBalance))+\" h \")])])])])])],2)])])])})],2)],1),_c('router-view')],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-3 pr-5\"},[_c('i',{staticClass:\"far fa-sigma\"})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-popover',{attrs:{\"placement\":'bottom',\"offset\":\"0\",\"open\":_vm.popOverOpen,\"trigger\":'manual'},on:{\"hide\":function($event){_vm.popOverOpen = false}}},[_c('div',[(!_vm.week.displayOvertimeIsNotApprovedWarning && !_vm.week.overtimeIsApproved)?_c('i',{staticClass:\"far fa-calendar-week\"}):_vm._e(),(_vm.week.displayOvertimeIsNotApprovedWarning)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getApprovalTooltip(_vm.week)),expression:\"getApprovalTooltip(week)\"}],staticClass:\"far fa-exclamation-triangle text-red-500 font-bold\",on:{\"click\":_vm.openPopover}}):_vm._e(),(_vm.week.overtimeIsApproved)?_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getApprovalTooltip(_vm.week)),expression:\"getApprovalTooltip(week)\"}],staticClass:\"far fa-check-circle text-green-500 font-bold\",on:{\"click\":_vm.openPopover}}):_vm._e()]),_c('template',{slot:\"popover\"},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading}}),_c('div',{staticClass:\"bg-white p-4 rounded-md text-base p-5\"},[_c('p',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('Genehmigung'))+\" \")]),_c('st-textarea',{attrs:{\"is-native\":\"true\",\"rows\":\"5\",\"placeholder\":\"Kommentar zur Freigabe\"},model:{value:(_vm.command.comment),callback:function ($$v) {_vm.$set(_vm.command, \"comment\", $$v)},expression:\"command.comment\"}}),_c('st-button',{staticClass:\"green small block w-full\",on:{\"click\":_vm.approve}},[_vm._v(\" \"+_vm._s(_vm.$t('Genehmigen'))+\" \")]),_c('st-button',{staticClass:\"small block w-full mt-2\",on:{\"click\":_vm.cancel}},[_vm._v(\" \"+_vm._s(_vm.$t('Abbrechen'))+\" \")])],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\nimport StInput2 from '@/components/basic/StInput2.vue';\r\nimport {TimeAccountTeamWeeklyOverviewWeekModel, TimeAccountWeekOvertimeApproveCommand} from '@/services/api/nswag/stapiclient_generated';\r\nimport {stTimeAccountApi} from '@/services/st-api';\r\n\r\n@Component({\r\n components: { StInput2 },\r\n})\r\nexport default class TeamOverviewTimeAccountApprovalForm extends Vue {\r\n @Prop() week!: TimeAccountTeamWeeklyOverviewWeekModel;\r\n @Prop() appUserId!: number;\r\n\r\n command: TimeAccountWeekOvertimeApproveCommand = TimeAccountWeekOvertimeApproveCommand.fromJS({comment: ''});\r\n\r\n popOverOpen: boolean = false;\r\n loading: boolean = false;\r\n\r\n async openPopover() {\r\n this.popOverOpen = true;\r\n this.command = TimeAccountWeekOvertimeApproveCommand.fromJS({});\r\n this.command.comment = this.week.overtimeIsApprovedComment;\r\n this.command.weekStartDate = this.week.dateFrom;\r\n this.command.appUserId = this.appUserId;\r\n }\r\n\r\n async approve() {\r\n await stTimeAccountApi.approveOverTimeWeek(this.command);\r\n this.popOverOpen = false;\r\n this.$emit('timeapproved');\r\n }\r\n\r\n cancel() {\r\n this.popOverOpen =false;\r\n }\r\n\r\n getApprovalTooltip(model: TimeAccountTeamWeeklyOverviewWeekModel) {\r\n let toolTipText = '';\r\n\r\n if (model.overtimeIsApproved)\r\n {\r\n toolTipText = '
Ãœberstunden sind genehmigt
';\r\n if (model.overtimeIsApprovedComment)\r\n {\r\n toolTipText+='
Kommentar:
' + model.overtimeIsApprovedComment + '
';\r\n }\r\n }\r\n\r\n if (model.displayOvertimeIsNotApprovedWarning)\r\n {\r\n toolTipText = '
Ãœberstunden sind nicht genehmigt
';\r\n }\r\n\r\n return {\r\n content: toolTipText,\r\n isHtml: true,\r\n };\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewTimeAccountApprovalForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewTimeAccountApprovalForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamOverviewTimeAccountApprovalForm.vue?vue&type=template&id=24cacfa8&\"\nimport script from \"./TeamOverviewTimeAccountApprovalForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamOverviewTimeAccountApprovalForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport {\n BillableTargetAppUserMonthModel,\n TimeAccountTeamWeeklyOverviewModel,\n TimeAccountTeamWeeklyOverviewQuery,\n TimeAccountTeamWeeklyOverviewWeekModel\n} from '@/services/api/nswag/stapiclient_generated';\nimport { stTimeAccountApi } from '@/services/st-api';\nimport { DateTime } from 'luxon';\nimport TeamOverviewApprovalEdit from '@/views/TeamOverview/TeamOverviewApprovalDay.vue';\nimport TeamOverviewApprovalDay from '@/views/TeamOverview/TeamOverviewApprovalDay.vue';\nimport { UserStore } from '@/store/user-module';\nimport {getHours} from '@/utlitities/helper';\nimport TeamOverviewTimeAccountApprovalForm from '@/views/TeamOverview/TeamOverviewTimeAccountApprovalForm.vue';\n\n@Component({ components: {TeamOverviewTimeAccountApprovalForm, TeamOverviewApprovalDay, TeamOverviewApprovalEdit } })\nexport default class TeamOverviewTimeAccount extends Vue {\n loading = true;\n delayLoading = false;\n date: DateTime = UserStore.userNowDateTime;\n model: TimeAccountTeamWeeklyOverviewModel = TimeAccountTeamWeeklyOverviewModel.fromJS({});\n\n get dateTo(): DateTime {\n return this.date.plus({ days: 8 * 7 });\n }\n\n async changeWeek(plusminus: number) {\n this.date = this.date.plus({ days: plusminus * 7 });\n await this.loadData();\n }\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n try {\n this.delayLoading = true;\n this.loading = true;\n const query = TimeAccountTeamWeeklyOverviewQuery.fromJS({});\n query.date = this.date.toFormat('yyyy-MM-dd');\n this.model = await stTimeAccountApi.getTimeAccountTeamWeeklyOverview(query);\n } finally {\n this.delayLoading = false;\n this.loading = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewTimeAccount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamOverviewTimeAccount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamOverviewTimeAccount.vue?vue&type=template&id=5ed46cea&scoped=true&\"\nimport script from \"./TeamOverviewTimeAccount.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamOverviewTimeAccount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamOverviewTimeAccount.vue?vue&type=style&index=0&id=5ed46cea&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ed46cea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-page\"},[_c('div',{staticClass:\"page-header\"},[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t(\"Festpreisprojekte\")))]),_c('div',{staticClass:\"page-subheading\"},[_vm._v(_vm._s(_vm.$t(\"Auswertungen zu Festpreisprojekten\")))])])]),_c('div',{staticClass:\"st-list-container\"},[_c('div',{staticClass:\"st-list-header\"},[_c('div',{staticClass:\"w-1/2 flex font-bold items-center ml-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Filter\"))+\" \")])]),_vm._m(0),_c('div',{staticClass:\"relative\"},[_c('div',{staticClass:\"grid lg:grid-cols-1 md:grid-cols-1 gap-4\"},[_c('div',{staticClass:\"report-card relative\",staticStyle:{\"min-height\":\"350px\"}},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Umsatz / FTE')))]),_c('div',{staticClass:\"report-card-body\"},[(!_vm.loading)?_c('apexchart',{attrs:{\"height\":\"350\",\"options\":_vm.revenueFteChartOptions.chartOptions,\"series\":_vm.revenueFteChartOptions.series}}):_vm._e()],1)],1),_c('div',{staticClass:\"report-card relative\",staticStyle:{\"min-height\":\"350px\"}},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Mitarbeiter Übersicht')))]),_c('div',{staticClass:\"report-card-body\"},[_c('table',{staticClass:\"w-full table-fixed text-left\"},[_c('thead',[_c('tr',{staticClass:\"border-b-2 border-gray-400\"},[_c('th',{staticClass:\"p-4 pl-6\"},[_vm._v(_vm._s(_vm.$t('Benutzer')))]),_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatz')))]),_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatz FTE')))]),_c('th',{staticClass:\"p-4 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatz FTE (inkl. laufende Projekte)')))])])]),_c('tbody',[(!_vm.userOverviewData || !_vm.userOverviewData.length)?_c('tr',[_c('td',{attrs:{\"colspan\":\"4\"}},[_c('div',{staticClass:\"alert alert-gray\"},[_vm._v(_vm._s(_vm.$t('Keine Daten gefunden')))])])]):_vm._e(),_vm._l((_vm.userOverviewData),function(item){return _c('tr',{key:item.appUserName,staticClass:\"border-b border-gray-400\"},[_c('td',{staticClass:\"p-4 pl-6 truncate\"},[_vm._v(_vm._s(item.appUserName))]),_c('td',{staticClass:\"p-4 truncate text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(item.projectRevenue)))]),_c('td',{staticClass:\"p-4 truncate text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(item.projectRevenueFte)))]),_c('td',{staticClass:\"p-4 truncate text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(item.projectRevenueFteInclNotFinished)))])])})],2)])])],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-list-subheader flex flex-col\"},[_c('div',{staticClass:\"filter-group\"},[_c('div',{staticClass:\"filter-label\"},[_vm._v(\" Zeitraum \")]),_c('div',{staticClass:\"filter-control\"},[_vm._v(\"Letzte 4 Quartale\")])])])}]\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport TimeEntryFilterComponent from \"@/components/timeentry-filter/TimeEntryFilterComponent.vue\";\r\nimport {\r\n ProjectFixedPriceRevenueFteModel,\r\n ProjectFixedPriceRevenueFteQuery,\r\n ProjectFixedPriceUserOverviewModel,\r\n ProjectFixedPriceUserOverviewQuery,\r\n TimeEntryFilter,\r\n TimeEntryFilterTimeFrame\r\n} from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { FilterControl } from \"@/components/timeentry-filter/filterControl\";\r\nimport StProgress from \"@/components/basic/StProgress.vue\";\r\nimport { stProjectFixedPriceReportApi } from \"@/services/st-api\";\r\n\r\n@Component({\r\n components: {\r\n StProgress,\r\n TimeEntryFilterComponent\r\n }\r\n})\r\nexport default class FixedPriceProjectReports extends Vue {\r\n filter: TimeEntryFilter = TimeEntryFilter.fromJS({\r\n timeframe: TimeEntryFilterTimeFrame.ThisYear\r\n });\r\n\r\n revenueFteData: ProjectFixedPriceRevenueFteModel[] = [];\r\n userOverviewData: ProjectFixedPriceUserOverviewModel[] = [];\r\n\r\n loading = false;\r\n\r\n get filterControl() {\r\n return { showOnlyDate: true } as FilterControl;\r\n }\r\n\r\n async mounted(){\r\n await this.loadData();\r\n }\r\n\r\n async loadData() {\r\n this.revenueFteData = await stProjectFixedPriceReportApi.getRevenueFteReport(ProjectFixedPriceRevenueFteQuery.fromJS({}));\r\n this.userOverviewData = await stProjectFixedPriceReportApi.getUserOverviewReport(ProjectFixedPriceUserOverviewQuery.fromJS({}));\r\n }\r\n\r\n async applyFilter() {\r\n await this.loadData();\r\n }\r\n\r\n get revenueFteChartOptions() {\r\n return {\r\n series: [\r\n {\r\n name: 'durchschnittl. Umsatz',\r\n type: 'bar',\r\n data: this.revenueFteData.map((entry) => entry.avgRevenueFte),\r\n },\r\n {\r\n name: 'durchschnittl. Umsatz (inkl. offene Projekte)',\r\n type: 'bar',\r\n data: this.revenueFteData.map((entry) => entry.avgRevenueFteInclNotFinished),\r\n },\r\n ],\r\n chartOptions: {\r\n chart: {\r\n height: 350\r\n },\r\n colors: ['#2980b9', '#5cb85c'],\r\n plotOptions: {\r\n bar: {\r\n endingShapes: 'round',\r\n columnWidth: '50px',\r\n },\r\n },\r\n stroke: {\r\n width: [0, 3],\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n labels: this.revenueFteData.map((entry) => {\r\n return this.$options.filters?.formatQuarter(entry.date);\r\n }),\r\n xaxis: {\r\n type: 'string',\r\n },\r\n yaxis: [\r\n {\r\n title: {\r\n text: this.$t('Umsatz').toString(),\r\n },\r\n labels: {\r\n formatter: (value: any) => {\r\n return this.$options.filters?.formatNumber(value);\r\n },\r\n },\r\n }\r\n ],\r\n },\r\n }\r\n };\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedPriceProjectReports.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedPriceProjectReports.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FixedPriceProjectReports.vue?vue&type=template&id=28c07a2c&scoped=true&\"\nimport script from \"./FixedPriceProjectReports.vue?vue&type=script&lang=ts&\"\nexport * from \"./FixedPriceProjectReports.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FixedPriceProjectReports.vue?vue&type=style&index=0&id=28c07a2c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28c07a2c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"font-bold text-xl my-4\"},[_vm._v(\"Zukünftige Zahlungen (alles Netto)\")]),_c('div',{staticClass:\"grid grid-cols-4 gap-4\"},_vm._l((_vm.upcomingPayments.yearlyPayments),function(year){return _c('div',{key:year.year,staticClass:\"report-card relative\"},[_c('div',{staticClass:\"report-card-header text-lg\"},[_vm._v(\" Jahr \"+_vm._s(year.year)+\" \")]),_c('div',{staticClass:\"report-card-subheader\"},[_vm._v(\"Offen in diesem Jahr\")]),_c('div',{staticClass:\"report-card-body\"},[_c('div',{staticClass:\"report-card-value\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(year.amount))+\" €\")])])])}),0),_c('div',{staticClass:\"report-card relative my-4\",staticStyle:{\"min-height\":\"350px\",\"min-width\":\"768px\"}},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Die nächsten 90 Tage')))]),_c('div',{staticClass:\"report-card-body\"},[(!_vm.loading)?_c('apexchart',{attrs:{\"height\":\"350\",\"options\":_vm.dailyChart.chartOptions,\"series\":_vm.dailyChart.series}}):_vm._e()],1)],1),_c('div',{staticClass:\"report-card relative\",staticStyle:{\"min-height\":\"350px\",\"min-width\":\"768px\"}},[_c('st-loading',{attrs:{\"absolute\":true,\"loading\":_vm.loading}}),_c('div',{staticClass:\"report-card-header\"},[_vm._v(_vm._s(_vm.$t('Die nächsten Monate')))]),_c('div',{staticClass:\"report-card-body\"},[(!_vm.loading)?_c('apexchart',{attrs:{\"height\":\"350\",\"options\":_vm.monthlyChart.chartOptions,\"series\":_vm.monthlyChart.series}}):_vm._e()],1)],1),_c('h1',{staticClass:\"font-bold text-lg my-8\"},[_vm._v(\"Zukünftige Zahlungen\")]),_c('table',{staticClass:\"min-w-full bg-white border-collapse block md:table mt-4\"},[_vm._m(0),_c('tbody',{staticClass:\"block md:table-row-group\"},_vm._l((_vm.upcomingPayments.payments),function(payment){return _c('tr',{staticClass:\"border border-gray-300 md:border-none block md:table-row\"},[_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(payment.date))+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(payment.accountId)+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(payment.email)+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(payment.amount))+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(payment.amountFull))+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(payment.amountBasic))+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(payment.paymentMethod)+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(payment.licensedUserCount)+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(payment.paymentInterval)+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(payment.invoiceDate))+\" \")]),_c('td',{staticClass:\"p-2 text-gray-900 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(payment.paymentDate))+\" \")])])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',{staticClass:\"block md:table-header-group\"},[_c('tr',{staticClass:\"border border-gray-300 md:border-none block md:table-row\"},[_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Date \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Account ID \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Email \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Amount \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Amount Full \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Amount Basic \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Payment Method \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Licensed User Count \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Payment Interval \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Invoice Date \")]),_c('th',{staticClass:\"bg-gray-200 p-2 text-gray-700 md:border md:border-gray-300 block md:table-cell\"},[_vm._v(\" Payment Date \")])])])}]\n\nexport { render, staticRenderFns }","\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\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { stAdminApi } from '@/services/st-api';\nimport StTabs from '@/components/tabs/StTabs.vue';\nimport AccountSettingsInvoice from '@/views/Settings/AccountSettingsInvoice.vue';\nimport StBadge from '@/components/basic/StBadge.vue';\nimport { UpcomingPaymentsViewModel } from '@/services/api/nswag/stapiclient_generated';\n\n@Component({\n components: { StBadge, StTabs, AccountSettingsInvoice },\n})\nexport default class UpcomingPayments extends Vue {\n result: string = '';\n upcomingPayments: UpcomingPaymentsViewModel = UpcomingPaymentsViewModel.fromJS({dailyPayments: []});\n loading = true;\n\n async mounted() {\n await this.loadData();\n }\n\n async loadData() {\n this.loading = true;\n this.upcomingPayments = await stAdminApi.getUpcomingPaymentsViewModel();\n this.loading = false;\n }\n\n get dailyChart() {\n let data = {\n series: [\n {\n name: 'Euro',\n data: this.upcomingPayments?.dailyPayments?.map((entry) => entry.amount),\n }\n ],\n chartOptions: {\n chart: {\n height: 350,\n type: 'bar'\n },\n colors: ['#2980b9', '#5cb85c'],\n plotOptions: {\n bar: {\n endingShapes: 'round',\n columnWidth: '50px',\n },\n },\n stroke: {\n width: [2, 3],\n },\n dataLabels: {\n enabled: false,\n },\n labels: this.upcomingPayments?.dailyPayments?.map((entry) => {\n return this.$options.filters?.formatDate(entry.date);\n }),\n xaxis: {\n type: 'string',\n },\n yaxis: [\n {\n title: {\n text: 'Euro',\n },\n labels: {\n formatter: (value: any) => {\n return this.$options.filters?.formatNumber(value);\n },\n },\n }\n ],\n },\n };\n\n return data;\n }\n\n get monthlyChart() {\n let data = {\n series: [\n {\n name: 'Euro',\n data: this.upcomingPayments?.monthlyPayments?.map((entry) => entry.amount),\n }\n ],\n chartOptions: {\n chart: {\n height: 350,\n type: 'bar'\n },\n colors: ['#2980b9', '#5cb85c'],\n plotOptions: {\n bar: {\n endingShapes: 'round',\n columnWidth: '50px',\n },\n },\n stroke: {\n width: [2, 3],\n },\n dataLabels: {\n enabled: false,\n },\n labels: this.upcomingPayments?.monthlyPayments?.map((entry) => {\n return this.$options.filters?.formatDate(entry.date);\n }),\n xaxis: {\n type: 'string',\n },\n yaxis: [\n {\n title: {\n text: 'Euro',\n },\n labels: {\n formatter: (value: any) => {\n return this.$options.filters?.formatNumber(value);\n },\n },\n }\n ],\n },\n };\n\n return data;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpcomingPayments.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpcomingPayments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UpcomingPayments.vue?vue&type=template&id=22f37212&\"\nimport script from \"./UpcomingPayments.vue?vue&type=script&lang=ts&\"\nexport * from \"./UpcomingPayments.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport VueRouter from 'vue-router';\r\nimport Projects from '@/views/Projects/Projects.vue';\r\nimport Login from '@/views/Auth/Login.vue';\r\nimport ForgotPassword from '@/views/Auth/ForgotPassword.vue';\r\nimport ProjectTasks from '@/views/ProjectTasks/ProjectTasks.vue';\r\nimport RateRules from '@/views/RateRules/RateRules.vue';\r\nimport User from '@/views/User/AppUser.vue';\r\nimport EditUser from '@/views/User/EditUser.vue';\r\nimport TimeEntries from '@/views/TimeEntries/TimeEntries.vue';\r\nimport Tags from '@/views/Tags/Tags.vue';\r\nimport PublicHolidayGroup from '@/views/PublicHoliday/PublicHolidayGroup.vue';\r\nimport OwnAbsences from '@/views/Absence/OwnAbsences.vue';\r\nimport { reloadGlobalData } from '@/store/global-data-helper';\r\nimport NotFound from '@/views/NotFound.vue';\r\nimport EditCustomer from '@/views/Projects/EditCustomer.vue';\r\nimport EditProject from '@/views/Projects/EditProject.vue';\r\nimport TagEdit from '@/views/Tags/TagEdit.vue';\r\nimport ProjectTaskEdit from '@/views/ProjectTasks/ProjectTaskEdit.vue';\r\nimport ProjectReport from '@/views/Projects/ProjectReport.vue';\r\nimport TimeEntryEdit from '@/views/TimeEntries/TimeEntryEdit/TimeEntryEdit.vue';\r\nimport PauseEdit from '@/views/TimeEntries/TimeEntryEdit/PauseEdit.vue';\r\nimport OutgoingInvoiceList from '@/views/OutgoingInvoice/OutgoingInvoiceList.vue';\r\nimport OutgoingInvoiceEdit from '@/views/OutgoingInvoice/OutgoingInvoiceEdit.vue';\r\nimport List from '@/views/List/List.vue';\r\nimport OutgoingInvoiceExport from '@/views/OutgoingInvoice/OutgoingInvoiceExport.vue';\r\nimport TimeEntryExtraFieldMetadata from '@/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadata.vue';\r\nimport TimeEntryExtraFieldMetadataEdit from '@/views/TimeEntryExtraFields/TimeEntryExtraFieldMetadataEdit.vue';\r\nimport StopwatchOldLayoutEdit from '@/views/Stopwatch/OldLayout/StopwatchOldLayoutEdit.vue';\r\nimport NetworkError from '@/views/NetworkError.vue';\r\nimport ListExport from '@/views/List/ListExport.vue';\r\nimport AccountSettings from '@/views/Settings/AccountSettings.vue';\r\nimport UserSettings from '@/views/Settings/UserSettings.vue';\r\nimport ListExternal from '@/views/List/ListExternal.vue';\r\nimport Logs from '@/views/Admin/Logs.vue';\r\nimport InvoiceExport from '@/views/Payment/InvoiceExport.vue';\r\nimport Register from '@/views/Auth/Register.vue';\r\nimport UserSetupError from '@/views/UserSetupError.vue';\r\nimport { UserStore } from '@/store/user-module';\r\nimport TransferAccount from '@/views/Auth/TransferAccount.vue';\r\nimport St2Migration from '@/views/Settings/St2Migration.vue';\r\nimport Test from '@/views/Test/Test.vue';\r\nimport AdvContract from '@/views/Settings/AdvContract.vue';\r\nimport OnBoardingRoute from '@/views/OnBoarding/OnBoardingRoute.vue';\r\nimport AdminQueries from '@/views/Admin/Queries.vue';\r\nimport PublicHolidayGroupEdit from '@/views/PublicHoliday/PublicHolidayGroupEdit.vue';\r\nimport PublicHolidayEdit from '@/views/PublicHoliday/PublicHolidayEdit.vue';\r\nimport PublicHolidayGroupEditSlideOut from '@/views/PublicHoliday/PublicHolidayGroupEditSlideOut.vue';\r\nimport AbsenceEdit from '@/views/Absence/AbsenceEdit.vue';\r\nimport AbsenceTeam from '@/views/Absence/AbsenceTeam.vue';\r\nimport OutInvAccountSettings from '@/views/OutgoingInvoice/Settings/OutInvAccountSettings.vue';\r\nimport TimeAccount from '@/views/TimeAccount/TimeAccount.vue';\r\nimport TimeAdjustmentEdit from '@/views/TimeAccount/TimeAdjustmentEdit.vue';\r\nimport RegenerateInvoice from '@/views/Admin/RegenerateInvoice.vue';\r\nimport UnpaidInvoices from '@/views/Admin/UnpaidInvoices.vue';\r\nimport TeamOverview from '@/views/TeamOverview/TeamOverview.vue';\r\nimport LeuteUndGeld from '@/views/Admin/LeuteUndGeld.vue';\r\nimport TeamOverviewApproval from '@/views/TeamOverview/TeamOverviewApproval.vue';\r\nimport BambooHr from '@/views/Admin/BambooHr.vue';\r\nimport TeamOverviewColiquio from '@/views/TeamOverview/Coliquio/TeamOverviewColiquio.vue';\r\nimport AbsenceTypes from '@/views/AbsenceType/AbsenceTypes.vue';\r\nimport AbsenceTypeEdit from '@/views/AbsenceType/AbsenceTypeEdit.vue';\r\nimport TemporaryPassword from '@/views/Temporary/Password.vue';\r\nimport TeamOverviewTimeAccount from '@/views/TeamOverview/TeamOverviewTimeAccount.vue';\r\nimport FixedPriceProjectReports from '@/views/Report/FixedPriceProjectReports.vue';\r\nimport UpcomingPayments from '@/views/Admin/UpcomingPayments.vue';\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: '/',\r\n name: 'TimeEntries',\r\n component: TimeEntries,\r\n children: [\r\n {\r\n path: '/entry/:id',\r\n name: 'TimeEntryEdit',\r\n component: TimeEntryEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/entry/add/:entryDate',\r\n name: 'TimeEntryAdd',\r\n component: TimeEntryEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/entry/addfromstopwatch',\r\n name: 'TimeEntryAddFromStopwatch',\r\n component: TimeEntryEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/entry/add/user/:appUserId/:entryDate',\r\n name: 'TimeEntryAddForUser',\r\n component: TimeEntryEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/pause/:id',\r\n name: 'PauseEdit',\r\n component: PauseEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/pause/add/:entryDate',\r\n name: 'PauseAdd',\r\n component: PauseEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/stopwatchedit',\r\n name: 'StopwatchOldLayoutEdit',\r\n component: StopwatchOldLayoutEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/home',\r\n name: 'Home',\r\n component: TimeEntries,\r\n },\r\n {\r\n path: '/networkerror',\r\n name: 'NetworkError',\r\n component: NetworkError,\r\n meta: { layout: 'unauthorized', anonymous: true },\r\n },\r\n {\r\n path: '/notfound',\r\n name: 'NotFound',\r\n component: NotFound,\r\n meta: { layout: 'unauthorized', anonymous: true },\r\n },\r\n {\r\n path: '/login/:fromhp?',\r\n name: 'Login',\r\n component: Login,\r\n meta: { layout: 'auth', anonymous: true },\r\n },\r\n {\r\n path: '/register',\r\n name: 'Register',\r\n component: Register,\r\n meta: { layout: 'auth', anonymous: true },\r\n },\r\n {\r\n path: '/transfer/:guid',\r\n name: 'TransferAccount',\r\n component: TransferAccount,\r\n meta: { layout: 'auth', anonymous: true },\r\n },\r\n {\r\n path: '/forgotpassword',\r\n name: 'ForgotPassword',\r\n component: ForgotPassword,\r\n meta: { layout: 'auth', anonymous: true },\r\n },\r\n {\r\n path: '/resetpassword/:id',\r\n name: 'ResetPassword',\r\n component: () => import('../views/Auth/ResetPassword.vue'),\r\n meta: { layout: 'auth', anonymous: true },\r\n },\r\n {\r\n path: '/absencetypes',\r\n name: 'AbsenceTypes',\r\n component: AbsenceTypes,\r\n meta: { activeGroup: 'absencetypes' },\r\n children: [\r\n {\r\n path: '/absencetypes/:id',\r\n name: 'AbsenceTypeEdit',\r\n component: AbsenceTypeEdit,\r\n meta: { activeGroup: 'absencetypes' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/absenceteam',\r\n name: 'AbsenceTeam',\r\n component: AbsenceTeam,\r\n meta: { activeGroup: 'absence' },\r\n children: [\r\n {\r\n path: '/absenceteam/edit/:id',\r\n name: 'AbsenceTeamEdit',\r\n component: AbsenceEdit,\r\n meta: { activeGroup: 'absence', backRouteName: 'AbsenceTeam' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/ownabsences',\r\n name: 'Ownabsences',\r\n component: OwnAbsences,\r\n meta: { activeGroup: 'absence' },\r\n children: [\r\n {\r\n path: '/ownabsences/:id',\r\n name: 'OwnabsencesEdit',\r\n component: AbsenceEdit,\r\n meta: { activeGroup: 'absence', backRouteName: 'Ownabsences' },\r\n },\r\n {\r\n path: '/teamabsencefromcalendaredit/:id',\r\n name: 'TeamAbsencesFromCalenderEdit',\r\n component: AbsenceEdit,\r\n meta: { activeGroup: 'absence', backRouteName: 'Ownabsences' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/timeaccount',\r\n name: 'TimeAccount',\r\n component: TimeAccount,\r\n meta: { activeGroup: 'timeentries' },\r\n children: [\r\n {\r\n path: '/timeaccount/adjustments/:id',\r\n name: 'TimeAdjustmentEdit',\r\n component: TimeAdjustmentEdit,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/teamoverview',\r\n name: 'TeamOverview',\r\n component: TeamOverview,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/teamoverview-coliquio',\r\n name: 'TeamOverviewColiquio',\r\n component: TeamOverviewColiquio,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/team-timeaccount',\r\n name: 'TeamOverviewTimeAccount',\r\n component: TeamOverviewTimeAccount,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/timeapproval',\r\n name: 'TimeApproval',\r\n component: TeamOverviewApproval,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/pw',\r\n name: 'PW',\r\n component: TemporaryPassword,\r\n meta: { activeGroup: 'timeentries' },\r\n },\r\n {\r\n path: '/list',\r\n name: 'List',\r\n component: List,\r\n meta: { activeGroup: 'postprocess' },\r\n children: [\r\n {\r\n path: '/list/entry/:id',\r\n name: 'ListTimeEntryEdit',\r\n component: TimeEntryEdit,\r\n meta: { activeGroup: 'postprocess' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/listexport/:guid',\r\n name: 'ListExport',\r\n component: ListExport,\r\n meta: { layout: 'export' },\r\n },\r\n {\r\n path: '/external/:guid',\r\n name: 'ListExternal',\r\n component: ListExternal,\r\n meta: { layout: 'shared' },\r\n },\r\n {\r\n path: '/shared/:guid',\r\n name: 'ListExternalExternal',\r\n component: () => import('../views/List/ListExternalExternal.vue'),\r\n meta: { layout: 'shared', anonymous: true },\r\n },\r\n {\r\n path: '/reports',\r\n name: 'Reports',\r\n component: () => import('../views/Report/Reports.vue'),\r\n meta: { activeGroup: 'postprocess' },\r\n },\r\n {\r\n path: '/billabletargetreport',\r\n name: 'BillableTargetReport',\r\n component: () => import('../views/Report/BillableTargetReport.vue'),\r\n meta: { activeGroup: 'postprocess' },\r\n },\r\n {\r\n path: '/projects',\r\n name: 'Projects',\r\n component: Projects,\r\n meta: { activeGroup: 'masterdata' },\r\n children: [\r\n {\r\n path: '/projects/customer/:id',\r\n name: 'EditCustomer',\r\n component: EditCustomer,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/projects/customer/:id/:readonly',\r\n name: 'ViewCustomer',\r\n component: EditCustomer,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/projects/customer/:customerid/:projectid',\r\n name: 'EditProject',\r\n component: EditProject,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/projects/customer/:customerid/:projectid/:readonly',\r\n name: 'ViewProject',\r\n component: EditProject,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/projects/report/:projectid',\r\n name: 'ProjectReport',\r\n component: ProjectReport,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/projecttasks',\r\n name: 'ProjectTasks',\r\n component: ProjectTasks,\r\n meta: { activeGroup: 'projecttasks' },\r\n children: [\r\n {\r\n path: '/projecttasks/:id',\r\n name: 'ProjectTaskEdit',\r\n component: ProjectTaskEdit,\r\n meta: { activeGroup: 'projecttasks' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/raterules',\r\n name: 'RateRules',\r\n component: RateRules,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/tags',\r\n name: 'Tags',\r\n component: Tags,\r\n meta: { activeGroup: 'tags' },\r\n children: [\r\n {\r\n path: '/tags/:id',\r\n name: 'EditTag',\r\n component: TagEdit,\r\n meta: { activeGroup: 'tags' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/user',\r\n name: 'User',\r\n component: User,\r\n meta: { activeGroup: 'masterdata' },\r\n children: [\r\n {\r\n path: '/user/:id',\r\n name: 'EditUser',\r\n component: EditUser,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/timeentryextrafieldmetadata',\r\n name: 'TimeEntryExtraFields',\r\n component: TimeEntryExtraFieldMetadata,\r\n meta: { activeGroup: 'masterdata' },\r\n children: [\r\n {\r\n path: '/timeentryextrafieldmetadata/:id',\r\n name: 'TimeEntryExtraFieldsEdit',\r\n component: TimeEntryExtraFieldMetadataEdit,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/publicholidaygroup',\r\n name: 'PublicHolidayGroup',\r\n component: PublicHolidayGroup,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/publicholidaygroup/:id',\r\n name: 'PublicHolidayGroupEdit',\r\n component: PublicHolidayGroupEdit,\r\n meta: { activeGroup: 'masterdata' },\r\n children: [\r\n {\r\n path: '/publicholidaygroup/:id',\r\n name: 'PublicHolidayGroupEditSlideOut',\r\n component: PublicHolidayGroupEditSlideOut,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/publicholidaygroup/:groupId/editholiday/:id',\r\n name: 'PublicHolidayEdit',\r\n component: PublicHolidayEdit,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n {\r\n path: '/publicholidaygroup/:groupId/addholiday/:date',\r\n name: 'PublicHolidayAdd',\r\n component: PublicHolidayEdit,\r\n meta: { activeGroup: 'masterdata' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/outgoinginvoice',\r\n name: 'OutgoingInvoice',\r\n component: OutgoingInvoiceList,\r\n meta: { activeGroup: 'postprocess' },\r\n },\r\n {\r\n path: '/outgoinginvoice/:year/:month',\r\n name: 'OutgoingInvoice',\r\n component: OutgoingInvoiceList,\r\n meta: { activeGroup: 'postprocess' },\r\n },\r\n {\r\n path: '/outgoinginvoiceedit/:year/:month/:id',\r\n name: 'OutgoingInvoiceEdit',\r\n component: OutgoingInvoiceEdit,\r\n meta: { activeGroup: 'postprocess' },\r\n children: [\r\n {\r\n path: '/outgoinginvoiceedit/:year/:month/:id/:customerId',\r\n name: 'EditCustomerInvoice',\r\n component: EditCustomer,\r\n meta: { activeGroup: 'postprocess' },\r\n },\r\n {\r\n path: '/outgoinginvoiceedit/:year/:month/:id/settings/edit',\r\n name: 'EditOutInvAccountSettings',\r\n component: OutInvAccountSettings,\r\n meta: { activeGroup: 'postprocess' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/outgoinginvoiceexport/:id',\r\n name: 'OutgoingInvoiceExport',\r\n component: OutgoingInvoiceExport,\r\n meta: { layout: 'export' },\r\n },\r\n {\r\n path: '/settingsaccount',\r\n name: 'AccountSettings',\r\n component: AccountSettings,\r\n },\r\n {\r\n path: '/settingsaccount/advcontract',\r\n name: 'AdvContract',\r\n component: AdvContract,\r\n meta: { layout: 'unauthorized' },\r\n },\r\n {\r\n path: '/migration',\r\n name: 'Migration',\r\n component: St2Migration,\r\n },\r\n {\r\n path: '/settingsuser',\r\n name: 'UserSettings',\r\n component: UserSettings,\r\n },\r\n {\r\n path: '/logs',\r\n name: 'Logs',\r\n component: Logs,\r\n meta: { layout: 'administrator' },\r\n },\r\n {\r\n path: '/admin/queries',\r\n name: 'AdminQueries',\r\n component: AdminQueries,\r\n meta: { layout: 'administrator' },\r\n },\r\n {\r\n path: '/admin/regenerateinvoice',\r\n name: 'RegenerateInvoice',\r\n component: RegenerateInvoice,\r\n meta: { layout: 'administrator' },\r\n },\r\n {\r\n path: '/admin/unpaidinvoices',\r\n name: 'UnpaidInvoices',\r\n component: UnpaidInvoices,\r\n meta: { layout: 'administrator' },\r\n },\r\n {\r\n path: '/admin/lug',\r\n name: 'LuG',\r\n component: LeuteUndGeld,\r\n meta: { layout: 'administrator' },\r\n },\r\n {\r\n path: '/admin/upcoming',\r\n name: 'UpcomingPayments',\r\n component: UpcomingPayments,\r\n meta: { layout: 'administrator' },\r\n },\r\n {\r\n path: '/admin/bamboohr',\r\n name: 'BambooHr',\r\n component: BambooHr,\r\n meta: { layout: 'administrator' },\r\n },\r\n {\r\n path: '/payment',\r\n name: 'Payment',\r\n component: () => import('../views/Payment/Payment.vue'),\r\n meta: { activeGroup: 'payment' },\r\n children: [\r\n {\r\n path: '/payment/invoicedata',\r\n name: 'EditAccountInvoiceData',\r\n component: () => import('../views/Payment/EditAccountInvoiceData.vue'),\r\n meta: { activeGroup: 'payment' },\r\n },\r\n {\r\n path: '/payment/paymentdata',\r\n name: 'EditPaymentData',\r\n component: () => import('../views/Payment/EditPaymentData.vue'),\r\n meta: { activeGroup: 'payment' },\r\n },\r\n {\r\n path: '/payment/licensedata',\r\n name: 'EditLicenseData',\r\n component: () => import('../views/Payment/EditLicenseData.vue'),\r\n meta: { activeGroup: 'payment' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/paymentsetup',\r\n name: 'PaymentSetup',\r\n component: () => import('../views/Payment/PaymentSetup.vue'),\r\n meta: { activeGroup: 'payment' },\r\n children: [\r\n {\r\n path: '/paymentsetup/invoicedata',\r\n name: 'EditAccountInvoiceData',\r\n component: () => import('../views/Payment/EditAccountInvoiceData.vue'),\r\n meta: { activeGroup: 'payment' },\r\n },\r\n {\r\n path: '/paymentsetup/paymentdata',\r\n name: 'EditPaymentData',\r\n component: () => import('../views/Payment/EditPaymentData.vue'),\r\n meta: { activeGroup: 'payment' },\r\n },\r\n {\r\n path: '/paymentsetup/licensedata',\r\n name: 'EditLicenseData',\r\n component: () => import('../views/Payment/EditLicenseData.vue'),\r\n meta: { activeGroup: 'payment' },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/payment/invoice/:id',\r\n name: 'InvoiceExport',\r\n component: InvoiceExport,\r\n meta: { activeGroup: 'payment', layout: 'export', anonymous: true },\r\n },\r\n {\r\n path: '/paymentdone',\r\n name: 'PaymentDone',\r\n component: () => import('../views/Payment/PaymentDone.vue'),\r\n },\r\n {\r\n path: '/usersetuperror',\r\n name: 'UserSetupError',\r\n component: UserSetupError,\r\n meta: { layout: 'unauthorized', anonymous: true },\r\n },\r\n {\r\n path: '/onboardingroute',\r\n name: 'OnBoardingRoute',\r\n component: OnBoardingRoute,\r\n },\r\n {\r\n path: '/test',\r\n name: 'Test',\r\n component: Test,\r\n },\r\n {\r\n path: '/fixedpriceprojectreports',\r\n name: 'FixedPriceProjectReports',\r\n component: FixedPriceProjectReports,\r\n },\r\n {\r\n path: '*',\r\n component: () => import('@/views/NotFound.vue'),\r\n meta: { layout: 'unauthorized', anonymous: true },\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes,\r\n});\r\n\r\nrouter.beforeEach(async (to: any, from: any, next: any) => {\r\n if (!to.matched.some((record: any) => record.meta.anonymous)) {\r\n try {\r\n if (!UserStore.dataLoaded) {\r\n await UserStore.reloadStore();\r\n }\r\n\r\n if (UserStore.userSettings.setupErrors?.length && to.path != '/projects' && to.name != 'EditCustomer' && to.name != 'EditProject') {\r\n if (UserStore.userSettings.CanEditCustomersAndProjects) {\r\n next({\r\n path: '/projects',\r\n });\r\n } else {\r\n next({\r\n path: '/usersetuperror',\r\n });\r\n }\r\n } else {\r\n await reloadGlobalData();\r\n\r\n if (!UserStore.userSettings.onboardingCompleted && to.name != 'OnBoardingRoute') {\r\n next({ name: 'OnBoardingRoute' });\r\n }\r\n }\r\n\r\n next();\r\n } catch (err) {\r\n next({\r\n path: '/login',\r\n params: { nextUrl: to.fullPath },\r\n });\r\n }\r\n } else {\r\n next();\r\n }\r\n});\r\n\r\nexport default router;\r\n","import { DateTime } from 'luxon';\r\nimport { formatCentToEuro, formatDate, getHours, getHoursFromSeconds, padZero } from '@/utlitities/helper';\r\nimport { Vue } from 'vue-property-decorator';\r\nimport numeral from 'numeral';\r\nimport { UserStore } from '@/store/user-module';\r\nimport { RateRuleEnum } from '@/services/api/nswag/stapiclient_generated';\r\nimport { vm } from '@/main';\r\n\r\nVue.filter('formatDateDayNumber', (value: any) => {\r\n if (value) {\r\n const dt = DateTime.fromISO(value);\r\n return dt.toFormat('dd');\r\n }\r\n});\r\n\r\nVue.filter('formatDate', (value: any, formatString: string = '') => {\r\n return formatDate(value, formatString);\r\n});\r\n\r\nVue.filter('formatDateUtcToLocal', (value: any, formatString: string = '') => {\r\n if (value) {\r\n let dt = value;\r\n if (!DateTime.isDateTime(value)) {\r\n dt = DateTime.fromISO(value, { zone: 'utc' });\r\n dt = dt.toLocal();\r\n }\r\n\r\n if (formatString) {\r\n return dt.toFormat(formatString);\r\n }\r\n\r\n return dt.toFormat(UserStore.userSettings.datePattern ?? 'dd.MM.yyyy');\r\n }\r\n});\r\n\r\nVue.filter('formatCentToEuro', (value: number) => {\r\n return formatCentToEuro(value);\r\n});\r\n\r\nVue.filter('formatMonth', (value: any) => {\r\n if (value) {\r\n const dt = DateTime.fromISO(value);\r\n return dt.toFormat('MM.yyyy');\r\n }\r\n});\r\n\r\nVue.filter('formatQuarter', (value: any) => {\r\n if (value) {\r\n const dt = DateTime.fromISO(value);\r\n return 'Q' + dt.toFormat('q yyyy');\r\n }\r\n});\r\n\r\nVue.filter('formatMonthName', (value: any) => {\r\n if (value) {\r\n const dt = DateTime.fromISO(value);\r\n return dt.toFormat('MMM');\r\n }\r\n});\r\n\r\nVue.filter('formatNumber', (value: any, format: string = '') => {\r\n if (!format) {\r\n format = '0,0.00';\r\n }\r\n\r\n return numeral(value).format(format); // displaying other groupings/separators is possible, look at the docs\r\n});\r\n\r\nVue.filter('durationHours', (value: number) => {\r\n return getHours(value);\r\n});\r\n\r\nVue.filter('durationHoursWithSign', (value: number) => {\r\n return getHours(value, true);\r\n});\r\n\r\nVue.filter('durationHoursWithSignAndPlusMinus', (value: number) => {\r\n return getHours(value, true, true);\r\n});\r\n\r\nVue.filter('durationHoursFromSeconds', (value: number) => {\r\n return getHoursFromSeconds(value);\r\n});\r\n\r\nVue.filter('amountCurrency', (value: number, currency: string = '') => {\r\n return numeral(value).format('0,0.00') + ' ' + (currency || UserStore.userSettings.currency);\r\n});\r\n\r\nVue.filter('padZero', (value: number) => {\r\n return padZero(value);\r\n});\r\n\r\nVue.filter('rateRuleSourceText', (value: RateRuleEnum) => {\r\n switch (value) {\r\n case RateRuleEnum.Global:\r\n return vm.$t('Globaler Stundensatz');\r\n case RateRuleEnum.Customer:\r\n return vm.$t('Stundensatz des Kunden');\r\n case RateRuleEnum.Project:\r\n return vm.$t('Stundensatz des Projekts');\r\n case RateRuleEnum.ProjectTask:\r\n return vm.$t('Stundensatz der Projektleistung');\r\n case RateRuleEnum.GlobalProjectTask:\r\n return vm.$t('Stundensatz der Leistung');\r\n case RateRuleEnum.AppUser:\r\n return vm.$t('Stundensatz des Mitarbeiters');\r\n default:\r\n return '';\r\n }\r\n});\r\n\r\nVue.filter('toMonthName', (value: number) => {\r\n const arr = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];\r\n return vm.$t(arr[value - 1]);\r\n});\r\n","export enum StInputEnum{\r\n Text= 'text',\r\n Number = 'number',\r\n Email = 'email',\r\n Password = 'password',\r\n Textarea = 'textarea',\r\n Currency = 'currency',\r\n Duration = 'duration',\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.appIsReady)?_c('div',[_c('link',{attrs:{\"rel\":\"stylesheet\",\"type\":\"text/css\",\"href\":\"/loading.css\"}}),_vm._m(0)]):_vm._e(),(_vm.appIsReady)?_c('div',{staticClass:\"default-layout\",class:[_vm.menuClass]},[_c('div',{staticClass:\"st-header flex items-center justify-between bg-primary-normal relative\"},[_c('div',{staticClass:\"xl:hidden mx-14 text-2xl font-normal flex items-center\"},[_c('a',{staticClass:\"-ml-8 pr-10 cursor-pointer\",on:{\"click\":_vm.toggleMenu}},[_c('i',{staticClass:\"fas fa-bars text-xl text-onbgprimary-normal\"})])]),_c('div',{staticClass:\"md:hidden\"}),_c('div',{staticClass:\"hidden md:flex ml-12 text-lg font-bold items-center text-onbgprimary-normal\"},[(_vm.userSettings.isMigratedFromSt2 && !_vm.userSettings.isFullyMigratedFromSt2)?_c('div',{staticClass:\"md:flex items-center\"},[_c('i',{staticClass:\"far fa-exclamation-triangle\"}),_vm._m(1)]):_vm._e()]),(_vm.stopwatchRunning)?_c('div',{staticClass:\"absolute flex justify-around\",staticStyle:{\"top\":\"0\",\"left\":\"20%\",\"right\":\"20%\"}},[_c('div',{staticClass:\"shadow-lg rounded-b-md z-40 bg-secondary-normal text-onbgsecondary-normal p-4 cursor-pointer font-bold flex flex-col items-center justify-around\",on:{\"click\":_vm.goToTimeEntries}},[_c('div',{staticClass:\"text-lg\"},[_c('i',{staticClass:\"far fa-stopwatch\"}),_vm._v(\" \"+_vm._s(_vm._f(\"durationHoursFromSeconds\")(_vm.durationSeconds))+\" \")]),(_vm.useProjectTimeTracking)?_c('div',{staticClass:\"max-w-sm\"},[_c('div',{staticClass:\"text-sm truncate\"},[_vm._v(_vm._s(_vm.stopwatchModel.customerName)+\" - \"+_vm._s(_vm.stopwatchModel.projectName))])]):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"flex items-center justify-end text-sm\"},[(_vm.userSettings.CanEditAccount || (_vm.userSettings.CanEditAccount && _vm.accountPaymentIsSetup))?_c('v-popover',{attrs:{\"trigger\":'manual',\"open\":_vm.settingsOpen,\"placement\":\"bottom-end\",\"delay\":{ show: 0 }},on:{\"hide\":function($event){_vm.settingsOpen = false}},scopedSlots:_vm._u([{key:\"popover\",fn:function(){return [_c('div',{staticClass:\"rounded bg-white border p-4 text-gray-700 flex flex-col\",on:{\"click\":function($event){_vm.settingsOpen = false}}},[_c('div',{},[_c('router-link',{staticClass:\"settingLink\",attrs:{\"tag\":\"div\",\"to\":\"/settingsuser\",\"icon\":\"far fa-user-cog\"}},[_c('i',{staticClass:\"far fa-user-cog fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.$t('Benutzer-Einstellungen'))+\" \")]),(_vm.userSettings.CanEditAccount)?_c('router-link',{staticClass:\"settingLink\",attrs:{\"tag\":\"div\",\"to\":\"/settingsaccount\"}},[_c('i',{staticClass:\"far fa-cogs fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.$t('Account-Einstellungen'))+\" \")]):_vm._e(),(_vm.userSettings.CanEditAccount && _vm.accountPaymentIsSetup)?_c('router-link',{staticClass:\"settingLink\",attrs:{\"tag\":\"div\",\"to\":\"/payment\"}},[_c('i',{staticClass:\"far fa-sliders-h fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.$t('Zahlung'))+\" \")]):_vm._e(),(_vm.userSettings.CanEditAccount && !_vm.accountPaymentIsSetup)?_c('router-link',{staticClass:\"settingLink\",attrs:{\"tag\":\"div\",\"to\":\"/paymentsetup\"}},[_c('i',{staticClass:\"far fa-sliders-h fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.$t('Zahlung'))+\" \")]):_vm._e(),_c('hr',{staticClass:\"my-2 border border-gray-300\"}),(_vm.userSettings.CanEditTimeEntryExtraFields)?_c('router-link',{staticClass:\"settingLink\",attrs:{\"tag\":\"div\",\"to\":\"/timeentryextrafieldmetadata\"}},[_c('i',{staticClass:\"far fa-comment-alt-plus fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.$t('Zusatzfelder'))+\" \")]):_vm._e(),(_vm.userSettings.CanEditPublicHolidays && _vm.useAbsences)?_c('router-link',{staticClass:\"settingLink\",attrs:{\"tag\":\"div\",\"to\":\"/publicholidaygroup\"}},[_c('i',{staticClass:\"fal fa-tree-palm fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.$t('Feiertage'))+\" \")]):_vm._e(),(_vm.userSettings.CanEditPublicHolidays && _vm.useAbsences)?_c('router-link',{staticClass:\"settingLink\",attrs:{\"tag\":\"div\",\"to\":\"/absencetypes\"}},[_c('i',{staticClass:\"fal fa-calendar-alt fa-fw\"}),_vm._v(\" \"+_vm._s(_vm.$t('Abwesenheitsarten'))+\" \")]):_vm._e()],1)])]},proxy:true}],null,false,875444006)},[_c('st-button',{staticClass:\"support mr-4 whitespace-nowrap\",on:{\"click\":function($event){_vm.settingsOpen = true}}},[_c('i',{staticClass:\"far fa-cogs\"}),_vm._v(\" \"+_vm._s(_vm.$t('Einstellungen'))+\" \")])],1):_c('st-button',{staticClass:\"support mr-4\",on:{\"click\":_vm.goToUserSettings}},[_c('i',{staticClass:\"far fa-user-cog mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('Benutzer-Einstellungen'))+\" \")]),_c('st-button',{staticClass:\"support mr-14 whitespace-nowrap\",on:{\"click\":function($event){return _vm.setShowFeedback(true)}}},[_c('i',{staticClass:\"far fa-envelope mr-2\"}),_c('span',{staticClass:\"inline md:hidden\"},[_vm._v(_vm._s(_vm.$t('Support')))]),_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(_vm.$t('Feedback & Support')))])]),_c('st-button-round',{staticClass:\"signout mr-2\",attrs:{\"tooltipText\":'Abmelden'},on:{\"click\":_vm.logout}},[_c('i',{staticClass:\"far fa-power-off\"})])],1)]),_c('transition',{attrs:{\"name\":\"menu-backdrop\"}},[(_vm.showMenu)?_c('div',{staticClass:\"backdrop xl:hidden w-full h-full fixed left-0 top-0 bg-gray-900 opacity-50 z-40\",on:{\"click\":_vm.toggleMenu}}):_vm._e()]),_c('div',{staticClass:\"relative\",class:{\n 'st-sidebar-left': true,\n untouched: _vm.untouched,\n open: _vm.showMenu,\n }},[_c('st-loading',{attrs:{\"loading\":!_vm.dataLoaded}}),_c('div',{staticClass:\"justify-center flex items-center border-gray-200 my-5\",class:{ 'border-gray-800 ': _vm.lightMenu },staticStyle:{\"height\":\"100px\"}},[(_vm.logoUrl)?_c('div',{staticClass:\"flex items-center px-5\",staticStyle:{\"height\":\"80px\"}},[_c('img',{staticClass:\"object-contain\",staticStyle:{\"height\":\"80px\"},attrs:{\"src\":_vm.logoUrl}})]):_c('div',{staticClass:\"flex items-center\"},[(_vm.lightMenu)?_c('img',{staticClass:\"object-contain h-14 mr-4\",attrs:{\"src\":require(\"../../public/SpikeTime_Grey.png\")}}):_c('img',{staticClass:\"object-contain h-14 mr-4\",attrs:{\"src\":require(\"../../public/SpikeTime_White.png\")}}),_c('span',{staticClass:\"font-bold font-sans text-xl\",class:{ 'text-gray-100': !_vm.lightMenu, 'text-gray-800': _vm.lightMenu }},[_vm._v(_vm._s(_vm.$t('SpikeTime')))])])]),_c('main-menu')],1),_c('div',{staticClass:\"st-content shadow-inner flex flex-col flex-auto\"},[_c('div',{staticClass:\"flex flex-col flex-auto items-start w-full p-2 md:py-8 md:px-4\"},[_c('div',{staticClass:\"flex flex-wrap w-full max-w-screen-xl mx-auto\"},[_c('div',{staticClass:\"flex items-center justify-between w-full my-4 pl-4 pr-4 md:pr-0\"},[_vm._t(\"default\")],2)])])]),(_vm.userSettings.isMigratedFromSt2 && !_vm.userSettings.isFullyMigratedFromSt2)?_c('div',{staticClass:\"st-footer flex items-center justify-center bg-blue-500 text-white font-bold shadow-inner cursor-pointer p-4\",on:{\"click\":_vm.goToMigration}},[(_vm.userSettings.CanEditAccount)?_c('div',[_vm._v(\" Achtung! Dies ist eine \"),_c('span',{staticClass:\"font-extrabold\"},[_vm._v(\"TESTVERSION\")]),_vm._v(\" von SpikeTime 3 - Die hier eingegebenen Daten werden nicht an SpikeTime 2 übertragen. Wenn Sie vollständig zu SpikeTime 3 wechseln möchten, dann klicken Sie hier für weitere Informationen. \")]):_c('div',[_vm._v(\" Achtung! Dies ist eine \"),_c('span',{staticClass:\"font-extrabold\"},[_vm._v(\"TESTVERSION\")]),_vm._v(\" von SpikeTime 3 - Die hier eingegebenen Daten werden nicht an SpikeTime 2 übertragen. Ein vollständiger Wechsel zu dieser Version kann durch einen Administrator erfolgen. \")])]):_vm._e(),(!_vm.userSettings.accountIsConfirmed)?_c('div',{staticClass:\"st-footer flex items-center justify-center bg-blue-500 text-white font-bold shadow-inner p-4\"},[(_vm.userSettings.CanEditAccount)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('Bitte bestätigen Sie Ihre E-Mail-Adresse und setzen Sie ein Passwort, indem Sie auf den Link in der E-Mail klicken, die wir Ihnen gesendet haben.'))+\" \"),(_vm.displaySendEmail)?_c('st-button',{staticClass:\"small green\",attrs:{\"type\":\"button\",\"loading\":_vm.sendingEmail,\"disabled\":_vm.sendingEmail},on:{\"click\":_vm.resendActivationMail}},[_vm._v(\" \"+_vm._s(_vm.$t('E-Mail erneut senden'))+\" \")]):_vm._e()],1):_vm._e()]):_vm._e(),(_vm.userSettings.accountIsLocked)?_c('div',{staticClass:\"st-footer flex items-center text-center justify-center bg-red-500 text-white font-bold shadow-inner p-4\"},[(_vm.userSettings.accountIsLocked)?_c('div',[_c('p',[_c('i',{staticClass:\"far fa-exclamation-triangle\"}),_vm._v(\" \"+_vm._s(_vm.$t('Dieser SpikeTime Account ist gesperrt')))]),(_vm.userSettings.accountIsLockedAdminReason)?_c('p',[_vm._v(_vm._s(_vm.userSettings.accountIsLockedAdminReason))]):_c('p',[_vm._v(_vm._s(_vm.$t('Bitte wenden Sie sich an einen Administrator des Accounts.')))])]):_vm._e()]):_vm._e(),_c('t-modal',{attrs:{\"hideCloseButton\":true,\"clickToClose\":false},model:{value:(_vm.showFeedbackWindow),callback:function ($$v) {_vm.showFeedbackWindow=$$v},expression:\"showFeedbackWindow\"}},[_c('h1',{staticClass:\"font-bold text-lg mb-4\"},[_vm._v(_vm._s(_vm.$t('Feedback und Support')))]),_c('p',{staticClass:\"mb-4\"},[_vm._v(_vm._s(_vm.$t('Bitte verwenden Sie dieses Formular für Feedback und Verbesserungsvorschläge zur Anwendung.')))]),_c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submitFeedback()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"flex flex-col\"},[_c('div',{staticClass:\"form-label mt-2\"},[_vm._v(_vm._s(_vm.$t('Ihre Nachricht')))]),_c('st-textarea',{attrs:{\"rows\":\"3\",\"rules\":\"required\",\"name\":\"Nachricht\",\"id\":\"feedback-message\"},model:{value:(_vm.supportRequestModel.text),callback:function ($$v) {_vm.$set(_vm.supportRequestModel, \"text\", $$v)},expression:\"supportRequestModel.text\"}}),_c('st-input2',{attrs:{\"type\":\"text\",\"name\":\"Email\",\"label\":\"E-Mail\",\"id\":\"feedback-email\",\"rules\":\"required|email\"},model:{value:(_vm.supportRequestModel.email),callback:function ($$v) {_vm.$set(_vm.supportRequestModel, \"email\", $$v)},expression:\"supportRequestModel.email\"}})],1),_c('hr'),_c('div',{staticClass:\"flex justify-end mt-4\"},[_c('st-button',{staticClass:\"mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.setShowFeedback(false)}}},[_vm._v(_vm._s(_vm.$t('Abbrechen')))]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"disabled\":invalid || _vm.feedbackSending,\"loading\":_vm.feedbackSending}},[_c('i',{staticClass:\"far fa-paper-plane\"}),_vm._v(\" \"+_vm._s(_vm.$t('Senden'))+\" \")])],1)]}}],null,false,895605616)})],1),(_vm.showOnboarding && !_vm.isMigratedFromSt2)?_c('OnBoarding'):_vm._e(),(_vm.showOnboarding && _vm.isMigratedFromSt2)?_c('OnBoardingMigration'):_vm._e()],1):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loading-wrapper\"},[_c('div',{staticClass:\"loading-h1\"},[_c('img',{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/SpikeTime_Gradient.png\",\"height\":\"100\",\"width\":\"100\"}}),_c('div',{staticClass:\"loading-lds-ellipsis\",attrs:{\"id\":\"loader\"}},[_c('div'),_c('div'),_c('div'),_c('div')])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-col ml-6\"},[_c('div',[_vm._v(\"SpikeTime 3 Testversion\")]),_c('div',{staticClass:\"text-sm\"},[_vm._v(\"Daten werden nicht zu SpikeTime 2 übertragen\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-provider',{staticClass:\"w-full flex flex-col\",attrs:{\"name\":_vm.$t(_vm.name),\"rules\":_vm.rules,\"immediate\":_vm.valImmediate},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"flex items-center w-full\"},[(_vm.tagType === 'input')?_c('input',{staticClass:\"form-control\",class:[{error:!!errors[0]}, _vm.inputClass],attrs:{\"type\":_vm.type,\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value},on:{\"input\":_vm.input}}):_vm._e(),(_vm.tagType === 'number')?_c('input',{staticClass:\"form-control text-right\",class:[{error:!!errors[0]}, _vm.inputClass],attrs:{\"disabled\":_vm.disabled,\"type\":\"text\"},domProps:{\"value\":_vm.numberValue},on:{\"focus\":function($event){return $event.target.select()},\"input\":_vm.numberChanged}}):_vm._e(),(_vm.tagType === 'currency')?_c('input',{staticClass:\"form-control text-right\",class:[{error:!!errors[0]}, _vm.inputClass],attrs:{\"type\":\"text\",\"disabled\":_vm.disabled},domProps:{\"value\":_vm.currencyValue},on:{\"focus\":function($event){return $event.target.select()},\"input\":_vm.input,\"blur\":_vm.inputCurrency}}):_vm._e(),(_vm.tagType === 'textarea')?_c('textarea',{staticClass:\"form-control\",class:[{error:!!errors[0]}, _vm.inputClass, {disabled: _vm.disabled}],attrs:{\"rows\":\"3\",\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value},on:{\"input\":_vm.input}}):_vm._e(),(_vm.tagType==='duration')?_c('st-duration-picker',{class:[{error:!!errors[0]}, _vm.inputClass, {disabled: _vm.disabled}],attrs:{\"value\":_vm.value,\"disabled\":_vm.disabled},on:{\"input\":_vm.inputValue}}):_vm._e(),(_vm.hasAppendSlot)?_c('div',{staticClass:\"ml-4\"},[_vm._t(\"append\")],2):_vm._e()],1),_c('span',{staticClass:\"text-red-500 text-sm\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport {Component, Emit, Prop, Vue} from 'vue-property-decorator';\nimport {StInputEnum} from '@/components/basic/StInputEnum';\nimport StDurationPicker from '@/components/basic/StDurationPicker.vue';\n\n@Component({\n components: {\n StDurationPicker\n },\n})\nexport default class StInput extends Vue {\n @Prop()name!: string;\n @Prop()rules!: string;\n @Prop()type!: StInputEnum;\n @Prop()value!:any;\n @Prop()inputClass!: string;\n @Prop()disabled!:boolean;\n @Prop()valImmediate!:boolean;\n @Prop()placeholder!: string;\n\n get currencyValue(){\n if(!this.value || !this.value.toFixed){\n return this.value;\n }\n return this.value.toFixed(2).replace('.',',').replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\n }\n\n get numberValue(){\n if(!this.value){\n return this.value;\n }\n\n return this.value.toString().replace('.',',');\n }\n\n get hasAppendSlot(){\n return this.$slots.append;\n }\n\n get tagType(){\n if(this.type == StInputEnum.Email || this.type == StInputEnum.Text || this.type == StInputEnum.Password){\n return 'input'\n }\n\n return this.type;\n }\n\n numberChanged(event: any){\n let result = event.target.value;\n\n if(!result){\n this.$emit('input',0);\n return;\n }\n\n result = result.replace(',','.');\n\n\n if(!result.match( /^(\\d+\\.?\\d*|\\.\\d+)$/ )){\n return;\n }\n\n this.$emit('input', result);\n // this.$emit('input', result.replace(/^0+/, ''));\n }\n\n @Emit('input')\n inputCurrency(event:any){\n this.$forceUpdate();\n\n let val = event.target.value;\n val = val.replace(',','.');\n\n if(!parseFloat(val)){\n return 0;\n }\n\n return parseFloat(val);\n }\n\n @Emit('input')\n inputValue(val: any){\n return val;\n }\n\n @Emit('input')\n input(event:any){\n return event.currentTarget.value;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StInput.vue?vue&type=template&id=df96ad86&\"\nimport script from \"./StInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./StInput.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main-menu\",class:[_vm.menuClass, _vm.successButtonColor]},[(!_vm.admin)?_c('div',{staticClass:\"relative\"},[_c('main-menu-item',{attrs:{\"icon\":\"fa-lg far fa-clock\",\"to\":\"/\"}},[_vm._v(_vm._s(_vm.$t('Zeiten')))]),(_vm.useTimeAccount)?_c('main-menu-item',{attrs:{\"icon\":\"fa-lg far fa-user-clock\",\"to\":\"/timeaccount\"}},[_vm._v(_vm._s(_vm.$t('Stundenkonto')))]):_vm._e(),(_vm.useTeamOverview && !_vm.isColiquio)?_c('main-menu-item',{attrs:{\"icon\":\"fa-lg far fa-users\",\"to\":\"/teamoverview\"}},[_vm._v(_vm._s(_vm.$t('Team-Übersicht')))]):_vm._e(),(_vm.useTeamOverview && _vm.isColiquio)?_c('main-menu-item',{attrs:{\"icon\":\"fa-lg far fa-users\",\"to\":\"/teamoverview-coliquio\"}},[_vm._v(_vm._s(_vm.$t('Team-Übersicht')))]):_vm._e(),(_vm.useTimeAccountTeamOverview)?_c('main-menu-item',{attrs:{\"icon\":\"fa-lg far fa-users-medical\",\"to\":\"/team-timeaccount\"}},[_vm._v(_vm._s(_vm.$t('Team-Übersicht Stunden')))]):_vm._e(),(_vm.useTimeApproval)?_c('main-menu-item',{attrs:{\"icon\":\"fa-lg far fa-user-check\",\"to\":\"/timeapproval\"}},[_c('div',{staticClass:\"flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Zeit-Freigabe'))+\" \"),(_vm.openApprovalCount)?_c('st-badge',{staticClass:\"ml-4\",attrs:{\"bg-class\":'bg-yellow-500 text-black'}},[_vm._v(_vm._s(_vm.openApprovalCount))]):_vm._e()],1)]):_vm._e(),(!_vm.userSettings.CanEditAbsencesForEmployees && !_vm.userSettings.CanViewAbsencesForEmployees && _vm.useAbsences)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fa-lg far fa-calendar-alt\",\"to\":\"/ownabsences\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Abwesenheiten'))+\" \")]):_vm._e(),((_vm.userSettings.CanEditAbsencesForEmployees || _vm.userSettings.CanViewAbsencesForEmployees) && _vm.useAbsences)?[_c('main-menu-item',{attrs:{\"type\":\"divider\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Abwesenheiten'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fa-lg far fa-calendar-alt\",\"to\":\"/ownabsences\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Eigene Abwesenheiten'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fa-lg far fa-calendar-check\",\"to\":\"/absenceteam\"}},[_c('div',{staticClass:\"flex items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Teamkalender'))+\" \"),(_vm.openAbsenceRequestCount)?_c('st-badge',{staticClass:\"ml-4\",attrs:{\"bg-class\":'bg-yellow-500 text-black'}},[_vm._v(_vm._s(_vm.openAbsenceRequestCount))]):_vm._e()],1)])]:_vm._e(),_c('main-menu-item',{attrs:{\"type\":\"divider\",\"icon\":\"far fa-pencil\"}},[_vm._v(_vm._s(_vm.$t('Nachbearbeitung')))]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fa fa-lg fa-list-ul\",\"to\":\"/list\"}},[_vm._v(_vm._s(_vm.$t('Liste')))]),(_vm.useProjectTimeTracking)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"far fa-lg fa-chart-bar\",\"to\":\"/reports\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Berichte'))+\" \")]):_vm._e(),(_vm.canViewFixedPriceProjectReports)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"far fa-lg fa-project-diagram\",\"to\":\"/fixedpriceprojectreports\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Festpreisprojekte'))+\" \")]):_vm._e(),(_vm.useBillableTarget)?_c('main-menu-item',{attrs:{\"icon\":\"fa-lg far fa-bullseye\",\"to\":\"/billabletargetreport\"}},[_vm._v(_vm._s(_vm.$t('Zielerreichung')))]):_vm._e(),(_vm.userSettings.CanEditInvoices && !_vm.userSettings.noOutgoingInvoices && _vm.useProjectTimeTracking)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"far fa-lg fa-credit-card\",\"to\":\"/outgoinginvoice\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungen'))+\" \")]):_vm._e(),(_vm.showMasterdataMenu)?_c('main-menu-item',{attrs:{\"type\":\"divider\",\"icon\":\"far fa-lg fa-pencil\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Stammdaten'))+\" \")]):_vm._e(),((_vm.userSettings.CanEditCustomersAndProjects || _vm.userSettings.CanViewCustomerAndProjects) && _vm.useProjectTimeTracking)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"far fa-lg fa-address-card\",\"to\":\"/projects\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Kunden / Projekte'))+\" \")]):_vm._e(),(_vm.userSettings.useProjectTasks && _vm.userSettings.CanEditProjectTasks && _vm.useProjectTimeTracking)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"far fa-lg fa-lightbulb\",\"to\":\"/projecttasks\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Leistungen'))+\" \")]):_vm._e(),(_vm.userSettings.useTags && _vm.userSettings.CanEditTags && _vm.useProjectTimeTracking)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"far fa-flag\",\"to\":\"/tags\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Kategorien'))+\" \")]):_vm._e(),(_vm.userSettings.CanEditUsers)?_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"far fa-lg fa-user\",\"to\":\"/user\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Benutzer'))+\" \")]):_vm._e()],2):_c('div',[_c('main-menu-item',{attrs:{\"type\":\"divider\",\"icon\":\"far fa-pencil\"}},[_vm._v(_vm._s(_vm.$t('Zurück')))]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-arrow-left\",\"to\":\"/\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Zurück'))+\" \")]),_c('main-menu-item',{attrs:{\"type\":\"divider\",\"icon\":\"far fa-pencil\"}},[_vm._v(_vm._s(_vm.$t('Admin')))]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-file\",\"to\":\"/logs\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Logs'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-table\",\"to\":\"/admin/queries\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Queries'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-credit-card\",\"to\":\"/admin/unpaidinvoices\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Unpaid Invoices'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-credit-card\",\"to\":\"/admin/lug\"}},[_vm._v(\" \"+_vm._s(_vm.$t('LuG'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-credit-card\",\"to\":\"/admin/upcoming\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Upcoming Payments'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-hospital\",\"to\":\"/admin/regenerateinvoice\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Regenerate Invoice'))+\" \")]),_c('main-menu-item',{attrs:{\"small\":\"\",\"icon\":\"fal fa-lg fa-hospital\",\"to\":\"/admin/bamboohr\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Bamboo HR'))+\" \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-col main-menu-item\",class:{ active: _vm.isActive, divider: _vm.type === 'divider' }},[(_vm.type !== 'divider')?_c('router-link',{attrs:{\"to\":_vm.to}},[_c('div',{staticClass:\"main-menu-item-link flex justify-between items-center\"},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"w-14 text-center\"},[_c('i',{class:_vm.icon})]),_c('div',{staticClass:\"pl-4 font-normal\"},[_vm._t(\"default\")],2)])])]):[_c('div',{staticClass:\"main-menu-divider\"},[_vm._t(\"default\")],2)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport {successButtonColorClass} from '@/utlitities/color';\nimport {UserStore} from '@/store/user-module';\n\n@Component({\n components: {\n },\n})\nexport default class MainMenuItem extends Vue {\n private visible: boolean = false;\n @Prop() type!: string;\n @Prop() icon!: string;\n @Prop() to!: string;\n @Prop() activeGroup!: string;\n\n get successButtonColor(){\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\n }\n\n get isActive() {\n let currentRoute = this.$route.path;\n\n if (!this.to) return false;\n\n if (this.to == '/') return currentRoute == this.to;\n\n return currentRoute.toLowerCase().startsWith(this.to.toLowerCase());\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenuItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenuItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainMenuItem.vue?vue&type=template&id=39d4b02a&\"\nimport script from \"./MainMenuItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainMenuItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MainMenuItem.vue?vue&type=style&index=0&id=39d4b02a&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\r\nimport {Component, Prop, Vue} from 'vue-property-decorator';\r\n import MainMenuItem from '@/components/main-menu/MainMenuItem.vue';\r\n import { UserStore } from '@/store/user-module';\r\n import { successButtonColorClass } from '@/utlitities/color';\r\n import { AbsenceStore } from '@/store/absence-store';\r\n import StBadge from '@/components/basic/StBadge.vue';\r\nimport { ApprovalStore } from \"@/store/approval-store\";\r\n\r\n @Component({\r\n components: {\r\n StBadge,\r\n MainMenuItem,\r\n },\r\n })\r\n export default class MainMenu extends Vue {\r\n @Prop({default: false}) admin!: boolean;\r\n\r\n get dataLoaded() {\r\n return UserStore.dataLoaded;\r\n }\r\n\r\n get isColiquio(){\r\n return UserStore.userSettings.accountName == 'coliquio'\r\n }\r\n\r\n get canViewFixedPriceProjectReports(){\r\n return UserStore.userSettings.useFixedPriceProjects && UserStore.userSettings.CanViewRates && UserStore.userSettings.CanViewTimeEntriesForEmployees && UserStore.userSettings.CanViewCustomerAndProjects;\r\n }\r\n\r\n get useProjectTimeTracking(){\r\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\r\n }\r\n\r\n get useTeamOverview() {\r\n return UserStore.userSettings.featureFlagTeamOverview && UserStore.userSettings.CanViewTeamOverview;\r\n }\r\n\r\n get useTimeAccountTeamOverview() {\r\n return UserStore.userSettings.featureFlagTimeAccountTeamOverview && UserStore.userSettings.CanViewTeamOverview && UserStore.currentUser.tempUseNewTimeAccountSummary;;\r\n }\r\n\r\n get useTimeApproval() {\r\n return UserStore.userSettings.featureFlagTimeApproval && UserStore.userSettings.CanApproveTimeEntryDays;\r\n }\r\n\r\n get userSettings() {\r\n return UserStore.userSettings;\r\n }\r\n\r\n get menuClass() {\r\n return UserStore.userSettings.menuColor.toString().toLowerCase();\r\n }\r\n\r\n get successButtonColor() {\r\n return successButtonColorClass(UserStore.userSettings.successButtonColor);\r\n }\r\n\r\n get accountPaymentIsSetup() {\r\n return UserStore.userSettings.paymentStatus.paymentIsSetup;\r\n }\r\n\r\n get useAbsences() {\r\n return UserStore.userSettings.useAbsences;\r\n }\r\n\r\n get useTimeAccount() {\r\n return UserStore.userSettings.useTimeAccount && !UserStore.userSettings.featureFlagHideTimeAccount;\r\n }\r\n\r\n get useBillableTarget() {\r\n return UserStore.userSettings.featureFlagBillableTarget && (UserStore.userSettings.CanEditAccount || UserStore.userSettings.hasBillableTarget);\r\n }\r\n\r\n get openAbsenceRequestCount() {\r\n return AbsenceStore.openAbsenceRequestCount;\r\n }\r\n\r\n get openApprovalCount() {\r\n return ApprovalStore.openApprovalRequestCount;\r\n }\r\n\r\n get showMasterdataMenu() {\r\n return (\r\n this.userSettings.CanEditCustomersAndProjects || this.userSettings.CanViewCustomerAndProjects ||\r\n (this.userSettings.useProjectTasks && this.userSettings.CanEditProjectTasks) ||\r\n this.userSettings.CanEditRateRules ||\r\n (this.userSettings.useTags && this.userSettings.CanEditTags) ||\r\n this.userSettings.CanEditUsers ||\r\n this.userSettings.CanEditPublicHolidays\r\n );\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainMenu.vue?vue&type=template&id=3966a590&\"\nimport script from \"./MainMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MainMenu.vue?vue&type=style&index=0&id=3966a590&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('t-modal',{attrs:{\"hideCloseButton\":true,\"clickToClose\":false,\"variant\":'onboarding'},model:{value:(_vm.showOnboarding),callback:function ($$v) {_vm.showOnboarding=$$v},expression:\"showOnboarding\"}},[(_vm.step === 1)?_c('div',[_c('div',{staticClass:\"w-full rounded grid grid-cols-4 border border-gray-300\"},[_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"1\")]),_c('div',{staticClass:\"border-r border-gray-300 text-center\"},[_vm._v(\"2\")]),_c('div',{staticClass:\"border-r border-gray-300 text-center\"},[_vm._v(\"3\")]),_c('div',{staticClass:\"text-center\"},[_vm._v(\"4\")])]),_c('div',{staticClass:\"flex\"},[_c('div',{staticClass:\"py-40 px-20 hidden sm:block\"},[_c('img',{staticStyle:{\"width\":\"100px\"},attrs:{\"src\":\"SpikeTime_Gradient.png\"}})]),_c('div',{staticClass:\"py-10 flex-1 pr-16\"},[_c('h1',{staticClass:\"font-bold text-xl\"},[_vm._v(\"Herzlich Willkommen bei SpikeTime!\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Wir freuen uns, dass du SpikeTime - die Zeiterfassung für kleine und mittlere Unternehmen testest.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Du kannst SpikeTime für 14 Tage kostenlos und vollkommen unverbindlich mit allen Funktionen ausprobieren.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Bitte bestätige deine Anmeldung durch einen Klick auf den Link in der E-Mail, die wir gerade gesendet haben.\")]),_c('p',{staticClass:\"mt-8 text-lg text-center\"},[_vm._v(\"Eine wichtige Frage, bevor es los geht:\"),_c('br'),_vm._v(\" \"),_c('strong',[_vm._v(\"Wie groß ist dein Unternehmen?\")])]),_c('div',{staticClass:\"flex justify-between gap-x-2 mt-12\"},[_c('st-button',{staticClass:\"white flex-grow w-full border-primary-light border\",class:{'blue font-bold': _vm.isFreelancer === true},on:{\"click\":function($event){return _vm.changeIsFreelancer(true)}}},[_c('div',{staticClass:\"flex flex-col\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(\" Ich arbeite allein \")]),_c('span',{staticClass:\"text-sm\"},[_vm._v(\" (Freelancer, Selbstständige, etc.) \")])])]),_c('st-button',{staticClass:\"white flex-grow w-full border-primary-light border\",class:{'blue font-bold': _vm.isFreelancer === false},on:{\"click\":function($event){return _vm.changeIsFreelancer(false)}}},[_c('div',{staticClass:\"flex flex-col\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(\" Ich habe Angestellte \")]),_c('span',{staticClass:\"text-sm\"},[_vm._v(\" (oder arbeite für ein Unternehmen) \")])])])],1)])]),_c('div',{staticClass:\"flex pl-20 pr-16 w-full justify-end\"},[_c('div',[_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\",\"disabled\":_vm.isFreelancer === null},on:{\"click\":function($event){_vm.step = 2}}},[_c('i',{staticClass:\"far fa-arrow-right\"}),_vm._v(\" Weiter \")]),_c('br')],1)])]):_vm._e(),(_vm.step === 2)?_c('div',[_c('div',{staticClass:\"w-full rounded grid grid-cols-2 border border-gray-300\",class:{'grid-cols-4': !_vm.onboardingModel.useBasicTimeTracking}},[_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"1\")]),_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"2\")]),(!_vm.onboardingModel.useBasicTimeTracking)?[_c('div',{staticClass:\"border-r border-gray-300 text-center\"},[_vm._v(\"3\")]),_c('div',{staticClass:\"text-center\"},[_vm._v(\"4\")])]:_vm._e()],2),_c('div',{staticClass:\"flex\"},[_c('div',{staticClass:\"py-40 px-20 hidden sm:block\"},[_c('img',{staticStyle:{\"width\":\"100px\"},attrs:{\"src\":\"SpikeTime_Gradient.png\"}})]),_c('div',{staticClass:\"py-10 flex-1 pr-20\"},[(!_vm.isFreelancer)?[_c('h1',{staticClass:\"font-bold text-xl\"},[_vm._v(\"Wie erfasst du deine Zeiten?\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Verrechnest du die erfassten Zeiten an Kunden? Dann wähle Projektzeiterfassung. Du kannst diese Einstellung später ändern.\")]),_c('div',{staticClass:\"flex justify-between gap-x-2 mt-12\"},[_c('st-button',{staticClass:\"white flex-grow w-full\",class:{'blue font-bold': !_vm.onboardingModel.useBasicTimeTracking},on:{\"click\":function($event){_vm.onboardingModel.useBasicTimeTracking = false}}},[_c('div',{staticClass:\"flex flex-col\"},[_c('span',[_vm._v(\" Projektzeiterfassung \")]),_c('span',{staticClass:\"text-sm\"},[_vm._v(\" (und Arbeitszeiten) \")])])]),_c('st-button',{staticClass:\"white flex-grow w-full\",class:{'blue font-bold': _vm.onboardingModel.useBasicTimeTracking},on:{\"click\":function($event){_vm.onboardingModel.useBasicTimeTracking = true}}},[_c('div',{staticClass:\"flex flex-col\"},[_c('span',[_vm._v(\" Nur Arbeitszeiten \")]),_c('span',{staticClass:\"text-sm\"},[_vm._v(\" (Kommen - Gehen - Pause) \")])])])],1)]:[_c('h1',{staticClass:\"font-bold text-xl\"},[_vm._v(\"Dein erstes Projekt\")])],(!_vm.onboardingModel.useBasicTimeTracking)?[_c('p',{staticClass:\"mt-12 text-lg\"},[_vm._v(\"Zur Projektzeiterfassung kannst du deinen ersten Kunden und das erste Projekt benennen.\")]),_c('div',{staticClass:\"flex flex-col mt-8\"},[_c('st-input2',{attrs:{\"rows\":\"3\",\"rules\":\"required\",\"label\":\"Name des Kunden\",\"name\":\"Kunde\"},model:{value:(_vm.onboardingModel.customerName),callback:function ($$v) {_vm.$set(_vm.onboardingModel, \"customerName\", $$v)},expression:\"onboardingModel.customerName\"}}),_c('st-input2',{attrs:{\"type\":\"text\",\"name\":\"Projektname\",\"label\":\"Projektname\",\"rules\":\"required\"},model:{value:(_vm.onboardingModel.projectName),callback:function ($$v) {_vm.$set(_vm.onboardingModel, \"projectName\", $$v)},expression:\"onboardingModel.projectName\"}})],1),_c('p',{staticClass:\"mt-12 text-lg\"},[_vm._v(\"Weitere Kunden und Projekte kannst du in den Stammdaten anlegen - dort können auch Stundensätze hinterlegt werden.\")])]:[_c('p',{staticClass:\"mt-12 text-lg\"},[_vm._v(\"Du kannst direkt beginnen deine Arbeitszeiten zu erfassen und deinen Urlaubskalender anzulegen. \"),_c('strong',[_vm._v(\" Arbeitszeiten und Urlaubstage \")]),_vm._v(\" können auf der Seite \"),_c('strong',[_vm._v(\" Benutzer \")]),_vm._v(\" hinterlegt werden.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Bei Fragen zur Bedienung oder den verfügbaren Funktionen, freuen wir uns auf eine Nachricht über die Support-Funktion.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\" Klicke auf der folgenden Seite auf den Button \"),_c('st-button',{staticClass:\"green\",attrs:{\"icon\":\"far fa-clock\"}},[_vm._v(\"Zeiteintrag\")]),_vm._v(\" um den ersten Zeiteintrag zu erstellen. \")],1)]],2)]),_c('div',{staticClass:\"flex w-full justify-between\"},[_c('st-button',{staticClass:\"white w-32 ml-20\",attrs:{\"type\":\"button\",\"loading\":_vm.loading},on:{\"click\":function($event){_vm.step=1}}},[_c('i',{staticClass:\"far fa-arrow-left\"}),_vm._v(\" Zurück \")]),_c('div',{staticClass:\"flex px-20 w-full justify-end\"},[(!_vm.onboardingModel.useBasicTimeTracking)?_c('div',[_c('st-button',{staticClass:\"textonly mr-6\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.skipOnboarding()}}},[_vm._v(\"Einrichtung überspringen\")]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){_vm.step = 3}}},[_c('i',{staticClass:\"far fa-arrow-right\"}),_vm._v(\" Weiter \")]),_c('br')],1):_c('div',[_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\",\"loading\":_vm.loading},on:{\"click\":_vm.endOnboardingBasicTimeTracking}},[_c('i',{staticClass:\"far fa-check\"}),_vm._v(\" Einrichtung abschließen \")])],1)])],1)]):_vm._e(),(_vm.step === 3)?_c('div',[_c('div',{staticClass:\"w-full rounded grid grid-cols-4 border border-gray-300\"},[_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"1\")]),_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"2\")]),_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"3\")]),_c('div',{staticClass:\"text-center\"},[_vm._v(\"4\")])]),_c('vv-observer',{attrs:{\"tag\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit()}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"flex\"},[_c('div',{staticClass:\"py-40 px-20 hidden sm:block\"},[_c('img',{staticStyle:{\"width\":\"100px\"},attrs:{\"src\":\"SpikeTime_Gradient.png\"}})]),_c('div',{staticClass:\"py-10 flex-1 pr-20\"},[_c('h1',{staticClass:\"font-bold text-xl\"},[_vm._v(\"Welche Funktionen möchtest du nutzen?\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"In diesem Schritt können einige zentrale Funktionen der Zeiterfassung an- oder abgeschaltet werden.\")]),_c('div',{staticClass:\"flex flex-col mt-8\"},[_c('div',{staticClass:\"form-group\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},on:{\"input\":_vm.ratesChange},model:{value:(_vm.onboardingModel.useRates),callback:function ($$v) {_vm.$set(_vm.onboardingModel, \"useRates\", $$v)},expression:\"onboardingModel.useRates\"}},[_c('strong',[_vm._v(\" Stundensätze \")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('div',{staticClass:\"text-sm\"},[_vm._v(\"Diese können pro Kunde, Projekt und Leistung hinterlegt werden\")])])],1),_c('div',{staticClass:\"form-group mt-8\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.onboardingModel.useOutgoingInvoice),callback:function ($$v) {_vm.$set(_vm.onboardingModel, \"useOutgoingInvoice\", $$v)},expression:\"onboardingModel.useOutgoingInvoice\"}},[_c('strong',[_vm._v(\" Rechnungserstellung \")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('div',{staticClass:\"text-sm\"},[_vm._v(\"Rechnungen aus den erfassten Zeiteinträgen erzeugen\")])])],1),(_vm.onboardingModel.useOutgoingInvoice)?_c('div',{staticClass:\"form-group ml-16 pl-4\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},model:{value:(_vm.onboardingModel.useOutgoingInvoiceEmails),callback:function ($$v) {_vm.$set(_vm.onboardingModel, \"useOutgoingInvoiceEmails\", $$v)},expression:\"onboardingModel.useOutgoingInvoiceEmails\"}},[_c('div',{staticClass:\"text-sm\"},[_vm._v(\"Rechnungen aus SpikeTime per E-Mail versenden\")])])],1):_vm._e(),_c('div',{staticClass:\"form-group mt-8\"},[_c('st-toggle',{attrs:{\"type\":\"right\"},on:{\"input\":_vm.absenceChange},model:{value:(_vm.onboardingModel.useAbsences),callback:function ($$v) {_vm.$set(_vm.onboardingModel, \"useAbsences\", $$v)},expression:\"onboardingModel.useAbsences\"}},[_c('strong',[_vm._v(\" Abwesenheitsverwaltung (Urlaub, Feiertage, Krankheit etc.) \")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('div',{staticClass:\"text-sm\"},[_vm._v(\"Abwesenheitsverwaltung inkl Genehmigungsworkflow verwenden\")])])],1),_c('div',{staticClass:\"form-group mt-8\"},[_c('st-toggle',{attrs:{\"type\":\"right\",\"disabled\":!_vm.onboardingModel.useAbsences},model:{value:(_vm.onboardingModel.useTimeAccount),callback:function ($$v) {_vm.$set(_vm.onboardingModel, \"useTimeAccount\", $$v)},expression:\"onboardingModel.useTimeAccount\"}},[_c('strong',[_vm._v(\" Stundenkonten \")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('div',{staticClass:\"text-sm\"},[_vm._v(\"Soll-Stunden pro Mitarbeiter erfassen und Überstundenkonto nutzen\")])])],1)]),_c('p',{staticClass:\"mt-12 text-lg\"},[_vm._v(\"Weitere Einstellungen der Zeiterfassung findest du mit Hilfe des Buttons oben rechts.\")])])]),_c('div',{staticClass:\"flex px-20 w-full justify-between\"},[_c('st-button',{staticClass:\"white\",attrs:{\"type\":\"button\",\"disabled\":invalid,\"loading\":_vm.loading},on:{\"click\":function($event){_vm.step=2}}},[_c('i',{staticClass:\"far fa-arrow-left\"}),_vm._v(\" Zurück \")]),_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"submit\",\"disabled\":invalid,\"loading\":_vm.loading}},[_c('i',{staticClass:\"far fa-arrow-right\"}),_vm._v(\" Weiter \")])],1)]}}],null,false,674478208)})],1):_vm._e(),(_vm.step === 4)?_c('div',[_c('div',{staticClass:\"w-full rounded grid grid-cols-4 border border-gray-300\"},[_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"1\")]),_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"2\")]),_c('div',{staticClass:\"border-r border-gray-300 bg-green-500 text-gray-200 text-center\"},[_vm._v(\"3\")]),_c('div',{staticClass:\"text-center bg-green-500 text-gray-200 \"},[_vm._v(\"4\")])]),_c('div',{staticClass:\"flex\"},[_c('div',{staticClass:\"py-40 px-20 hidden sm:block\"},[_c('img',{staticStyle:{\"width\":\"100px\"},attrs:{\"src\":\"SpikeTime_Gradient.png\"}})]),_c('div',{staticClass:\"py-10 flex-1 pr-20\"},[_c('h1',{staticClass:\"font-bold text-xl\"},[_vm._v(\"Einrichtung abgeschlossen!\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Vielen Dank! Du kannst nun beginnen Arbeitszeiten zu erfassen.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Bei Fragen zur Bedienung oder den verfügbaren Funktionen, freuen wir uns auf eine Nachricht über die Support-Funktion.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\" Klicke auf der folgenden Seite auf den Button \"),_c('st-button',{staticClass:\"green\",attrs:{\"icon\":\"far fa-clock\"}},[_vm._v(\"Zeiteintrag\")]),_vm._v(\" um den ersten Zeiteintrag zu erstellen. \")],1)])]),_c('div',{staticClass:\"flex px-20 w-full justify-end\"},[_c('div',[_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.endOnboarding}},[_c('i',{staticClass:\"far fa-check\"}),_vm._v(\" Einrichtung abschließen \")]),_c('br')],1)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Vue } from 'vue-property-decorator';\nimport Component from 'vue-class-component';\nimport { stAccountApi } from '@/services/st-api';\nimport { OnBoardingEditModel } from '@/services/api/nswag/stapiclient_generated';\nimport {TimeEntryStore} from '@/store/time-entry-store';\nimport {UserStore} from '@/store/user-module';\n\n@Component({\n components: {},\n})\nexport default class OnBoarding extends Vue {\n loading: boolean = false;\n showOnboarding = true;\n step: number = 1;\n isFreelancer: boolean | null = null;\n\n onboardingModel: OnBoardingEditModel = OnBoardingEditModel.fromJS({});\n\n async mounted() {\n this.onboardingModel = await stAccountApi.getOnboardingEditModel();\n }\n\n absenceChange(){\n if(!this.onboardingModel.useAbsences){\n this.onboardingModel.useTimeAccount = false;\n }\n }\n\n changeIsFreelancer(val: boolean){\n this.isFreelancer = val;\n\n if(this.isFreelancer){\n this.onboardingModel.useAbsences = false;\n this.onboardingModel.useOutgoingInvoice = true;\n this.onboardingModel.useTimeAccount = false;\n this.onboardingModel.useRates = true;\n }else{\n this.onboardingModel.useAbsences = true;\n this.onboardingModel.useOutgoingInvoice = true;\n this.onboardingModel.useTimeAccount = true;\n this.onboardingModel.useRates = true;\n }\n }\n\n async submit() {\n this.loading = true;\n await stAccountApi.saveOnboardingEditModel(this.onboardingModel);\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\n this.step = 4;\n this.loading = false;\n }\n\n async skipOnboarding() {\n await stAccountApi.skipOnBoarding();\n await this.endOnboarding();\n }\n\n async endOnboarding() {\n this.showOnboarding = false;\n await UserStore.reloadStore();\n await this.$router.push({ name: 'TimeEntries' })\n }\n\n async endOnboardingBasicTimeTracking(){\n this.loading = true;\n await stAccountApi.saveOnboardingEditModel(this.onboardingModel);\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\n this.loading = false;\n this.showOnboarding = false;\n await UserStore.reloadStore();\n await this.$router.push({ name: 'TimeEntries' })\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoarding.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoarding.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OnBoarding.vue?vue&type=template&id=6f20142a&\"\nimport script from \"./OnBoarding.vue?vue&type=script&lang=ts&\"\nexport * from \"./OnBoarding.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.start}},[_vm._v(\"Start\")]),_c('v-tour',{attrs:{\"name\":\"myTour\",\"steps\":_vm.steps},scopedSlots:_vm._u([{key:\"default\",fn:function(tour){return [_c('transition',{attrs:{\"name\":\"fade\"}},[(tour.steps[tour.currentStep])?_c('v-step',{key:tour.currentStep,attrs:{\"step\":tour.steps[tour.currentStep],\"previous-step\":tour.previousStep,\"next-step\":tour.nextStep,\"stop\":tour.stop,\"skip\":tour.skip,\"is-first\":tour.isFirst,\"is-last\":tour.isLast,\"labels\":tour.labels}},[(tour.currentStep === 1)?[_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('st-button',{staticClass:\"green\",on:{\"click\":tour.skip}},[_vm._v(\"sd\")]),_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":tour.previousStep}},[_vm._v(\"Previous step\")]),_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":tour.nextStep}},[_vm._v(\"Next step\")])],1)]:_vm._e()],2):_vm._e()],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Vue } from 'vue-property-decorator';\nimport Component from 'vue-class-component';\n\n@Component({\n components: {},\n})\nexport default class OnBoardingTour extends Vue {\n loading: boolean = true;\n showOnboarding = true;\n step: number = 1;\n\n get tourOptions() {\n return {\n useKeyboardNavigation: false,\n labels: {\n buttonSkip: this.$t('Skip tour'),\n buttonPrevious: 'Previous',\n buttonNext: 'Next',\n buttonStop: 'Finish',\n },\n };\n }\n\n get steps() {\n return [\n {\n target: '[data-v-tour=\"1\"]',\n header: {\n title: 'Wochenkalender',\n },\n content: `Dies ist der Wochenkalender - hier können Sie via Klick einfach die Tage wechseln und über die Pfeile zwischen den Wochen navigieren.`,\n params: {highlight:false, placement:'right'}\n },\n {\n target: '[data-v-tour=\"2\"]',\n header: {\n title: 'Zeiten erfassen',\n },\n content: `Dies ist der Wochenkalender - hier können Sie via Klick einfach die Tage wechseln und über die Pfeile zwischen den Wochen navigieren.`,\n params: {highlight:false, placement:'left'}\n },\n {\n target: '[data-v-tour=\"3\"]',\n content: 'An awesome plugin made with Vue.js!',\n params: {highlight:true}\n },\n {\n target: '[data-v-tour=\"4\"]',\n content: \"Try it, you'll love it!
You can put HTML in the steps and completely customize the DOM to suit your needs.\",\n params: {\n placement: 'top', // Any valid Popper.js placement. See https://popper.js.org/popper-documentation.html#Popper.placements\n },\n },\n ];\n }\n\n start() {\n this.$tours['myTour'].start();\n }\n\n mounted() {\n\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoardingTour.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoardingTour.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OnBoardingTour.vue?vue&type=template&id=885394ec&\"\nimport script from \"./OnBoardingTour.vue?vue&type=script&lang=ts&\"\nexport * from \"./OnBoardingTour.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('t-modal',{attrs:{\"hideCloseButton\":true,\"clickToClose\":false,\"variant\":'onboarding'},model:{value:(_vm.showOnboarding),callback:function ($$v) {_vm.showOnboarding=$$v},expression:\"showOnboarding\"}},[_c('div',{staticClass:\"flex\"},[_c('div',{staticClass:\"py-40 px-16 hidden sm:block\"},[_c('img',{staticStyle:{\"width\":\"100px\"},attrs:{\"src\":\"SpikeTime_Gradient.png\"}})]),_c('div',{staticClass:\"py-10 flex-1 pr-12\"},[_c('h1',{staticClass:\"font-bold text-xl\"},[_vm._v(\"Herzlich Willkommen bei SpikeTime 3\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Wir freuen uns, dass Sie SpikeTime 3 verwenden.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Folgende neue Features können Sie jetzt schon entdecken:\")]),_c('div',{staticClass:\"mt-8 font-bold\"},[_c('ul',{staticClass:\"list-disc list-inside\",staticStyle:{\"font-size\":\"1.125rem\"}},[_c('li',[_vm._v(\"Menüfarbe und Buttonfarbe in den Benutzereinstellungen\")]),_c('li',[_vm._v(\"Eigenes Logo in der Rechnung und Rechnungslayouts\")]),_c('li',[_vm._v(\"Textvorschläge für die Beschreibung von Zeiteinträgen\")]),_c('li',[_vm._v(\"Stundensätze für Kunden und Projekte direkt vergeben (Bisherige Stundensätze wurden als Leistungen übernommen)\")])])]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Die grundsätzliche Bedienung ist im neuen SpikeTime gleich geblieben.\")]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Weitere Funktionen werden in den nächsten Monaten folgen, darunter zum Beispiel:\")]),_c('div',{staticClass:\"mt-8 font-bold\"},[_c('ul',{staticClass:\"list-disc list-inside\",staticStyle:{\"font-size\":\"1.125rem\"}},[_c('li',[_vm._v(\"Urlaubsverwaltung mit Genehmigungsworkflow\")]),_c('li',[_vm._v(\"Anwesenheitszeiterfassung / Arbeitszeitkonten\")]),_c('li',[_vm._v(\"Erfassung und Reporting von Ausgaben\")])])]),_c('p',{staticClass:\"mt-8 text-lg\"},[_vm._v(\"Wir freuen uns wenn Sie die Feedback Funktion im Header nutzen um uns weitere \"),_c('strong',[_vm._v(\" Featurewünsche oder Verbesserungsvorschläge \")]),_vm._v(\" zukommen zu lassen. Wir beantworten jede Nachricht.\")])])]),_c('div',{staticClass:\"flex px-20 w-full justify-end\"},[_c('div',[_c('st-button',{staticClass:\"green\",attrs:{\"type\":\"button\",\"loading\":_vm.loading},on:{\"click\":function($event){return _vm.skipOnboarding()}}},[_c('i',{staticClass:\"far fa-arrow-right\"}),_vm._v(\" Zum neuen SpikeTime \")]),_c('br')],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport {OnBoardingEditModel} from '@/services/api/nswag/stapiclient_generated';\r\nimport {stAccountApi} from '@/services/st-api';\r\nimport {TimeEntryStore} from '@/store/time-entry-store';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class OnBoardingMigration extends Vue {\r\n showOnboarding = true;\r\n loading: boolean = false;\r\n\r\n onboardingModel: OnBoardingEditModel = OnBoardingEditModel.fromJS({});\r\n\r\n async mounted() {\r\n }\r\n\r\n async skipOnboarding() {\r\n try {\r\n this.loading = true;\r\n await stAccountApi.skipOnBoarding();\r\n await this.endOnboarding();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async endOnboarding() {\r\n this.showOnboarding = false;\r\n await UserStore.reloadStore();\r\n await this.$router.push({ name: 'TimeEntries' })\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoardingMigration.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnBoardingMigration.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OnBoardingMigration.vue?vue&type=template&id=323262b4&\"\nimport script from \"./OnBoardingMigration.vue?vue&type=script&lang=ts&\"\nexport * from \"./OnBoardingMigration.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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\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\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\nimport StInput from '@/components/basic/StInput.vue';\n\nimport { notifyError, notifySuccess } from '@/utlitities/notifications';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport MainMenu from '@/components/main-menu/MainMenu.vue';\nimport { UserStore } from '@/store/user-module';\nimport { AppUserViewModel, MenuColorEnum, SupportRequestModel } from '@/services/api/nswag/stapiclient_generated';\nimport { stImpersonationApi, stAuthenticationApi, supportApi, stAppUserApi } from '@/services/st-api';\nimport { StopwatchStore } from '@/store/stopwatch-store';\nimport { AccountStore } from '@/store/account-module';\nimport { getHoursFromSeconds } from '@/utlitities/helper';\nimport OnBoarding from '@/views/OnBoarding/OnBoarding.vue';\nimport OnBoardingTour from '@/views/OnBoarding/OnBoardingTour.vue';\nimport OnBoardingMigration from '@/views/OnBoarding/OnBoardingMigration.vue';\nimport StProgress from '@/components/basic/StProgress.vue';\nimport StNotification from '@/components/basic/StNotification.vue';\nimport {TimeEntryStore} from '@/store/time-entry-store';\nimport MainMenuItem from \"@/components/main-menu/MainMenuItem.vue\";\n\n@Component({\n components: {\n MainMenuItem,\n StNotification,\n StProgress,\n OnBoardingTour,\n OnBoarding,\n OnBoardingMigration,\n MainMenu,\n StInput,\n },\n})\nexport default class DefaultLayout extends Vue {\n showFeedbackWindow = false;\n\n feedbackSending = false;\n supportRequestModel: SupportRequestModel = SupportRequestModel.fromJS({});\n showMenu = false;\n untouched = true;\n settingsOpen = false;\n\n appTitle: string = document.title;\n\n get accountPaymentIsSetup() {\n return UserStore.userSettings.paymentStatus.paymentIsSetup;\n }\n\n get dataLoaded() {\n return UserStore.dataLoaded;\n }\n\n goToTimeEntries() {\n this.$router.push({ name: 'TimeEntries' });\n }\n\n get stopwatchRunning() {\n return StopwatchStore.IsRunning;\n }\n\n get stopwatchModel() {\n return StopwatchStore.StopwatchModel;\n }\n\n get durationSeconds() {\n return StopwatchStore.IsRunning ? StopwatchStore.RunningSeconds : 0;\n }\n\n get userSettings() {\n return UserStore.userSettings;\n }\n\n get isMigratedFromSt2() {\n return this.userSettings.isMigratedFromSt2;\n }\n\n get showOnboarding() {\n return !this.userSettings.onboardingCompleted;\n }\n\n @Watch('stopwatchRunning')\n @Watch('durationSeconds')\n adjustTitle() {\n if (this.stopwatchRunning) {\n document.title = getHoursFromSeconds(this.durationSeconds) + ' - ' + this.appTitle;\n } else {\n document.title = this.appTitle;\n }\n }\n\n interval: any;\n\n async mounted() {\n this.$router.afterEach((to, from) => (this.showMenu = false));\n\n if (UserStore.isLoggedIn) {\n await this.$root.$stHub.start();\n await this.$root.$stHub.logon();\n }\n\n this.interval = setInterval(async () => {\n if (this.$root.$stHub.getIsDisconnected() && UserStore.isLoggedIn) {\n await this.$root.$stHub.start();\n await this.$root.$stHub.logon();\n }\n }, 10000);\n }\n\n async destroyed() {\n clearInterval(this.interval);\n await this.$root.$stHub.logoff();\n await this.$root.$stHub.stop();\n }\n\n get useProjectTimeTracking(){\n return !UserStore.userSettings.useBasicTimeTracking && !UserStore.userSettings.isBasicTimeTrackingUser\n }\n\n get useAbsences() {\n return UserStore.userSettings.useAbsences;\n }\n\n get stopwatch() {\n return StopwatchStore.StopwatchModel;\n }\n\n get logoUrl() {\n return AccountStore.logo;\n }\n\n get menuClass() {\n return UserStore.userSettings.menuColor.toString().toLowerCase();\n }\n\n get lightMenu() {\n switch (UserStore.userSettings.menuColor) {\n case MenuColorEnum.Dark:\n return false;\n case MenuColorEnum.Light:\n return true;\n case MenuColorEnum.Primary:\n return !UserStore.primaryColorIsDark;\n case MenuColorEnum.Secondary:\n return !UserStore.secondaryColorIsDark;\n }\n }\n\n get appIsReady(): boolean {\n return AccountStore.isLoaded;\n }\n\n async impersonate(id: number) {\n await stImpersonationApi.impersonateUser(id);\n location.reload();\n }\n\n async logout() {\n await stAuthenticationApi.logout();\n UserStore.resetStore();\n TimeEntryStore.Reset(true);\n await this.$router.push({ name: 'Login' });\n }\n\n async stopImpersonation() {\n await stImpersonationApi.stopImpersonation();\n location.reload();\n }\n\n get userName() {\n return UserStore.userSettings.appUserName;\n }\n\n setShowFeedback(show: boolean) {\n if (show) {\n this.supportRequestModel.email = UserStore.currentUser.email;\n }\n this.showFeedbackWindow = show;\n }\n\n async submitFeedback() {\n this.feedbackSending = true;\n\n try {\n await supportApi.sendSupportRequest(this.supportRequestModel);\n this.setShowFeedback(false);\n notifySuccess('Danke! Ihre Nachricht wurde gesendet.');\n this.supportRequestModel.text = '';\n } catch (err) {\n notifyError('Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.');\n } finally {\n this.feedbackSending = false;\n }\n }\n\n toggleMenu() {\n this.showMenu = !this.showMenu;\n this.untouched = false;\n }\n\n goToMigration() {\n this.$router.push({ name: 'Migration' });\n }\n\n goToUserSettings() {\n this.$router.push({ name: 'UserSettings' });\n }\n\n\n sendingEmail = false;\n displaySendEmail = true;\n\n async resendActivationMail() {\n this.sendingEmail = true;\n await stAppUserApi.resendAccountActivation();\n this.sendingEmail = false;\n this.displaySendEmail = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefaultLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefaultLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DefaultLayout.vue?vue&type=template&id=20851a24&\"\nimport script from \"./DefaultLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./DefaultLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DefaultLayout.vue?vue&type=style&index=0&id=20851a24&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',[_vm._t(\"default\")],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue, Watch} from \"vue-property-decorator\";\n\n@Component({\n components: {\n },\n})\nexport default class StCollapse extends Vue {\n @Prop()visible!:boolean;\n @Prop()noCloseAnimation!:boolean;\n\n get hasCloseAnimation(){\n return this.noCloseAnimation == undefined;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StCollapse.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StCollapse.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StCollapse.vue?vue&type=template&id=daefce46&\"\nimport script from \"./StCollapse.vue?vue&type=script&lang=ts&\"\nexport * from \"./StCollapse.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StCollapse.vue?vue&type=style&index=0&id=daefce46&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"bg-transparent\"},[_c('div',{staticClass:\"flex justify-between items-center rounded-sm shadow\",class:[{'cursor-pointer': _vm.collapseMode},_vm.getHeaderColor, {'mb-4': !_vm.isVisible}]},[_c('span',{staticClass:\"py-4 px-8 flex items-center w-full\",on:{\"click\":_vm.toggleVisible}},[(_vm.collapseMode)?[(_vm.isVisible)?_c('i',{staticClass:\"fa fa-caret-down w-10\"}):_vm._e(),(!_vm.isVisible)?_c('i',{staticClass:\"fa fa-caret-up w-10\"}):_vm._e()]:_vm._e(),_c('span',{staticClass:\"text-lg w-full\"},[_vm._t(\"header\")],2)],2)]),_c('st-collapse',{attrs:{\"visible\":_vm.isVisible}},[_c('div',{staticClass:\"pb-2\"},[_vm._t(\"default\")],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\n\n@Component({\n components: {},\n})\nexport default class StListWrap extends Vue {\n private visible: boolean = true;\n\n @Prop()headerColor!: string;\n @Prop()collapseMode!: boolean;\n @Prop()defaultCollapsed!: boolean;\n\n get isVisible(){\n return this.visible || !this.collapseMode;\n }\n\n toggleVisible(){\n if(this.collapseMode){\n this.visible = !this.visible;\n }\n }\n\n created(){\n this.visible = !this.defaultCollapsed;\n }\n\n get getHeaderColor(){\n if(!this.headerColor){\n return 'bg-green-500 text-gray-900';\n }\n\n return this.headerColor;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListWrap.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListWrap.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StListWrap.vue?vue&type=template&id=31fdcaa0&\"\nimport script from \"./StListWrap.vue?vue&type=script&lang=ts&\"\nexport * from \"./StListWrap.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"unauthorized-layout\"},[_c('div',{staticClass:\"header st-header-container\"}),_c('div',{staticClass:\"content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {\n },\n})\nexport default class UnauthorizedLayout extends Vue {}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnauthorizedLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnauthorizedLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UnauthorizedLayout.vue?vue&type=template&id=0fb7e2d1&\"\nimport script from \"./UnauthorizedLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./UnauthorizedLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UnauthorizedLayout.vue?vue&type=style&index=0&id=0fb7e2d1&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"auth-layout min-h-screen\"},[_c('div',{staticClass:\"flex flex-col min-h-screen sm:flex-row items-center md:items-start sm:justify-center md:justify-end flex-auto min-w-0\"},[_c('div',{staticClass:\"relative hidden md:flex flex-auto items-center justify-center w-1/2 min-h-screen p-16 overflow-hidden bg-green-500 text-white\"},[_c('div',{staticClass:\"w-full max-w-md z-10\"},[_c('div',{staticClass:\"text-xxl font-bold leading-tight\"},[_c('div',[_vm._v(_vm._s(_vm.$t('Zeiterfassung für kleine Unternehmen und Freiberufler')))])]),_c('div',{staticClass:\"mt-3 opacity-70 text-lg\"},[_vm._v(\" \"+_vm._s(_vm.$t('Online Zeiterfassung für kleine Unternehmen und Freiberufler. Arbeitszeiten erfassen, übersichtlich auswerten und in Rechnung stellen.'))+\" \")])]),_c('div',{staticClass:\"svg absolute bottom-0 left-0 z-0\"},[_c('svg',{attrs:{\"height\":\"500\",\"width\":\"300\"}},[_c('path',{attrs:{\"d\":\"M 0 100 C 50 100, 200 400, 300 500 L 0 500 Z\",\"fill\":\"#579f57\"}}),_c('path',{attrs:{\"d\":\"M 0 220 C 50 220, 200 400, 300 500 L 0 500 Z\",\"fill\":\"#4c914c\"}})])])]),_c('div',{staticClass:\"md:flex md:items-center md:justify-start w-full sm:w-auto md:min-h-screen md:w-1/2 py-8 px-4 sm:p-12 md:p-16 sm:rounded-lg md:rounded-none sm:shadow-md md:shadow-none sm:bg-card\"},[_c('div',{staticClass:\"w-full max-w-80 sm:w-80 flex-1\"},[_vm._t(\"default\")],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n components: {},\r\n})\r\nexport default class AuthLayout extends Vue {}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthLayout.vue?vue&type=template&id=42892b44&\"\nimport script from \"./AuthLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./AuthLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AuthLayout.vue?vue&type=style&index=0&id=42892b44&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import router from '@/router/router';\r\nimport axios , { AxiosRequestConfig } from 'axios';\r\nimport {notifyError} from '@/utlitities/notifications';\r\n\r\nexport function setupAxios(){\r\n axios.defaults.withCredentials = true;\r\n\r\n axios.interceptors.request.use((config: AxiosRequestConfig) => {\r\n let header: any = {};\r\n\r\n header['Accept-Language'] = 'de';\r\n header['Content-Type'] = 'application/json';\r\n header['Pragma'] = 'no-cache';\r\n config.headers = header;\r\n return config;\r\n }, (err) => {\r\n return Promise.reject(err)\r\n });\r\n\r\n axios.interceptors.response.use((resp) => {\r\n return resp;\r\n }, async (error) => {\r\n console.dir(error.response.status)\r\n if (error.response && error.response.status === 401) {\r\n await router.push({name: 'Login'});\r\n }\r\n\r\n else if (error.response && error.response.status === 404) {\r\n await router.push({name: 'NotFound'});\r\n }\r\n\r\n else if(error.response && error.response.status === 400){\r\n notifyError(error.response.data);\r\n await router.push({name: 'NetworkError'});\r\n }\r\n\r\n else if(error.response && error.response.status === 403){\r\n notifyError(\"Zugriff verweigert\");\r\n await router.push({name: 'Login'});\r\n }\r\n\r\n else if(error.response && error.response.status === 406){\r\n notifyError(error.response.data.Message);\r\n }\r\n\r\n else if(error.response && error.response.status === 500){\r\n notifyError('Unerwarteter Fehler');\r\n await router.push({name: 'NetworkError'});\r\n }else{\r\n await router.push({name: 'NetworkError'});\r\n }\r\n\r\n return Promise.reject(error);\r\n });\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn relative\",class:[_vm.successButtonColor],attrs:{\"disabled\":_vm.disabled || _vm.loading,\"type\":_vm.type ? _vm.type : 'button'},on:{\"click\":_vm.click}},[(_vm.loading)?_c('div',{staticClass:\"absolute z-40 flex items-center justify-around bg-white opacity-80\",staticStyle:{\"top\":\"0\",\"left\":\"0\",\"right\":\"0\",\"bottom\":\"0\"}},[_c('st-loader-icon',{staticClass:\"small\"})],1):_vm._e(),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}]},[[_c('div',{staticClass:\"flex items-center w-full justify-center\"},[(_vm.icon)?_c('i',{staticClass:\"mr-4\",class:_vm.icon}):_vm._e(),_c('div',[_vm._t(\"default\")],2)])]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loader one\",class:{'secondary': !_vm.primaryColorIsDark}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class StLoaderIcon extends Vue {\r\n get primaryColorIsDark(){\r\n return UserStore.primaryColorIsDark;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StLoaderIcon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StLoaderIcon.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StLoaderIcon.vue?vue&type=template&id=273755a6&scoped=true&\"\nimport script from \"./StLoaderIcon.vue?vue&type=script&lang=ts&\"\nexport * from \"./StLoaderIcon.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StLoaderIcon.vue?vue&type=style&index=0&id=273755a6&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"273755a6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport StLoaderIcon from '@/components/basic/StLoaderIcon.vue';\nimport {UserStore} from '@/store/user-module';\nimport {SuccessButtonColorEnum} from '@/services/api/nswag/stapiclient_generated';\nimport {successButtonColorClass} from '@/utlitities/color';\n\n@Component({\n components: {StLoaderIcon},\n})\nexport default class StButton extends Vue {\n @Prop() disabled!: boolean;\n @Prop() loading!: boolean;\n @Prop() icon!: string;\n @Prop() type!: string;\n @Prop() tooltip!: string;\n\n get successButtonColor(){\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\n }\n\n @Emit('click')\n click() {\n return;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StButton.vue?vue&type=template&id=78fcd04a&\"\nimport script from \"./StButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./StButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StButton.vue?vue&type=style&index=0&id=78fcd04a&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"selectbtns flex\"},_vm._l((_vm.options),function(option){return _c('st-button',{key:option.value,class:{ 'shadow-inner-lg': option.value === _vm.value, 'bg-gray-300': option.value === _vm.value },attrs:{\"icon\":option.icon},on:{\"click\":function($event){return _vm.input(option.value)}}},[_c('span',{staticClass:\"hidden md:inline\"},[_vm._v(_vm._s(option.text))])])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport StButton from '@/components/basic/StButton.vue';\n\n@Component({\n components: {\n StButton,\n },\n})\nexport default class StSelectButton extends Vue {\n @Prop() options!: { text: string; value: string; icon: string }[];\n @Prop() value!: string;\n\n @Emit('input')\n input(value: string) {\n return value;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSelectButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSelectButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StSelectButton.vue?vue&type=template&id=28e13c0c&\"\nimport script from \"./StSelectButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./StSelectButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StSelectButton.vue?vue&type=style&index=0&id=28e13c0c&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import {ValidationProvider, ValidationObserver, extend, setInteractionMode, validate} from 'vee-validate';\r\nimport * as rules from 'vee-validate/dist/rules';\r\n//@ts-ignore\r\nimport { messages } from 'vee-validate/dist/locale/de.json';\r\nimport Vue from 'vue';\r\n\r\nObject.keys(rules).forEach(rule => {\r\n extend(rule, {\r\n //@ts-ignore\r\n ...rules[rule], // copies rule configuration\r\n message: messages[rule] // assign message\r\n });\r\n});\r\n\r\nsetInteractionMode('aggressive');\r\n\r\nVue.component('vv-provider', ValidationProvider);\r\nVue.component('vv-observer', ValidationObserver);\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"bg-white mt-4 shadow rounded-sm\",class:{'shadow-none': _vm.hasParent, 'last-pb-4': _vm.hasParent}},[_c('div',{staticClass:\"flex items-center p-4\",class:_vm.headerClasses},[_vm._t(\"default\")],2),_c('st-collapse',{attrs:{\"visible\":_vm.editMode,\"noCloseAnimation\":\"\"}},[_c('div',{staticClass:\"border border-gray-300 py-4 px-8\"},[_vm._t(\"edit\")],2)]),_c('div',{staticClass:\"pl-14 border-top-0.5\"},[_vm._t(\"nested\")],2),_vm._t(\"append\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\n\n@Component({\n components: {},\n})\nexport default class StListItem extends Vue {\n @Prop() icon!: string;\n @Prop() editMode!: boolean;\n @Prop() headerClass!: string;\n @Prop() hasParent!: boolean;\n\n get headerClasses(){\n let result = this.headerClass;\n\n if(this.editMode){\n result = ' bg-green-500 text-gray-100';\n }\n\n return result;\n }\n\n get nested() {\n return this.$slots.nested;\n }\n\n get subheader() {\n return this.$slots.subheader;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StListItem.vue?vue&type=template&id=c84c38ba&\"\nimport script from \"./StListItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./StListItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StListItem.vue?vue&type=style&index=0&id=c84c38ba&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex\"},[(!_vm.awaitsConfirmation)?_c('st-button-round',{attrs:{\"small\":_vm.small,\"tooltipOnBody\":_vm.tooltipOnBody,\"tooltipText\":_vm.tooltipText},on:{\"click\":_vm.startDelete}},[_vm._t(\"default\")],2):_c('div',{staticClass:\"flex\"},[_c('st-button-round',{attrs:{\"small\":_vm.small,\"tooltipOnBody\":_vm.tooltipOnBody,\"tooltipText\":_vm.confirmTooltipText,\"btn-class\":\"bg-red-400 hover:bg-red-600 text-white\",\"loading\":_vm.loading},on:{\"click\":_vm.confirm}},[_c('i',{staticClass:\"far fa-trash\"})]),_c('st-button-round',{attrs:{\"small\":_vm.small,\"tooltipOnBody\":_vm.tooltipOnBody,\"tooltipText\":_vm.$t('Abbrechen'),\"btn-class\":\"bg-green-400 hover:bg-green-600 text-white\"},on:{\"click\":_vm.cancelDelete}},[_c('i',{staticClass:\"fa fa-times\"})])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport { VPopover } from 'v-tooltip';\n\n@Component({\n components: {\n VPopover,\n },\n})\nexport default class StConfirmButton extends Vue {\n @Prop() tooltipText!: string;\n @Prop() confirmTooltipText!: string;\n @Prop() loading!: boolean;\n @Prop() tooltipOnBody!: boolean;\n @Prop() small!: boolean;\n\n timeout: any;\n awaitsConfirmation: boolean = false;\n\n startDelete() {\n this.awaitsConfirmation = true;\n this.$emit('startConfirm');\n this.timeout = setTimeout(() => {\n this.awaitsConfirmation = false;\n this.$emit('endConfirm');\n clearTimeout(this.timeout);\n }, 6000);\n }\n\n cancelDelete() {\n if (this.timeout) {\n this.awaitsConfirmation = false;\n this.$emit('endConfirm');\n clearTimeout(this.timeout);\n }\n }\n\n beforeDestroy(){\n this.cancelDelete();\n }\n\n @Emit('confirm')\n confirm() {\n return;\n }\n\n @Emit('doubleConfirm')\n doubleConfirm() {\n return;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StConfirmButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StConfirmButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StConfirmButton.vue?vue&type=template&id=7f08fa05&\"\nimport script from \"./StConfirmButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./StConfirmButton.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('st-confirm-button',{attrs:{\"small\":_vm.small,\"loading\":_vm.loading,\"tooltipOnBody\":_vm.tooltipOnBody,\"tooltipText\":_vm.$t('Löschen'),\"confirmTooltipText\":_vm.$t('Löschen')},on:{\"confirm\":_vm.doDelete,\"startConfirm\":_vm.startDelete,\"endConfirm\":_vm.endDelete}},[_vm._t(\"default\",function(){return [_c('i',{staticClass:\"far fa-trash\"})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Emit } from 'vue-property-decorator';\n\n@Component({\n components: {},\n})\nexport default class StDeleteButton extends Vue {\n @Prop() loading!: boolean;\n @Prop() tooltipOnBody!: boolean;\n @Prop() small!: boolean;\n\n @Emit('delete')\n doDelete() {\n return;\n }\n\n @Emit('startDelete')\n startDelete(){\n return;\n }\n\n @Emit('endDelete')\n endDelete(){\n return;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDeleteButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDeleteButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StDeleteButton.vue?vue&type=template&id=45704be1&\"\nimport script from \"./StDeleteButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./StDeleteButton.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],class:[_vm.successButtonColor, { 'mr-4': !_vm.noMargin }]},[_c('button',_vm._b({staticClass:\"relative rounded-full bg-white shadow flex items-center justify-center last:mr-0 transition transition-duration-100 outline-none\",class:[_vm.btnClass, { 'crossed': _vm.crossed, 'hover:bg-gray-300': !_vm.loading && !_vm.disabled, 'cursor-auto': _vm.loading || _vm.disabled, 'opacity-50': _vm.disabled, 'h-14 w-14': !_vm.small, 'h-12 w-12': _vm.small }],attrs:{\"type\":\"button\",\"disabled\":_vm.loading || _vm.disabled},on:{\"click\":function($event){$event.stopPropagation();return _vm.click()},\"mousedown\":function($event){$event.preventDefault();}}},'button',_vm.$attrs,false),[(!_vm.loading)?[_vm._t(\"default\")]:_vm._e(),(_vm.loading)?_c('div',{staticClass:\"absolute rounded-full z-40 flex items-center justify-around bg-white opacity-80\",staticStyle:{\"top\":\"0\",\"left\":\"0\",\"right\":\"0\",\"bottom\":\"0\"}},[_c('st-loader-icon',{staticClass:\"small\"})],1):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport StLoaderIcon from \"@/components/basic/StLoaderIcon.vue\";\r\nimport { UserStore } from \"@/store/user-module\";\r\nimport { successButtonColorClass } from \"@/utlitities/color\";\r\n\r\n@Component({\r\n components: { StLoaderIcon },\r\n inheritAttrs: false\r\n})\r\nexport default class StRoundButton extends Vue {\r\n @Prop() tooltipText!: string;\r\n @Prop() btnClass!: string;\r\n @Prop() loading!: boolean;\r\n @Prop() disabled!: boolean;\r\n @Prop() noMargin!: boolean;\r\n @Prop() tooltipOnBody!: boolean;\r\n @Prop() small!: boolean;\r\n @Prop() isInTrichSelect!: boolean;\r\n @Prop() crossed!: boolean;\r\n\r\n get tooltip() {\r\n if (!this.tooltipOnBody) {\r\n return {\r\n content: this.tooltipText\r\n };\r\n } else {\r\n return {\r\n content: this.tooltipText,\r\n boundariesElement: \"body\"\r\n };\r\n }\r\n }\r\n\r\n get successButtonColor() {\r\n return successButtonColorClass(UserStore.userSettings.successButtonColor);\r\n }\r\n\r\n click() {\r\n if (!this.loading && !this.disabled) {\r\n this.$emit(\"click\");\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StButtonRound.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StButtonRound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StButtonRound.vue?vue&type=template&id=31adfadc&scoped=true&\"\nimport script from \"./StButtonRound.vue?vue&type=script&lang=ts&\"\nexport * from \"./StButtonRound.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StButtonRound.vue?vue&type=style&index=0&id=31adfadc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31adfadc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex items-center flex-grow st-list-item-header\"},[(_vm.icon)?_c('i',{staticClass:\"icon fa-lg\",class:_vm.icon}):_vm._e(),_c('div',{staticClass:\"flex flex-col flex-grow\"},[(_vm.subheader)?[_c('span',{staticClass:\"text-base font-bold\"},[_vm._t(\"default\")],2),_c('span',{staticClass:\"text-sm\"},[_vm._t(\"subheader\")],2)]:[_c('span',{staticClass:\"text-base\"},[_vm._t(\"default\")],2)]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\n\n@Component({\n components: {\n },\n})\nexport default class StListItemHeader extends Vue {\n @Prop() icon!: string;\n\n get subheader() {\n return this.$slots.subheader;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItemHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItemHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StListItemHeader.vue?vue&type=template&id=73a1bc82&\"\nimport script from \"./StListItemHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./StListItemHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StListItemHeader.vue?vue&type=style&index=0&id=73a1bc82&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"w-full flex items-center\"},[_c('div',{staticClass:\"flex-grow flex\"},[_c('div',{staticClass:\"w-full\"},[_vm._t(\"default\")],2)]),(!_vm.noSideButtons)?_c('div',{staticClass:\"flex items-center justify-end\",class:_vm.getClasses},[_vm._t(\"buttons\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\n\n@Component({\n components: {\n },\n})\nexport default class StListItemWrap extends Vue {\n @Prop()type!: string;\n @Prop()noSideButtons!: boolean;\n\n get hasButtons(){\n return this.$slots.buttons;\n }\n\n get getClasses(){\n if(!this.type){\n if(!this.hasButtons){\n return 'xxl:min-w-500 xxl:max-w-500'\n }\n return 'min-w-500 max-w-500'\n }\n\n if(this.type == 'rate'){\n if(!this.hasButtons){\n return 'xxl:min-w-400 xxl:max-w-400'\n }\n return 'min-w-400 max-w-400'\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItemWrap.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StListItemWrap.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StListItemWrap.vue?vue&type=template&id=2e6f1187&\"\nimport script from \"./StListItemWrap.vue?vue&type=script&lang=ts&\"\nexport * from \"./StListItemWrap.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"block flex items-center \",class:{'cursor-pointer': !_vm.disabled}},[_c('input',_vm._b({staticClass:\"rounded border-gray-400 text-green-600 select-none shadow-sm focus:border-green-300\\n focus:ring focus:ring-green-200 focus:ring-opacity-50 disabled:opacity-50\",attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"checked\":_vm.value},on:{\"change\":_vm.update}},'input',_vm.$attrs,false)),(_vm.name)?_c('span',{staticClass:\"ml-4 select-none\"},[_vm._v(_vm._s(_vm.$t(_vm.name)))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component({\n inheritAttrs: false,\n components: {},\n})\nexport default class StCheckbox extends Vue {\n @Prop() name!: string;\n @Prop() value!: boolean;\n @Prop() disabled!: boolean;\n\n update(event: any)\n {\n this.$emit('input', event.target.checked);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StCheckbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StCheckbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StCheckbox.vue?vue&type=template&id=8d898f8a&\"\nimport script from \"./StCheckbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./StCheckbox.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.minLoading || _vm.delayLoadingFlag)?_c('div',[(_vm.absolute)?_c('div',{staticClass:\"w-full absolute flex items-start justify-around z-30 py-8 bg-white\",class:[_vm.overlayClass],staticStyle:{\"top\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"right\":\"0\"}},[_c('div',{staticClass:\"h-full flex items-center justify-center\",staticStyle:{\"max-height\":\"200px\"}},[_vm._t(\"default\",function(){return [_c('st-loader-icon')]})],2)]):_c('div',{staticClass:\"w-full h-64 flex justify-center items-center\"},[_vm._t(\"default\",function(){return [_c('st-loader-icon')]})],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { DelayLoading, MinLoadingTime } from '@/utlitities/delay-loading';\nimport StLoaderIcon from '@/components/basic/StLoaderIcon.vue';\n\n@Component({\n components: {StLoaderIcon},\n})\nexport default class StLoading extends Vue {\n @Prop({ default: true }) absolute!: boolean;\n @Prop({ default: 'opacity-80' }) overlayClass!: string;\n @Prop() centered!: boolean;\n @Prop() loading!: boolean;\n @Prop() delayLoading!: boolean;\n\n minLoadingTime = new MinLoadingTime();\n delayLoadingTime = new DelayLoading();\n\n get minLoading() {\n this.minLoadingTime.val = this.loading;\n return this.minLoadingTime.val;\n }\n\n get delayLoadingFlag() {\n this.delayLoadingTime.val = this.delayLoading;\n return this.delayLoadingTime.val;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StLoading.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StLoading.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StLoading.vue?vue&type=template&id=02394334&\"\nimport script from \"./StLoading.vue?vue&type=script&lang=ts&\"\nexport * from \"./StLoading.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"whitespace-pre-wrap\"},[(!_vm.editMode)?[_c('div',{staticClass:\"flex\",class:_vm.textFlexClassVar},[_vm._t(\"default\",function(){return [_c('span',[_vm._v(_vm._s(_vm.value))])]}),(!_vm.editDisabled)?[(!_vm.value && _vm.placeholder)?_c('st-badge',{attrs:{\"bg-class\":\"bg-gray-300 text-gray-800\"}},[_vm._v(_vm._s(_vm.placeholder))]):_vm._e(),(!_vm.hideEditOnEmpty || _vm.value)?_c('st-button-round',{staticClass:\"small ml-4\",attrs:{\"tooltip-text\":_vm.editTooltip},on:{\"click\":_vm.setEditModeTrue}},[_c('i',{staticClass:\"far fa-pen\"})]):_vm._e()]:_vm._e()],2)]:[_c('div',{staticClass:\"flex\",class:_vm.editBtnFlexClassVar},[_vm._t(\"input\"),_c('div',{staticClass:\"flex ml-2\"},[_c('st-button-round',{staticClass:\"small success\",attrs:{\"tooltip-text\":_vm.$t('Übernehmen')},on:{\"click\":function($event){_vm.editMode = false}}},[_c('i',{staticClass:\"far fa-check\"})]),_c('st-button-round',{staticClass:\"small danger\",attrs:{\"tooltip-text\":_vm.$t('Abbrechen')},on:{\"click\":_vm.reset}},[_c('i',{staticClass:\"far fa-times\"})])],1)],2)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Emit, Prop, Vue, Watch } from 'vue-property-decorator';\nimport StBadge from \"@/components/basic/StBadge.vue\";\n\n@Component({\n components: {StBadge},\n})\nexport default class StEditDiv extends Vue {\n @Prop() editTooltip!: string;\n @Prop() value!: string;\n @Prop() editBtnFlexClass!: string;\n @Prop() textFlexClass!: string;\n @Prop() placeholder!: string;\n @Prop() hideEditOnEmpty!: boolean;\n @Prop() editDisabled!: boolean;\n editMode: boolean = false;\n\n initialValue: string = '';\n\n get textFlexClassVar(){\n return this.textFlexClass ?? 'items-start';\n }\n\n get editBtnFlexClassVar(){\n return this.editBtnFlexClass ?? 'items-center';\n }\n\n setEditModeTrue(){\n this.editMode = true;\n this.$emit('editMode')\n }\n\n @Watch('editMode')\n editModeChanged() {\n if (this.editMode) {\n this.initialValue = this.value;\n }\n }\n\n @Emit('input')\n reset() {\n this.editMode = false;\n return this.initialValue;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StEditDiv.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StEditDiv.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StEditDiv.vue?vue&type=template&id=f978874e&\"\nimport script from \"./StEditDiv.vue?vue&type=script&lang=ts&\"\nexport * from \"./StEditDiv.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {},\n})\nexport default class ExportLayout extends Vue {}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExportLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExportLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExportLayout.vue?vue&type=template&id=26738555&\"\nimport script from \"./ExportLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExportLayout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import numeral from 'numeral';\r\n\r\nexport function setupNumeral(){\r\n numeral.register('locale', 'de', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: '€'\r\n }\r\n });\r\n\r\n}\r\n","import { Workbox } from 'workbox-window';\r\nlet wb: any | Workbox;\r\nif ('serviceWorker' in navigator) {\r\n // wb = new Workbox(`${process.env.BASE_URL}service-worker.js`);\r\n // wb.addEventListener('controlling', () => {\r\n // window.location.reload();\r\n // });\r\n // wb.register();\r\n wb=null;\r\n} else {\r\n wb = null;\r\n}\r\nexport default wb;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-8\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: {},\n})\nexport default class SharedLayout extends Vue {}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SharedLayout.vue?vue&type=template&id=7f3a2a3b&\"\nimport script from \"./SharedLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./SharedLayout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"fixed bg-gray-300 opacity-70 flex items-center justify-center\",staticStyle:{\"top\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"right\":\"0\",\"z-index\":\"99999\"}},[_c('i',{staticClass:\"far fa-spin fa-spinner fa-2x text-primary-normal\"})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport {DelayLoading} from '@/utlitities/delay-loading';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class ReloadLoading extends Vue {\r\n visible: boolean = false;\r\n\r\n private t: any;\r\n\r\n mounted(){\r\n if(this.t){\r\n clearTimeout(this.t);\r\n }\r\n\r\n this.t = setTimeout(()=>{\r\n this.visible = true;\r\n clearTimeout(this.t);\r\n },1000);\r\n }\r\n\r\n beforeDestroy(){\r\n if(this.t){\r\n clearTimeout(this.t);\r\n }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReloadLoading.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReloadLoading.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReloadLoading.vue?vue&type=template&id=04f064b6&\"\nimport script from \"./ReloadLoading.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReloadLoading.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { HubConnectionBuilder, HubConnectionState, LogLevel, RetryContext } from '@microsoft/signalr';\r\nimport { UserStore } from '@/store/user-module';\r\nimport { StopwatchStore } from '@/store/stopwatch-store';\r\nimport { TimeEntryStore } from '@/store/time-entry-store';\r\nimport { AbsenceStore } from '@/store/absence-store';\r\nimport { ApprovalStore } from '@/store/approval-store';\r\n\r\nconst stHub = {\r\n install(Vue: any) {\r\n const options: any = {};\r\n const apiBasePath = process.env.VUE_APP_APIURL!.replace(/\\/+$/, '');\r\n const connection = new HubConnectionBuilder()\r\n .withUrl(apiBasePath + '/sthub', options)\r\n .withAutomaticReconnect({\r\n nextRetryDelayInMilliseconds(retryContext: RetryContext): number | null {\r\n // let seconds = Math.floor(Math.random() * 30)\r\n // return seconds * 1000;\r\n return 10000;\r\n },\r\n })\r\n .configureLogging(LogLevel.Critical)\r\n .build();\r\n\r\n const stHub = new Vue();\r\n Vue.prototype.$stHub = stHub;\r\n\r\n connection.onreconnected(async () => {\r\n let milliSeconds = Math.floor(Math.random() * 20) * 1000;\r\n console.log(`Reconnected - retrying in ${milliSeconds}ms`);\r\n\r\n setTimeout(async () => {\r\n await UserStore.reloadStore();\r\n await StopwatchStore.loadStopwatch();\r\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\r\n }, milliSeconds)\r\n\r\n });\r\n\r\n connection.on('updateSettings', async (id) => {\r\n await UserStore.reloadStore();\r\n });\r\n\r\n connection.on('timeEntriesChange', async (id) => {\r\n await StopwatchStore.loadStopwatch();\r\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\r\n });\r\n\r\n connection.on('updateOpenAbsenceRequestCount', async (id) => {\r\n await AbsenceStore.getOpenAbsenceRequestCount();\r\n });\r\n\r\n connection.on('updateApprovalCount', async (id) => {\r\n await ApprovalStore.getOpenApprovalRequestCount();\r\n });\r\n\r\n connection.on('updateTimeEntryApprovals', async (id) => {\r\n await TimeEntryStore.LoadTimeEntryDays(TimeEntryStore.SelectedDate);\r\n await ApprovalStore.getModel();\r\n });\r\n\r\n stHub.getIsDisconnected = function () {\r\n return connection.state == HubConnectionState.Disconnected;\r\n };\r\n\r\n stHub.getIsConnected = function () {\r\n return connection.state == HubConnectionState.Connected;\r\n };\r\n\r\n stHub.logon = async function () {\r\n await connection.invoke('LoggedOn');\r\n };\r\n\r\n stHub.logoff = async function () {\r\n await connection.invoke('LoggedOff');\r\n };\r\n\r\n stHub.start = async function () {\r\n await connection.start();\r\n };\r\n\r\n stHub.stop = async function () {\r\n try {\r\n await connection.stop();\r\n } catch (err) {\r\n setTimeout(() => stHub.stop(), 5000);\r\n }\r\n };\r\n //\r\n // connection.onclose(() => {\r\n // stHub.start();\r\n // });\r\n },\r\n};\r\n\r\nexport default stHub;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-separator\",class:[_vm.successButtonColor]},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport {successButtonColorClass} from '@/utlitities/color';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class StSeparator extends Vue {\r\n get successButtonColor(){\r\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSeparator.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSeparator.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StSeparator.vue?vue&type=template&id=08ef0ebc&\"\nimport script from \"./StSeparator.vue?vue&type=script&lang=ts&\"\nexport * from \"./StSeparator.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StSeparator.vue?vue&type=style&index=0&id=08ef0ebc&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('vv-provider',{staticClass:\"w-full flex flex-col\",attrs:{\"name\":_vm.name,\"rules\":_vm.rules,\"immediate\":_vm.valImmediate},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"relative flex w-full flex-wrap items-stretch\"},[(_vm.label)?_c('div',{staticClass:\"form-label\"},[_vm._v(_vm._s(_vm.$t(_vm.label)))]):_vm._e(),_c('div',{staticClass:\"flex w-full\"},[_c('input',_vm._b({ref:\"inputfield\",staticClass:\"form-control\",class:[{ error: !!errors[0] }, _vm.inputClass, _vm.successButtonColor],attrs:{\"disabled\":_vm.disabled},domProps:{\"value\":_vm.decimalValue},on:{\"input\":_vm.input,\"blur\":_vm.inputCurrency,\"focus\":function($event){return $event.target.select()}}},'input',_vm.$attrs,false)),(_vm.addonText)?_c('div',{staticClass:\"form-control border-l-0 flex-shrink w-auto bg-gray-200 rounded-none\",class:{'bg-gray-300 border-gray-400': _vm.disabled}},[_vm._v(\" \"+_vm._s(_vm.addonText)+\" \")]):_vm._e()]),_c('span',{staticClass:\"text-red-500 text-sm\"},[_vm._v(_vm._s(errors[0]))])])]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Emit, Prop, Vue } from 'vue-property-decorator';\nimport {UserStore} from '@/store/user-module';\nimport {successButtonColorClass} from '@/utlitities/color';\n\n@Component({\n inheritAttrs: false,\n})\nexport default class StDecimalInput extends Vue {\n @Prop() label!: string;\n @Prop() name!: string;\n @Prop() rules!: string;\n @Prop() value!: any;\n @Prop() inputClass!: string;\n @Prop() valImmediate!: boolean;\n @Prop() focus!: boolean;\n @Prop() disabled!: boolean;\n @Prop() addonText!: string;\n\n mounted() {\n if (this.focus) (this.$refs.inputfield as HTMLInputElement).focus();\n }\n\n get successButtonColor(){\n return successButtonColorClass(UserStore.userSettings.successButtonColor)\n }\n\n get decimalValue() {\n if (this.value != 0 && (!this.value || !this.value.toFixed)) {\n return this.value;\n }\n\n return this.value\n .toFixed(2)\n .replace('.', ',')\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.');\n }\n\n @Emit('input')\n inputCurrency(event: any) {\n this.$forceUpdate();\n\n let val = event.target.value;\n val = val.replaceAll('.', '');\n val = val.replace(',', '.');\n\n if (!parseFloat(val)) {\n return 0;\n }\n return parseFloat(val);\n }\n\n @Emit('input')\n input(event: any) {\n return event.currentTarget.value;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDecimalInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StDecimalInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StDecimalInput.vue?vue&type=template&id=004c3794&\"\nimport script from \"./StDecimalInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./StDecimalInput.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-8 px-16 relative flex flex-col justify-between\",staticStyle:{\"min-height\":\"27.7cm\",\"font-size\":\"9pt !important\"}},[_c('div',[_vm._m(0),_c('div',{staticClass:\"text-xl font-bold mt-16 mb-16\"},[_vm._v(\"Rechnung\")]),_c('div',{staticClass:\"text-sm underline\"},[_vm._v(_vm._s(_vm.model.addressFrom))]),_c('div',{staticClass:\"whitespace-pre-wrap col-span-4 mt-4\"},[_c('span',[_vm._v(_vm._s(_vm.model.addressTo))])]),_c('div',{staticClass:\"grid grid-cols-7\"},[_c('div',{staticClass:\"col-span-6 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsdatum'))+\":\")]),_c('div',{staticClass:\"col-span-1 pl-4 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.model.invoiceDate)))])]),_c('div',{staticClass:\"text-lg font-bold mt-8\"},[_vm._v(\"Rechnungsnummer: \"+_vm._s(_vm.model.invoiceNo))]),_c('div',{staticClass:\"text-lg font-bold mt-4\"},[_vm._v(_vm._s(_vm.model.title))]),_c('div',{staticClass:\"grid grid-cols-1 mt-16\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.finalDescription}})],1)]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 mt-8\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(_vm.$t('Position')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Anzahl')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Einzelpreis')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t('Gesamtpreis')))])]),_vm._l((_vm.model.positions),function(pos){return _c('div',{key:pos.id,staticClass:\"grid grid-cols-6 leading-8\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(pos.position))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(pos.quantity))+\" \"+_vm._s(pos.unit))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.rateAmount)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.revenue)))])])}),_c('hr',{staticClass:\"my-2\"}),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[(_vm.model.vatRate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag (netto)'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Rechnungsbetrag'))+\" \")])]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.netAmount)))])]),(_vm.model.vatRate)?[_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Umsatzsteuer'))+\" (\"+_vm._s(_vm.model.vatRate)+\" %)\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.vatAmount)))])]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t('Rechnungsbetrag (brutto)')))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.grossAmount)))])])]:_vm._e(),_c('div',{staticClass:\"grid grid-cols-1 mt-16\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.paymentTerms}},[_vm._v(\" \"+_vm._s(_vm.model.paymentTerms))])],1)])],2),_vm._m(1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center font-bold text-blue-500 pb-8 border-b-2 border-blue-500\"},[_c('div',{staticClass:\"text-xl\"},[_vm._v(\"h.i.p\")]),_c('div',{staticClass:\"text-lg\"},[_vm._v(\"GmbH\")]),_c('div',{staticClass:\"text-lg\"},[_vm._v(\"Bereich Technik\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"grid grid-cols-8\"},[_c('div',{staticClass:\"border-b-2 border-blue-500\"}),_c('div',{staticClass:\"col-span-6 text-blue-500 font-bold text-center mb-4\",staticStyle:{\"font-size\":\"10pt !important\"}},[_vm._v(\" h.i.p GmbH * Bereich Technik * Jungfernstieg 7 * 20354 Hamburg \")]),_c('div',{staticClass:\"border-b-2 border-blue-500\"})]),_c('div',{staticClass:\"flex w-full justify-between font-bold text-sm text-blue-500\"},[_c('div',[_vm._v(\" Hamburger Sparkasse\"),_c('br'),_vm._v(\" BIC: HASPDEHHXXX\"),_c('br'),_vm._v(\" IBAN: DE71 2005 0550 1265 1437 58 \")]),_c('div',[_vm._v(\" USt-ID: DE191445589\"),_c('br'),_vm._v(\" Handelsregister Hamburg HRB NR. 68649\"),_c('br'),_vm._v(\" Geschäftsführer: Eric Fischer \")]),_c('div',[_c('br'),_vm._v(\" Tel. 040 / 34 99 96 60\"),_c('br'),_vm._v(\" Fax. 040 / 34 99 96 66 \")])])])}]\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { OutgoingInvoiceViewModel} from '@/services/api/nswag/stapiclient_generated';\r\nimport {UserStore} from '@/store/user-module';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class OutgoingInvoiceExportHip extends Vue {\r\n @Prop() model!: OutgoingInvoiceViewModel;\r\n @Prop() logoUrl!: string;\r\n @Prop() finalDescription!: string;\r\n\r\n get currency(){\r\n return UserStore.userSettings.currency;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportHIP.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportHIP.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceExportHIP.vue?vue&type=template&id=38a78a43&\"\nimport script from \"./OutgoingInvoiceExportHIP.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceExportHIP.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.appIsReady)?_c('div',[_c('link',{attrs:{\"rel\":\"stylesheet\",\"type\":\"text/css\",\"href\":\"/loading.css\"}}),_vm._m(0)]):_vm._e(),(_vm.appIsReady)?_c('div',{staticClass:\"default-layout\",class:[_vm.menuClass]},[_c('div',{staticClass:\"st-header flex items-center justify-between bg-primary-normal relative\"},[_c('div',{staticClass:\"xl:hidden mx-14 text-2xl font-normal flex items-center\"},[_c('a',{staticClass:\"-ml-8 pr-10 cursor-pointer\",on:{\"click\":_vm.toggleMenu}},[_c('i',{staticClass:\"fas fa-bars text-xl text-onbgprimary-normal\"})])]),_c('div',{staticClass:\"md:hidden\"})]),_c('transition',{attrs:{\"name\":\"menu-backdrop\"}},[(_vm.showMenu)?_c('div',{staticClass:\"backdrop xl:hidden w-full h-full fixed left-0 top-0 bg-gray-900 opacity-50 z-40\",on:{\"click\":_vm.toggleMenu}}):_vm._e()]),_c('div',{staticClass:\"relative\",class:{\n 'st-sidebar-left': true,\n untouched: _vm.untouched,\n open: _vm.showMenu,\n }},[_c('st-loading',{attrs:{\"loading\":!_vm.dataLoaded}}),_c('div',{staticClass:\"justify-center flex items-center border-gray-200 my-5\",class:{ 'border-gray-800 ': _vm.lightMenu },staticStyle:{\"height\":\"100px\"}},[(_vm.logoUrl)?_c('div',{staticClass:\"flex items-center px-5\",staticStyle:{\"height\":\"80px\"}},[_c('img',{staticClass:\"object-contain\",staticStyle:{\"height\":\"80px\"},attrs:{\"src\":_vm.logoUrl}})]):_c('div',{staticClass:\"flex items-center\"},[(_vm.lightMenu)?_c('img',{staticClass:\"object-contain h-14 mr-4\",attrs:{\"src\":require(\"../../public/SpikeTime_Grey.png\")}}):_c('img',{staticClass:\"object-contain h-14 mr-4\",attrs:{\"src\":require(\"../../public/SpikeTime_White.png\")}}),_c('span',{staticClass:\"font-bold font-sans text-xl\",class:{ 'text-gray-100': !_vm.lightMenu, 'text-gray-800': _vm.lightMenu }},[_vm._v(_vm._s(_vm.$t('SpikeTime')))])])]),_c('main-menu',{attrs:{\"admin\":true}})],1),_c('div',{staticClass:\"st-content shadow-inner flex flex-col flex-auto\"},[_c('div',{staticClass:\"flex flex-col flex-auto items-start w-full p-2 md:py-8 md:px-4\"},[_c('div',{staticClass:\"flex flex-wrap w-full\"},[_c('div',{staticClass:\"flex items-center justify-between w-full my-4 pl-4 pr-4 md:pr-0\"},[_vm._t(\"default\")],2)])])])],1):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loading-wrapper\"},[_c('div',{staticClass:\"loading-h1\"},[_c('img',{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/SpikeTime_Gradient.png\",\"height\":\"100\",\"width\":\"100\"}}),_c('div',{staticClass:\"loading-lds-ellipsis\",attrs:{\"id\":\"loader\"}},[_c('div'),_c('div'),_c('div'),_c('div')])])])}]\n\nexport { render, staticRenderFns }","\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\nimport StInput from '@/components/basic/StInput.vue';\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport MainMenu from '@/components/main-menu/MainMenu.vue';\nimport { UserStore } from '@/store/user-module';\nimport { MenuColorEnum } from '@/services/api/nswag/stapiclient_generated';\nimport { AccountStore } from '@/store/account-module';\n\n@Component({\n components: {\n MainMenu,\n StInput,\n },\n})\nexport default class AdministratorLayout extends Vue {\n showMenu = false;\n untouched = true;\n\n get dataLoaded() {\n return UserStore.dataLoaded;\n }\n\n async mounted() {\n this.$router.afterEach((to, from) => (this.showMenu = false));\n\n }\n\n get logoUrl() {\n return AccountStore.logo;\n }\n\n get menuClass() {\n return UserStore.userSettings.menuColor.toString().toLowerCase();\n }\n\n get lightMenu() {\n switch (UserStore.userSettings.menuColor) {\n case MenuColorEnum.Dark:\n return false;\n case MenuColorEnum.Light:\n return true;\n case MenuColorEnum.Primary:\n return !UserStore.primaryColorIsDark;\n case MenuColorEnum.Secondary:\n return !UserStore.secondaryColorIsDark;\n }\n }\n\n get appIsReady(): boolean {\n return AccountStore.isLoaded;\n }\n\n\n toggleMenu() {\n this.showMenu = !this.showMenu;\n this.untouched = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministratorLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministratorLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdministratorLayout.vue?vue&type=template&id=29896129&scoped=true&\"\nimport script from \"./AdministratorLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdministratorLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AdministratorLayout.vue?vue&type=style&index=0&id=29896129&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29896129\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"min-height\":\"27.7cm\"}},[_c('table',{staticStyle:{\"width\":\"100%\"}},[_c('tbody',[_c('tr',[_c('td',[_c('div',{staticStyle:{\"page-break-inside\":\"avoid\"}},[_c('div',{staticClass:\"text-base\"},[_c('div',[_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"col-span-2 text-secondary-normal text-xxl\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Rechnung\"))+\" \")]),_c('div',{staticClass:\"col-span-2 flex justify-center\"},[(_vm.logoUrl)?_c('img',{staticClass:\"mb-6\",staticStyle:{\"max-height\":\"9rem\"},attrs:{\"src\":_vm.logoUrl,\"alt\":\"\"}}):_vm._e()])]),_c('div',{staticClass:\"grid grid-cols-4\"},[_c('div',{staticClass:\"col-span-2 whitespace-pre-wrap \"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.model.addressTo.split(\"\\n\")[0]))]),_c('br'),_c('span',[_vm._v(_vm._s(_vm.model.addressTo.split(\"\\n\").slice(1).join(\"\\n\")))])]),_c('div',{staticClass:\"col-span-2 flex justify-center text-center whitespace-pre-wrap \"},[_c('span',[_vm._v(_vm._s(_vm.model.addressFrom))])])]),_c('div',{staticClass:\"grid grid-cols-4 mt-12\"},[_c('div',{staticClass:\"col-span-2\"}),_c('div',{staticClass:\"col-span-2\"},[_c('div',{staticClass:\"col-span-4 grid grid-cols-3 bg-gray-250\"},[_c('div',{staticClass:\"col-span-2\"},[_vm._v(_vm._s(_vm.$t(\"Rechnungsdatum:\")))]),_c('div',{staticClass:\"col-span-1 text-secondary-normal\"},[_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.model.invoiceDate)))]),_c('div',{staticClass:\"col-span-2\"},[_vm._v(_vm._s(_vm.$t(\"Rechnungsnummer:\")))]),_c('div',{staticClass:\"col-span-1 text-secondary-normal\"},[_vm._v(_vm._s(_vm.model.invoiceNo))]),_c('div',{staticClass:\"col-span-2\"}),_c('div',{staticClass:\"col-span-1\"})])])]),_c('div',{staticClass:\"text-xl font-bold mt-8\"},[_vm._v(_vm._s(_vm.model.title))]),_c('div',{staticClass:\"grid grid-cols-1 mt-16\"},[_c('div',{staticClass:\"col-span-1 p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.finalDescription}})],1)]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 mt-20 py-8 border-t-2 border-b border-secondary-normal\"},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(_vm.$t(\"Bezeichnung\")))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t(\"Anzahl\")))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t(\"Preis / Einheit\")))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm.$t(\"Gesamt\")))])]),_vm._l((_vm.model.positions),function(pos,index){return _c('div',{key:pos.id,staticClass:\"grid grid-cols-6 leading-8 py-8\",class:{'border-t border-double border-secondary-normal': index > 0}},[_c('div',{staticClass:\"col-span-3\"},[_vm._v(_vm._s(pos.position))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(pos.quantity))+\" \"+_vm._s(pos.unit))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.rateAmount)))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(pos.revenue)))])])}),_c('div',{staticClass:\"py-4 border-t-2 border-b-2 border-secondary-normal text-secondary-normal\"},[_c('div',{staticClass:\"grid grid-cols-6 leading-8\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[(_vm.model.vatRate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Rechnungsbetrag (netto)\"))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"Rechnungsbetrag\"))+\" \")])]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.netAmount)))])]),(_vm.model.vatRate)?[_c('div',{staticClass:\"grid grid-cols-6 leading-8 \"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t(\"Umsatzsteuer\"))+\" (\"+_vm._s(_vm.model.vatRate)+\" %)\")]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.vatAmount)))])]),_c('div',{staticClass:\"grid grid-cols-6 font-bold leading-8 mt-2 pt-2 border-t-2 border-secondary-normal\"},[_c('div',{staticClass:\"col-span-5 text-right\"},[_vm._v(_vm._s(_vm.$t(\"Rechnungsbetrag (brutto)\")))]),_c('div',{staticClass:\"col-span-1 text-right\"},[_vm._v(_vm._s(_vm._f(\"amountCurrency\")(_vm.model.grossAmount)))])])]:_vm._e()],2),_c('div',{staticClass:\"grid grid-cols-1 mt-16\"},[_c('div',{staticClass:\"col-span-1\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.paymentTerms}})],1)])],2)])])])])]),_vm._m(0)]),_c('div',{staticClass:\"grid grid-cols-4 mt-16 text-sm page-footer items-end\"},[_c('div',{staticClass:\"col-span-4 text-sm p-with-margin\"},[_c('vue-markdown',{attrs:{\"source\":_vm.model.footer}})],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tfoot',[_c('tr',[_c('td',[_c('div',{staticClass:\"page-footer-space\"})])])])}]\n\nexport { render, staticRenderFns }","\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\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\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { OutgoingInvoiceViewModel } from \"@/services/api/nswag/stapiclient_generated\";\r\nimport { UserStore } from \"@/store/user-module\";\r\n\r\n@Component({\r\n components: {}\r\n})\r\nexport default class OutgoingInvoiceExportAbraham extends Vue {\r\n @Prop() model!: OutgoingInvoiceViewModel;\r\n @Prop() logoUrl!: string;\r\n @Prop() finalDescription!: string;\r\n\r\n get currency() {\r\n return UserStore.userSettings.currency;\r\n }\r\n}\r\n","import Vue from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router/router';\r\nimport store from './store';\r\nimport { Settings } from 'luxon';\r\nimport './assets/tailwind.scss';\r\n\r\nimport '@/styles/main.scss';\r\nimport '@/utlitities/filter';\r\n\r\nimport VueDatePicker from '@mathieustan/vue-datepicker';\r\nimport '@mathieustan/vue-datepicker/dist/vue-datepicker.min.css';\r\n\r\nVue.use(VueDatePicker);\r\n\r\n// Options: You can set lang by default\r\nVue.use(VueDatePicker, {\r\n lang: 'de',\r\n});\r\n\r\nimport VSwatches from 'vue-swatches';\r\n\r\n// Import the styles too, typically in App.vue or main.js\r\nimport 'vue-swatches/dist/vue-swatches.css';\r\n\r\nimport DefaultLayout from '@/layout/DefaultLayout.vue';\r\nimport StCollapse from '@/components/basic/StCollapse.vue';\r\nimport StListWrap from '@/components/list/StListWrap.vue';\r\nimport { i18n } from '@/localization';\r\nimport UnauthorizedLayout from '@/layout/UnauthorizedLayout.vue';\r\nimport AuthLayout from '@/layout/AuthLayout.vue';\r\nimport StInput from '@/components/basic/StInput.vue';\r\nimport StInput2 from '@/components/basic/StInput2.vue';\r\nimport { setupAxios } from '@/axios-setup';\r\nimport StButton from './components/basic/StButton.vue';\r\nimport StSelectButton from './components/basic/StSelectButton.vue';\r\n\r\nimport './validation/index';\r\nimport StListItem from '@/components/list/StListItem.vue';\r\n\r\nimport VTooltip, { VClosePopover } from 'v-tooltip';\r\nimport StConfirmButton from '@/components/basic/ConfirmButton/StConfirmButton.vue';\r\nimport StDeleteButton from '@/components/basic/ConfirmButton/StDeleteButton.vue';\r\nimport StButtonRound from '@/components/basic/StButtonRound.vue';\r\nimport StListItemHeader from '@/components/list/StListItemHeader.vue';\r\n\r\nVue.use(VTooltip, { container: '#app' });\r\nVue.directive('v-close-popover', VClosePopover);\r\n\r\nexport let vm: Vue;\r\n\r\nVue.config.productionTip = false;\r\n\r\nVue.component('default-layout', DefaultLayout);\r\nVue.component('unauthorized-layout', UnauthorizedLayout);\r\nVue.component('auth-layout', AuthLayout);\r\nVue.component('export-layout', ExportLayout);\r\nVue.component('shared-layout', SharedLayout);\r\nVue.component('administrator-layout', AdministratorLayout);\r\nVue.component('st-collapse', StCollapse);\r\nVue.component('st-list-wrap', StListWrap);\r\nVue.component('st-list-item', StListItem);\r\nVue.component('st-list-item-wrap', StListItemWrap);\r\nVue.component('st-list-item-header', StListItemHeader);\r\n\r\nVue.component('st-time-picker', StTimePicker);\r\nVue.component('st-checkbox', StCheckbox);\r\nVue.component('st-toggle', StToggle);\r\nVue.component('st-select', StSelect);\r\nVue.component('st-input', StInput);\r\nVue.component('st-input2', StInput2);\r\nVue.component('st-button', StButton);\r\nVue.component('st-select-button', StSelectButton);\r\nVue.component('st-confirm-button', StConfirmButton);\r\nVue.component('st-button-round', StButtonRound);\r\nVue.component('st-delete-button', StDeleteButton);\r\nVue.component('st-datepicker', StDatePicker);\r\nVue.component('st-textarea', StTextarea);\r\nVue.component('st-edit-div', StEditDiv);\r\nVue.component('st-loading', StLoading);\r\nVue.component('reload-loading', ReloadLoading);\r\nVue.component('st-explanation', StExplanation);\r\nVue.component('v-swatches', VSwatches);\r\nVue.component('st-separator', StSeparator);\r\nVue.component('st-decimal-input', StDecimalInput);\r\n\r\n//Custom Invoice Layouts\r\nVue.component('OutgoingInvoiceExportHIP', OutgoingInvoiceExportHip);\r\nVue.component('OutgoingInvoiceExportAbraham', OutgoingInvoiceExportAbraham);\r\n\r\nimport Notifications from 'vue-notification';\r\nVue.use(Notifications);\r\n\r\nimport vSelect from 'vue-select';\r\n\r\nVue.component('v-select', vSelect);\r\n\r\nimport Clipboard from 'v-clipboard';\r\n\r\nVue.use(Clipboard);\r\n\r\n//@ts-ignore\r\n\r\nimport VueTailwind from 'vue-tailwind';\r\nimport TRichSelect from 'vue-tailwind/dist/t-rich-select';\r\nimport TDialog from 'vue-tailwind/dist/t-dialog';\r\n\r\nVue.use(VueTailwind, {\r\n 't-rich-select': {\r\n component: TRichSelect,\r\n },\r\n 't-modal': {\r\n component: TModal,\r\n props: {\r\n fixedClasses: {\r\n overlay: 'z-40 overflow-auto scrolling-touch left-0 top-0 bottom-0 right-0 w-full h-full fixed bg-opacity-50',\r\n wrapper: 'relative mx-auto z-50 max-w-lg px-3 py-20',\r\n modal: 'overflow-visible relative rounded-lg',\r\n body: 'p-8',\r\n header: 'border-b p-3 rounded-t',\r\n footer: ' p-3 rounded-b',\r\n close:\r\n 'flex items-center justify-center rounded-full absolute right-0 top-0 -m-3 h-8 w-8 transition duration-100 ease-in-out focus:ring-2 focus:ring-blue-500 focus:outline-none focus:ring-opacity-50',\r\n },\r\n classes: {\r\n overlay: 'bg-black',\r\n wrapper: '',\r\n modal: 'bg-white shadow',\r\n body: 'p-3',\r\n header: 'border-gray-100',\r\n footer: 'bg-gray-100',\r\n close: 'bg-gray-100 text-gray-600 hover:bg-gray-200',\r\n closeIcon: 'fill-current h-4 w-4',\r\n overlayEnterClass: 'opacity-0',\r\n overlayEnterActiveClass: 'transition ease-out duration-100',\r\n overlayEnterToClass: 'opacity-100',\r\n overlayLeaveClass: 'opacity-100',\r\n overlayLeaveActiveClass: 'transition ease-in duration-75',\r\n overlayLeaveToClass: 'opacity-0',\r\n enterClass: '',\r\n enterActiveClass: '',\r\n enterToClass: '',\r\n leaveClass: '',\r\n leaveActiveClass: '',\r\n leaveToClass: '',\r\n },\r\n variants: {\r\n onboarding: {\r\n overlay: 'z-40 overflow-auto scrolling-touch left-0 top-0 bottom-0 right-0 w-full h-full fixed bg-opacity-80 bg-black',\r\n wrapper: 'relative mx-auto z-50 max-w-4xl px-3 py-40',\r\n body: 'p-8',\r\n },\r\n danger: {\r\n overlay: 'bg-red-100',\r\n header: 'border-red-50 text-red-700',\r\n close: 'bg-red-50 text-red-700 hover:bg-red-200 border-red-100 border',\r\n modal: 'bg-white border border-red-100 shadow-lg',\r\n footer: 'bg-red-50',\r\n },\r\n },\r\n },\r\n },\r\n 't-dialog': {\r\n component: TDialog,\r\n props: {\r\n variants: {\r\n danger: {\r\n overlay: 'z-100 bg-black bg-opacity-50',\r\n body: 'p-8',\r\n dialog: 'bg-white shadow-lg rounded-lg text-left',\r\n wrapper: 'py-20 z-50 max-w-lg px-3',\r\n titleWrapper: 'py-4 pb-8',\r\n title: 'text-lg font-bold text-center',\r\n text: 'px-4 pb-8',\r\n\r\n okButton: 'btn red w-full max-w-xs',\r\n cancelButton: 'btn white w-full max-w-xs',\r\n },\r\n success: {\r\n overlay: 'z-100 bg-black bg-opacity-50',\r\n body: 'p-8',\r\n dialog: 'bg-white shadow-lg rounded-lg text-left',\r\n wrapper: 'py-20 z-50 max-w-lg px-3',\r\n titleWrapper: 'py-4 pb-8',\r\n title: 'text-lg font-bold text-center',\r\n text: 'px-4 pb-8',\r\n okButton: 'btn green w-full max-w-xs',\r\n cancelButton: 'btn white w-full max-w-xs',\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\n//@ts-ignore\r\nimport draggable from 'vuedraggable';\r\nimport StListItemWrap from '@/components/list/StListItemWrap.vue';\r\nimport StCheckbox from '@/components/basic/StCheckbox.vue';\r\nimport StTimePicker from '@/components/basic/StTimePicker.vue';\r\nimport StSelect from '@/components/basic/StSelect.vue';\r\nimport StDatePicker from '@/components/basic/StDatePicker.vue';\r\nimport StLoading from '@/components/basic/StLoading.vue';\r\n\r\nVue.component('draggable', draggable);\r\n\r\nimport VueTour from 'vue-tour';\r\nimport 'vue-tour/dist/vue-tour.css';\r\n\r\nVue.use(VueTour);\r\n\r\n// @ts-ignore\r\nimport VueMask from 'v-mask';\r\n\r\nVue.use(VueMask);\r\n\r\nimport VCalendar from 'v-calendar';\r\n\r\nVue.use(VCalendar);\r\n\r\nimport VueApexCharts from 'vue-apexcharts';\r\n\r\nVue.use(VueApexCharts);\r\nVue.component('apexchart', VueApexCharts);\r\n\r\nimport VueCurrencyFilter from 'vue-currency-filter';\r\nimport StTextarea from '@/components/basic/StTextarea.vue';\r\nimport StEditDiv from '@/components/basic/StEditDiv.vue';\r\nimport ExportLayout from '@/layout/ExportLayout.vue';\r\nimport StExplanation from '@/components/basic/StExplanation.vue';\r\nimport { setupNumeral } from '@/numeral-setup';\r\n\r\nVue.use(VueCurrencyFilter, {\r\n symbol: '',\r\n thousandsSeperator: '.',\r\n fractionCount: 2,\r\n fractionSeparator: ',',\r\n symbolPosition: 'end',\r\n symbolSpacing: true,\r\n avoidEmptyDecimals: undefined,\r\n});\r\n\r\nimport TextareaAutosize from 'vue-textarea-autosize';\r\n\r\nVue.use(TextareaAutosize);\r\n\r\nimport wb from './services/service_worker';\r\nimport SharedLayout from '@/layout/SharedLayout.vue';\r\nimport StToggle from '@/components/basic/StToggle.vue';\r\nimport ReloadLoading from '@/components/loading/ReloadLoading.vue';\r\n\r\nVue.prototype.$workbox = wb;\r\n\r\nimport stHub from '@/signalr/sthub';\r\nimport { TModal } from 'vue-tailwind/dist/components';\r\nimport StSeparator from '@/components/basic/Form/StSeparator.vue';\r\n\r\nVue.use(stHub);\r\n\r\nimport { VuePlausible } from 'vue-plausible';\r\nimport StDecimalInput from '@/components/basic/StDecimalInput.vue';\r\n\r\nVue.use(VuePlausible, {\r\n domain: 'app.spiketime.de',\r\n enableAutoPageviews: false,\r\n});\r\n\r\nimport VueMarkdown from 'vue-markdown';\r\nimport OutgoingInvoiceExportHip from '@/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportHIP.vue';\r\nVue.component('vue-markdown', VueMarkdown);\r\n\r\n//Vue.config.performance = true\r\n\r\nimport {\r\n // Directives\r\n // Components\r\n Dropdown,\r\n Tooltip,\r\n Menu,\r\n} from 'floating-vue';\r\n\r\nVue.component('VDropdown', Dropdown);\r\nVue.component('VTooltip', Tooltip);\r\nVue.component('VMenu', Menu);\r\nimport 'floating-vue/dist/style.css';\r\nimport AdministratorLayout from '@/layout/AdministratorLayout.vue';\r\nimport OutgoingInvoiceExportAbraham from '@/views/OutgoingInvoice/CustomLayouts/OutgoingInvoiceExportAbraham.vue';\r\n\r\nasync function startup() {\r\n Settings.defaultLocale = 'de';\r\n\r\n vm = new Vue({\r\n router,\r\n store,\r\n i18n,\r\n render: (h) => h(App),\r\n }).$mount('#app');\r\n}\r\n\r\nsetupAxios();\r\nsetupNumeral();\r\nstartup();\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportAbraham.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutgoingInvoiceExportAbraham.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutgoingInvoiceExportAbraham.vue?vue&type=template&id=1f34fcf9&\"\nimport script from \"./OutgoingInvoiceExportAbraham.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutgoingInvoiceExportAbraham.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OutgoingInvoiceExportAbraham.vue?vue&type=style&index=0&id=1f34fcf9&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StProgress.vue?vue&type=style&index=0&id=10e85939&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StSeparator.vue?vue&type=style&index=0&id=08ef0ebc&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Queries.vue?vue&type=style&index=0&id=76928306&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListExternal.vue?vue&type=style&index=0&id=3ce67632&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StTimePicker.vue?vue&type=style&index=0&id=1b451fe0&prod&lang=scss&\"","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.15.5.0 (NJsonSchema v10.6.6.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\n\r\nexport class AbsenceClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AbsenceEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNewForDay(day: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/new/{day}\";\r\n if (day === undefined || day === null)\r\n throw new Error(\"The parameter 'day' must be defined.\");\r\n url_ = url_.replace(\"{day}\", encodeURIComponent(\"\" + day));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNewForDay(_response);\r\n });\r\n }\r\n\r\n protected processGetNewForDay(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AbsenceEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AbsenceEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListAbsenceType( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/absencetypes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListAbsenceType(_response);\r\n });\r\n }\r\n\r\n protected processGetListAbsenceType(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AbsenceTypeViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListAbsenceTypeForUser(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/GetListAbsenceTypeForUser/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListAbsenceTypeForUser(_response);\r\n });\r\n }\r\n\r\n protected processGetListAbsenceTypeForUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AbsenceTypeViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListForAllActiveUsers(year: number, displayOnlyOwnTeam: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/getlistforallactiveusers/{year}?\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n if (displayOnlyOwnTeam === null)\r\n throw new Error(\"The parameter 'displayOnlyOwnTeam' cannot be null.\");\r\n else if (displayOnlyOwnTeam !== undefined)\r\n url_ += \"displayOnlyOwnTeam=\" + encodeURIComponent(\"\" + displayOnlyOwnTeam) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListForAllActiveUsers(_response);\r\n });\r\n }\r\n\r\n protected processGetListForAllActiveUsers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AbsenceUserViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getOpenAbsenceRequests( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/getopenabsencerequests\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetOpenAbsenceRequests(_response);\r\n });\r\n }\r\n\r\n protected processGetOpenAbsenceRequests(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AbsenceViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getOpenAbsenceRequestCount( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/getopenabsencerequestcount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetOpenAbsenceRequestCount(_response);\r\n });\r\n }\r\n\r\n protected processGetOpenAbsenceRequestCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getVacationStatsCurrentUser(year: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/getvacationstats/{year}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetVacationStatsCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processGetVacationStatsCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = VacationStatsViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getVacationStatsForUser(year: number, appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/getvacationstats/{year}/{appUserId}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetVacationStatsForUser(_response);\r\n });\r\n }\r\n\r\n protected processGetVacationStatsForUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = VacationStatsViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: AbsenceFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AbsenceViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n validateAbsence(model: AbsenceEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/validateAbsence\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateAbsence(_response);\r\n });\r\n }\r\n\r\n protected processValidateAbsence(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AbsenceValidationResultViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: AbsenceEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, editModel: AbsenceEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n approve(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/approve/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processApprove(_response);\r\n });\r\n }\r\n\r\n protected processApprove(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n reject(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/reject/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReject(_response);\r\n });\r\n }\r\n\r\n protected processReject(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n exportExcel(year: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Absence/ExportExcel/{year}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AbsenceTypeClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getList(showArchive: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType/GetList?\";\r\n if (showArchive === null)\r\n throw new Error(\"The parameter 'showArchive' cannot be null.\");\r\n else if (showArchive !== undefined)\r\n url_ += \"showArchive=\" + encodeURIComponent(\"\" + showArchive) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AbsenceTypeViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getViewModelById(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType/GetViewModelById/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetViewModelById(_response);\r\n });\r\n }\r\n\r\n protected processGetViewModelById(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AbsenceTypeViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNewEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType/GetNewEditModel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNewEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetNewEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AbsenceTypeEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getEditModel(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType/GetEditModel/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AbsenceTypeEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(editModel: AbsenceTypeEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n insert(editModel: AbsenceTypeEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processInsert(_response);\r\n });\r\n }\r\n\r\n protected processInsert(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n toggleArchived(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType/ToggleArchived\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(id);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processToggleArchived(_response);\r\n });\r\n }\r\n\r\n protected processToggleArchived(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AbsenceType/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AccountClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AccountEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeTrackingSettings(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/timetrackingsettings/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeTrackingSettings(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeTrackingSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AccountTimeTrackingSettingsEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updateTimeTrackingSettings(id: number | undefined, accountTimeTrackingSettingsEditModel: AccountTimeTrackingSettingsEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/updatetimetrackingsettings?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(accountTimeTrackingSettingsEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateTimeTrackingSettings(_response);\r\n });\r\n }\r\n\r\n protected processUpdateTimeTrackingSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getAccountInvoiceDataEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/invoicedata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAccountInvoiceDataEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetAccountInvoiceDataEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AccountInvoiceDataEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n saveAccountInvoiceDataEditModel(model: AccountInvoiceDataEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/invoicedata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveAccountInvoiceDataEditModel(_response);\r\n });\r\n }\r\n\r\n protected processSaveAccountInvoiceDataEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLicenseDataEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/licensedata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLicenseDataEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetLicenseDataEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LicenseDataEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n saveLicenseData(model: LicenseDataEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/licensedata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveLicenseData(_response);\r\n });\r\n }\r\n\r\n protected processSaveLicenseData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLicenseDataViewModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/licensedataview\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLicenseDataViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetLicenseDataViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LicenseDataViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n calculateNewAmount(addedUserCount: number, addedUserCountBasic: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/CalculateNewAmount/{addedUserCount}/{addedUserCountBasic}\";\r\n if (addedUserCount === undefined || addedUserCount === null)\r\n throw new Error(\"The parameter 'addedUserCount' must be defined.\");\r\n url_ = url_.replace(\"{addedUserCount}\", encodeURIComponent(\"\" + addedUserCount));\r\n if (addedUserCountBasic === undefined || addedUserCountBasic === null)\r\n throw new Error(\"The parameter 'addedUserCountBasic' must be defined.\");\r\n url_ = url_.replace(\"{addedUserCountBasic}\", encodeURIComponent(\"\" + addedUserCountBasic));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCalculateNewAmount(_response);\r\n });\r\n }\r\n\r\n protected processCalculateNewAmount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PaymentAmountModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getContractData( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/contractdata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetContractData(_response);\r\n });\r\n }\r\n\r\n protected processGetContractData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ContractDataViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getAdvEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/advdata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAdvEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetAdvEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AccountAdvEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n saveAdvData(model: AccountAdvEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/advdata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveAdvData(_response);\r\n });\r\n }\r\n\r\n protected processSaveAdvData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n deleteAccount(model: DeleteAccountEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteAccount(_response);\r\n });\r\n }\r\n\r\n protected processDeleteAccount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getAdvContractPdf( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/advdata/pdf\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAdvContractPdf(_response);\r\n });\r\n }\r\n\r\n protected processGetAdvContractPdf(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getInvoicePdf(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/invoicepdf/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetInvoicePdf(_response);\r\n });\r\n }\r\n\r\n protected processGetInvoicePdf(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLogo( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/logo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLogo(_response);\r\n });\r\n }\r\n\r\n protected processGetLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n upgradeAccount( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/upgrade\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpgradeAccount(_response);\r\n });\r\n }\r\n\r\n protected processUpgradeAccount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, accountEditModel: AccountEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(accountEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n deleteLogo( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteLogo(_response);\r\n });\r\n }\r\n\r\n protected processDeleteLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n uploadLogo(file: FileParameter | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/uploadlogo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUploadLogo(_response);\r\n });\r\n }\r\n\r\n protected processUploadLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getOnboardingEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/onboarding\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetOnboardingEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetOnboardingEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OnBoardingEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n saveOnboardingEditModel(model: OnBoardingEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/onboarding\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveOnboardingEditModel(_response);\r\n });\r\n }\r\n\r\n protected processSaveOnboardingEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n skipOnBoarding( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/onboarding/skip\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSkipOnBoarding(_response);\r\n });\r\n }\r\n\r\n protected processSkipOnBoarding(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AdminClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n sendTestMail( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendTestMail(_response);\r\n });\r\n }\r\n\r\n protected processSendTestMail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n throwException( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/exception\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processThrowException(_response);\r\n });\r\n }\r\n\r\n protected processThrowException(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLogs( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/logs\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLogs(_response);\r\n });\r\n }\r\n\r\n protected processGetLogs(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Log.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTableData(query: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/tabledata?\";\r\n if (query !== undefined && query !== null)\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTableData(_response);\r\n });\r\n }\r\n\r\n protected processGetTableData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLeuteUndGeld( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/lug\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLeuteUndGeld(_response);\r\n });\r\n }\r\n\r\n protected processGetLeuteUndGeld(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LeuteUndGeldViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLeuteUndGeldBesser(lostDays: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/lugbesser?\";\r\n if (lostDays === null)\r\n throw new Error(\"The parameter 'lostDays' cannot be null.\");\r\n else if (lostDays !== undefined)\r\n url_ += \"lostDays=\" + encodeURIComponent(\"\" + lostDays) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLeuteUndGeldBesser(_response);\r\n });\r\n }\r\n\r\n protected processGetLeuteUndGeldBesser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LeuteUndGeldReportModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getUnpaidInvoices( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/unpaidinvoices\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetUnpaidInvoices(_response);\r\n });\r\n }\r\n\r\n protected processGetUnpaidInvoices(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UnpaidInvoiceViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n sendInvoiceReminder(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/unpaidinvoices/remind/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendInvoiceReminder(_response);\r\n });\r\n }\r\n\r\n protected processSendInvoiceReminder(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n retryCardPayment(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/unpaidinvoices/retry/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRetryCardPayment(_response);\r\n });\r\n }\r\n\r\n protected processRetryCardPayment(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n setInvoicePaid(model: SetInvoicePaidEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/unpaidinvoices/setpaid\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSetInvoicePaid(_response);\r\n });\r\n }\r\n\r\n protected processSetInvoicePaid(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n writeOffInvoice(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/unpaidinvoices/writeoff/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processWriteOffInvoice(_response);\r\n });\r\n }\r\n\r\n protected processWriteOffInvoice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n regenerateInvoice(invoiceId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/RegenerateInvoice/{invoiceId}\";\r\n if (invoiceId === undefined || invoiceId === null)\r\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\r\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRegenerateInvoice(_response);\r\n });\r\n }\r\n\r\n protected processRegenerateInvoice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n removeAccount(guid: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/rma/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRemoveAccount(_response);\r\n });\r\n }\r\n\r\n protected processRemoveAccount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n lockAccount(model: LockAccountEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/lockaccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLockAccount(_response);\r\n });\r\n }\r\n\r\n protected processLockAccount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n unlockAccount(model: LockAccountEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/unlockaccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUnlockAccount(_response);\r\n });\r\n }\r\n\r\n protected processUnlockAccount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n syncBambooHr( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/syncbamboohr\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSyncBambooHr(_response);\r\n });\r\n }\r\n\r\n protected processSyncBambooHr(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n calculateAll( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/calcall\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCalculateAll(_response);\r\n });\r\n }\r\n\r\n protected processCalculateAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getUpcomingPaymentsViewModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Admin/upcoming\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetUpcomingPaymentsViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetUpcomingPaymentsViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UpcomingPaymentsViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AppUserBillableTargetHistoryClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserBillableTargetHistory/new/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserBillableTargetHistoryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: AppUserBillableTargetHistoryFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserBillableTargetHistory/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserBillableTargetHistoryEditModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n merge(appUserId: number | undefined, appUserEditModels: AppUserBillableTargetHistoryEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserBillableTargetHistory?\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(appUserEditModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMerge(_response);\r\n });\r\n }\r\n\r\n protected processMerge(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AppUserClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getCurrentUser( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/Current\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processGetCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getCurrentUserApiKey( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/ApiKey\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCurrentUserApiKey(_response);\r\n });\r\n }\r\n\r\n protected processGetCurrentUserApiKey(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getCurrentUserSettings( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/GetCurrentUserSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCurrentUserSettings(_response);\r\n });\r\n }\r\n\r\n protected processGetCurrentUserSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserSettings.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getAppUserSettingsEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/settingsedit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAppUserSettingsEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetAppUserSettingsEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserSettingsEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n storeAppUserSettings(model: AppUserSettingsEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/settingsedit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStoreAppUserSettings(_response);\r\n });\r\n }\r\n\r\n protected processStoreAppUserSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n changePassword(model: AppUserChangePasswordEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/changepassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processChangePassword(_response);\r\n });\r\n }\r\n\r\n protected processChangePassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForListTimeEntry(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/SelectlistForListTimeEntry/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForListTimeEntry(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForListTimeEntry(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectList(filter: AppUserFilter | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/Selectlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectList(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForFilter(filter: AppUserFilter | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/SelectlistForFilter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForFilter(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForFilter(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNew( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: AppUserFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getManagerList(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/getmanagerlist/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetManagerList(_response);\r\n });\r\n }\r\n\r\n protected processGetManagerList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(appUserEditModel: AppUserEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(appUserEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, appUserEditModel: AppUserEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(appUserEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n resendInvitation(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/resendInvitation/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResendInvitation(_response);\r\n });\r\n }\r\n\r\n protected processResendInvitation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n resendAccountActivation( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/resendActivation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResendAccountActivation(_response);\r\n });\r\n }\r\n\r\n protected processResendAccountActivation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n payAppStore( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/payappstore\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPayAppStore(_response);\r\n });\r\n }\r\n\r\n protected processPayAppStore(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n storeTimeAccountDisplayDetails(value: boolean , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUser/storeTimeAccountDisplayDetails\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(value);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStoreTimeAccountDisplayDetails(_response);\r\n });\r\n }\r\n\r\n protected processStoreTimeAccountDisplayDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AppUserHistoryClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserHistory/new/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserHistoryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserHistory/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserHistoryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: string, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserHistory/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: AppUserHistoryFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserHistory/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserHistoryEditModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n merge(appUserId: number | undefined, appUserEditModels: AppUserHistoryEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserHistory?\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(appUserEditModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMerge(_response);\r\n });\r\n }\r\n\r\n protected processMerge(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AppUserInternalCostHistoryClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserInternalCostHistory/new/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserInternalCostHistoryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserInternalCostHistory/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserInternalCostHistoryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: string, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserInternalCostHistory/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: AppUserInternalCostHistoryFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserInternalCostHistory/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserInternalCostHistoryEditModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n merge(appUserId: number | undefined, appUserEditModels: AppUserInternalCostHistoryEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserInternalCostHistory?\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(appUserEditModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMerge(_response);\r\n });\r\n }\r\n\r\n protected processMerge(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AppUserRightClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getEditModels(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserRight/getlist/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEditModels(_response);\r\n });\r\n }\r\n\r\n protected processGetEditModels(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserRightEditModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n merge(appUserId: number | undefined, editModels: AppUserRightEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserRight?\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMerge(_response);\r\n });\r\n }\r\n\r\n protected processMerge(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AppUserVacationHistoryClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserVacationHistory/new/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppUserVacationHistoryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: AppUserVacationHistoryFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserVacationHistory/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserVacationHistoryEditModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n merge(appUserId: number | undefined, appUserEditModels: AppUserVacationHistoryEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AppUserVacationHistory?\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(appUserEditModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMerge(_response);\r\n });\r\n }\r\n\r\n protected processMerge(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AuthenticationClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n registerApp(accountRegisterModel: AppAccountRegisterModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/registerapp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(accountRegisterModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRegisterApp(_response);\r\n });\r\n }\r\n\r\n protected processRegisterApp(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n register(accountRegisterModel: AccountRegisterModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/register\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(accountRegisterModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRegister(_response);\r\n });\r\n }\r\n\r\n protected processRegister(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n registerHp(email: string | null | undefined, registrationSource: string | null | undefined, name: string | null | undefined, url: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/registerhp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (email !== null && email !== undefined)\r\n content_.append(\"Email\", email.toString());\r\n if (registrationSource !== null && registrationSource !== undefined)\r\n content_.append(\"RegistrationSource\", registrationSource.toString());\r\n if (name !== null && name !== undefined)\r\n content_.append(\"Name\", name.toString());\r\n if (url !== null && url !== undefined)\r\n content_.append(\"Url\", url.toString());\r\n\r\n let options_ = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRegisterHp(_response);\r\n });\r\n }\r\n\r\n protected processRegisterHp(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n loginViaApiKey(apiKey: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/loginviaapikey/{apiKey}\";\r\n if (apiKey === undefined || apiKey === null)\r\n throw new Error(\"The parameter 'apiKey' must be defined.\");\r\n url_ = url_.replace(\"{apiKey}\", encodeURIComponent(\"\" + apiKey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoginViaApiKey(_response);\r\n });\r\n }\r\n\r\n protected processLoginViaApiKey(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n prelogin(email: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/prelogin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(email);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPrelogin(_response);\r\n });\r\n }\r\n\r\n protected processPrelogin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PreloginCheckModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n login(model: AppUserLoginModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/Login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogin(_response);\r\n });\r\n }\r\n\r\n protected processLogin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n loginApp(model: AppUserLoginModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/LoginApp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoginApp(_response);\r\n });\r\n }\r\n\r\n protected processLoginApp(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n logout( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/Logout\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogout(_response);\r\n });\r\n }\r\n\r\n protected processLogout(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n forgotPassword(forgotPasswordModel: ForgotPasswordModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/ForgotPassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(forgotPasswordModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processForgotPassword(_response);\r\n });\r\n }\r\n\r\n protected processForgotPassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n resetPassword(resetPasswordModel: ResetPasswordModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Authentication/ResetPassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(resetPasswordModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResetPassword(_response);\r\n });\r\n }\r\n\r\n protected processResetPassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ConcurrencyClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getMaxRowVersionTimeEntries(dateFrom: string | undefined, dateTo: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Concurrency/getmaxrowversiontimeentries?\";\r\n if (dateFrom === null)\r\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\r\n else if (dateFrom !== undefined)\r\n url_ += \"dateFrom=\" + encodeURIComponent(\"\" + dateFrom) + \"&\";\r\n if (dateTo === null)\r\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\r\n else if (dateTo !== undefined)\r\n url_ += \"dateTo=\" + encodeURIComponent(\"\" + dateTo) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMaxRowVersionTimeEntries(_response);\r\n });\r\n }\r\n\r\n protected processGetMaxRowVersionTimeEntries(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class CustomerClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CustomerEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CustomerEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNoOfActiveProjects(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/noofactiveprojects/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNoOfActiveProjects(_response);\r\n });\r\n }\r\n\r\n protected processGetNoOfActiveProjects(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: CustomerFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CustomerViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectList(filter: CustomerFilter | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/Selectlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectList(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForFilter(filter: CustomerFilter | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/SelectlistForFilter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForFilter(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForFilter(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(customerEditModel: CustomerEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(customerEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, customerEditModel: CustomerEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(customerEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n toggleArchiveCustomer(command: CustomerArchiveToggleCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Customer/ToggleArchiveCustomer\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processToggleArchiveCustomer(_response);\r\n });\r\n }\r\n\r\n protected processToggleArchiveCustomer(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ImpersonateClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n impersonateUser(userId: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Impersonate/Impersonate?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processImpersonateUser(_response);\r\n });\r\n }\r\n\r\n protected processImpersonateUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getUsersForImpersonation( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Impersonate/GetUserForImpersonation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetUsersForImpersonation(_response);\r\n });\r\n }\r\n\r\n protected processGetUsersForImpersonation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppUserViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n stopImpersonation( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Impersonate/StopImpersonation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStopImpersonation(_response);\r\n });\r\n }\r\n\r\n protected processStopImpersonation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class InvoiceClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getInvoice(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Invoice/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetInvoice(_response);\r\n });\r\n }\r\n\r\n protected processGetInvoice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = InvoiceViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ListClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n get(listParameters: ListParameters , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(listParameters);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ListResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListByGuid(guid: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/GetListByGuid?\";\r\n if (guid !== undefined && guid !== null)\r\n url_ += \"guid=\" + encodeURIComponent(\"\" + guid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListByGuid(_response);\r\n });\r\n }\r\n\r\n protected processGetListByGuid(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ListResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getDefaultListParams( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/GetDefaultListParams\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDefaultListParams(_response);\r\n });\r\n }\r\n\r\n protected processGetDefaultListParams(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ListParameters.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getExternal(guid: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/external/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetExternal(_response);\r\n });\r\n }\r\n\r\n protected processGetExternal(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ListResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n generatePdf(fileName: string, listParameters: ListParameters , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/pdf/{fileName}\";\r\n if (fileName === undefined || fileName === null)\r\n throw new Error(\"The parameter 'fileName' must be defined.\");\r\n url_ = url_.replace(\"{fileName}\", encodeURIComponent(\"\" + fileName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(listParameters);\r\n\r\n let options_ = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGeneratePdf(_response);\r\n });\r\n }\r\n\r\n protected processGeneratePdf(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n saveListPreset(presetEditModel: ListPresetEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/SaveListPreset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(presetEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveListPreset(_response);\r\n });\r\n }\r\n\r\n protected processSaveListPreset(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListPresets( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/GetListPresets\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListPresets(_response);\r\n });\r\n }\r\n\r\n protected processGetListPresets(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ListPresetListViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListPreset(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/GetListPreset/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListPreset(_response);\r\n });\r\n }\r\n\r\n protected processGetListPreset(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ListPresetViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n deleteListPreset(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/ListPreset/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteListPreset(_response);\r\n });\r\n }\r\n\r\n protected processDeleteListPreset(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n toggleClearedAll(newvalue: boolean, filter: TimeEntryFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/ToggleAll/{newvalue}\";\r\n if (newvalue === undefined || newvalue === null)\r\n throw new Error(\"The parameter 'newvalue' must be defined.\");\r\n url_ = url_.replace(\"{newvalue}\", encodeURIComponent(\"\" + newvalue));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processToggleClearedAll(_response);\r\n });\r\n }\r\n\r\n protected processToggleClearedAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n exportExcel(listParameters: ListParameters , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/List/ExportExcel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(listParameters);\r\n\r\n let options_ = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ListSharedClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n checkPreset(guid: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ListShared/check/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCheckPreset(_response);\r\n });\r\n }\r\n\r\n protected processCheckPreset(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n preauthenticateSharedFilter(guid: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ListShared/html/preauthenticate/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreauthenticateSharedFilter(_response);\r\n });\r\n }\r\n\r\n protected processPreauthenticateSharedFilter(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getHtml(guid: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ListShared/html/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetHtml(_response);\r\n });\r\n }\r\n\r\n protected processGetHtml(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class LookupClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getTimeEntryTypes( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Lookup/TimeEntryType\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeEntryTypes(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeEntryTypes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeEntryTypeViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeZoneIds( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Lookup/TimeZones\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeZoneIds(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeZoneIds(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getDatePattern( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Lookup/DatePatterns\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDatePattern(_response);\r\n });\r\n }\r\n\r\n protected processGetDatePattern(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StStringSelectListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimePattern( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Lookup/TimePattern\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimePattern(_response);\r\n });\r\n }\r\n\r\n protected processGetTimePattern(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StStringSelectListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getUserNowDateTime( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Lookup/UserNowDateTime\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetUserNowDateTime(_response);\r\n });\r\n }\r\n\r\n protected processGetUserNowDateTime(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class NewsClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNews( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/News\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNews(_response);\r\n });\r\n }\r\n\r\n protected processGetNews(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = NewsModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n newsClicked( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/News\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNewsClicked(_response);\r\n });\r\n }\r\n\r\n protected processNewsClicked(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class OutgoingInvoiceClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getSettingsViewModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/settings/viewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSettingsViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetSettingsViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OutgoingInvoiceSettingsViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSettingsEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/settings/editmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSettingsEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetSettingsEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OutgoingInvoiceSettingsEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getCurrentLocalIncrementValue(prefix: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/GetCurrentLocalIncrementValue/{prefix}\";\r\n if (prefix === undefined || prefix === null)\r\n throw new Error(\"The parameter 'prefix' must be defined.\");\r\n url_ = url_.replace(\"{prefix}\", encodeURIComponent(\"\" + prefix));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCurrentLocalIncrementValue(_response);\r\n });\r\n }\r\n\r\n protected processGetCurrentLocalIncrementValue(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updateSettings(model: OutgoingInvoiceSettingsEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/settings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateSettings(_response);\r\n });\r\n }\r\n\r\n protected processUpdateSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNewPositionEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/positions/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNewPositionEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetNewPositionEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OutgoingInvoicePositionEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getPdfViaApiKey(id: number, apiKey: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/pdfviaapikey/{id}/{apiKey}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (apiKey === undefined || apiKey === null)\r\n throw new Error(\"The parameter 'apiKey' must be defined.\");\r\n url_ = url_.replace(\"{apiKey}\", encodeURIComponent(\"\" + apiKey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPdfViaApiKey(_response);\r\n });\r\n }\r\n\r\n protected processGetPdfViaApiKey(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getPdf(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/pdf/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPdf(_response);\r\n });\r\n }\r\n\r\n protected processGetPdf(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getXml(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/xml/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetXml(_response);\r\n });\r\n }\r\n\r\n protected processGetXml(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getActivityReportViaApiKey(id: number, apiKey: string, showEmployees: boolean , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/activityreportviaapikey/{id}/{apiKey}/{showEmployees}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (apiKey === undefined || apiKey === null)\r\n throw new Error(\"The parameter 'apiKey' must be defined.\");\r\n url_ = url_.replace(\"{apiKey}\", encodeURIComponent(\"\" + apiKey));\r\n if (showEmployees === undefined || showEmployees === null)\r\n throw new Error(\"The parameter 'showEmployees' must be defined.\");\r\n url_ = url_.replace(\"{showEmployees}\", encodeURIComponent(\"\" + showEmployees));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetActivityReportViaApiKey(_response);\r\n });\r\n }\r\n\r\n protected processGetActivityReportViaApiKey(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getActivityReport(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/activityreport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetActivityReport(_response);\r\n });\r\n }\r\n\r\n protected processGetActivityReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLogo(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/logo/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLogo(_response);\r\n });\r\n }\r\n\r\n protected processGetLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSettingsLogo( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/settingslogo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSettingsLogo(_response);\r\n });\r\n }\r\n\r\n protected processGetSettingsLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n deleteLogo( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteLogo(_response);\r\n });\r\n }\r\n\r\n protected processDeleteLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: OutgoingInvoiceEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(editModel: OutgoingInvoiceEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n uploadLogo(file: FileParameter | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/uploadlogo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUploadLogo(_response);\r\n });\r\n }\r\n\r\n protected processUploadLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n sendEmail(invoiceId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/sendemail/{invoiceId}\";\r\n if (invoiceId === undefined || invoiceId === null)\r\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\r\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendEmail(_response);\r\n });\r\n }\r\n\r\n protected processSendEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNew(customerId: number, filter: OutgoingInvoiceTimeEntryGroupFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/new/{customerId}\";\r\n if (customerId === undefined || customerId === null)\r\n throw new Error(\"The parameter 'customerId' must be defined.\");\r\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OutgoingInvoiceEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getPositionsByTimeEntries(filter: OutgoingInvoiceTimeEntryGroupFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/positionsbytimeentries\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPositionsByTimeEntries(_response);\r\n });\r\n }\r\n\r\n protected processGetPositionsByTimeEntries(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OutgoingInvoicePositionEditModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getOutgoingInvoiceTimeEntries(outgoingInvoiceId: number, filter: TimeEntryFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/timeentries/{outgoingInvoiceId}\";\r\n if (outgoingInvoiceId === undefined || outgoingInvoiceId === null)\r\n throw new Error(\"The parameter 'outgoingInvoiceId' must be defined.\");\r\n url_ = url_.replace(\"{outgoingInvoiceId}\", encodeURIComponent(\"\" + outgoingInvoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetOutgoingInvoiceTimeEntries(_response);\r\n });\r\n }\r\n\r\n protected processGetOutgoingInvoiceTimeEntries(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OutgoingInvoiceTimeEntryModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OutgoingInvoiceEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getViewModel(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/viewmodel/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OutgoingInvoiceViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getViewModelFromEditModel(editModel: OutgoingInvoiceEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/viewmodelfromeditmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetViewModelFromEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetViewModelFromEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OutgoingInvoiceViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: OutgoingInvoiceFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/OutgoingInvoice/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OutgoingInvoiceViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class PaymentClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n createSetupIntent( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Payment/createSetupIntent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateSetupIntent(_response);\r\n });\r\n }\r\n\r\n protected processCreateSetupIntent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n confirmSetupIntent(setupIntentId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Payment/confirmSetupIntent?\";\r\n if (setupIntentId !== undefined && setupIntentId !== null)\r\n url_ += \"setupIntentId=\" + encodeURIComponent(\"\" + setupIntentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processConfirmSetupIntent(_response);\r\n });\r\n }\r\n\r\n protected processConfirmSetupIntent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SetupIntentConfirmationModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getStripePublicKey( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Payment/getStripePublicKey\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetStripePublicKey(_response);\r\n });\r\n }\r\n\r\n protected processGetStripePublicKey(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class PingClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n get( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ping\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getDb( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/te\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDb(_response);\r\n });\r\n }\r\n\r\n protected processGetDb(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ProjectClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(customerId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/new/{customerId}\";\r\n if (customerId === undefined || customerId === null)\r\n throw new Error(\"The parameter 'customerId' must be defined.\");\r\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getProjectAsCustomerEditModel(customerId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/GetProjectAsCustomerEditModel/{customerId}\";\r\n if (customerId === undefined || customerId === null)\r\n throw new Error(\"The parameter 'customerId' must be defined.\");\r\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetProjectAsCustomerEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetProjectAsCustomerEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectAsCustomerEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getViewModel(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/viewmodel/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getAuthorizedProjectListByAppUser(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/AuthorizedProjectListByAppUser/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAuthorizedProjectListByAppUser(_response);\r\n });\r\n }\r\n\r\n protected processGetAuthorizedProjectListByAppUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AuthorizedProjectList.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeEntryViewModel(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/timeentryviewmodel/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeEntryViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeEntryViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectTimeEntryViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n checkFixedPriceChange(command: ProjectCheckFixedPriceChangeCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/checkfixedpricechange\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCheckFixedPriceChange(_response);\r\n });\r\n }\r\n\r\n protected processCheckFixedPriceChange(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectCheckFixedPriceChangeResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: ProjectFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getProjectBudgets(filter: ProjectFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/getbudgets\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetProjectBudgets(_response);\r\n });\r\n }\r\n\r\n protected processGetProjectBudgets(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectBudgetViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getBudgetConsumption(projectId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/getbudget/{projectId}\";\r\n if (projectId === undefined || projectId === null)\r\n throw new Error(\"The parameter 'projectId' must be defined.\");\r\n url_ = url_.replace(\"{projectId}\", encodeURIComponent(\"\" + projectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetBudgetConsumption(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgetConsumption(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectBudgetViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectList(filter: ProjectFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/selectlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectList(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListLastUsed(filter: ProjectFilter | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/selectlistlastused\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListLastUsed(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListLastUsed(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForTimeTracking( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/GetSelectListForTimeTracking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForTimeTracking(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForTimeTracking(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForProjectReport( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/GetSelectListForProjectReport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForProjectReport(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForProjectReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForFilter(filter: ProjectFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/selectlistforfilter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForFilter(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForFilter(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForProjectAssignment(filter: ProjectFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/GetSelectListForProjectAssignment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForProjectAssignment(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForProjectAssignment(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListOnlyLastUsed(topX: number | undefined, includeFillerProjects: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/selectlistonlylastused?\";\r\n if (topX === null)\r\n throw new Error(\"The parameter 'topX' cannot be null.\");\r\n else if (topX !== undefined)\r\n url_ += \"topX=\" + encodeURIComponent(\"\" + topX) + \"&\";\r\n if (includeFillerProjects === null)\r\n throw new Error(\"The parameter 'includeFillerProjects' cannot be null.\");\r\n else if (includeFillerProjects !== undefined)\r\n url_ += \"includeFillerProjects=\" + encodeURIComponent(\"\" + includeFillerProjects) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListOnlyLastUsed(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListOnlyLastUsed(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(projectEditModel: ProjectEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(projectEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, projectEditModel: ProjectEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(projectEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n toggleFinishProject(command: ProjectFinishToggleCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/ToggleFinishProject\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processToggleFinishProject(_response);\r\n });\r\n }\r\n\r\n protected processToggleFinishProject(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n toggleArchiveProject(command: ProjectArchiveToggleCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/ToggleArchiveProject\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processToggleArchiveProject(_response);\r\n });\r\n }\r\n\r\n protected processToggleArchiveProject(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getProjectReport(projectId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Project/report/{projectId}\";\r\n if (projectId === undefined || projectId === null)\r\n throw new Error(\"The parameter 'projectId' must be defined.\");\r\n url_ = url_.replace(\"{projectId}\", encodeURIComponent(\"\" + projectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetProjectReport(_response);\r\n });\r\n }\r\n\r\n protected processGetProjectReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectReportViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ProjectFixedPriceReportClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getUserOverviewReport(query: ProjectFixedPriceUserOverviewQuery , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectFixedPriceReport/GetUserOverviewReport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(query);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetUserOverviewReport(_response);\r\n });\r\n }\r\n\r\n protected processGetUserOverviewReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectFixedPriceUserOverviewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getRevenueFteReport(query: ProjectFixedPriceRevenueFteQuery , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectFixedPriceReport/GetRevenueFteReport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(query);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetRevenueFteReport(_response);\r\n });\r\n }\r\n\r\n protected processGetRevenueFteReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectFixedPriceRevenueFteModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getDailyRateReport(query: ProjectFixedPriceDailyRateReportQuery , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectFixedPriceReport/GetDailyRateReport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(query);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDailyRateReport(_response);\r\n });\r\n }\r\n\r\n protected processGetDailyRateReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectFixedPriceDailyRateReportModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ProjectStaffClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getEditModels(filter: ProjectStaffFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectStaff/geteditmodels\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEditModels(_response);\r\n });\r\n }\r\n\r\n protected processGetEditModels(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectStaffEditModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getEmployees(projectId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectStaff/employees/{projectId}\";\r\n if (projectId === undefined || projectId === null)\r\n throw new Error(\"The parameter 'projectId' must be defined.\");\r\n url_ = url_.replace(\"{projectId}\", encodeURIComponent(\"\" + projectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEmployees(_response);\r\n });\r\n }\r\n\r\n protected processGetEmployees(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectStaffAppUserViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n mergeByProject(projectId: number, editModels: ProjectStaffEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectStaff/mergebyproject/{projectId}\";\r\n if (projectId === undefined || projectId === null)\r\n throw new Error(\"The parameter 'projectId' must be defined.\");\r\n url_ = url_.replace(\"{projectId}\", encodeURIComponent(\"\" + projectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMergeByProject(_response);\r\n });\r\n }\r\n\r\n protected processMergeByProject(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n mergeByAppUser(appUserId: number, editModels: ProjectStaffEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectStaff/mergebyappuser/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMergeByAppUser(_response);\r\n });\r\n }\r\n\r\n protected processMergeByAppUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ProjectTaskClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectTaskEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNewWithProjectId(customerId: number, projectId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/new/{customerId}/{projectId}\";\r\n if (customerId === undefined || customerId === null)\r\n throw new Error(\"The parameter 'customerId' must be defined.\");\r\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\r\n if (projectId === undefined || projectId === null)\r\n throw new Error(\"The parameter 'projectId' must be defined.\");\r\n url_ = url_.replace(\"{projectId}\", encodeURIComponent(\"\" + projectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNewWithProjectId(_response);\r\n });\r\n }\r\n\r\n protected processGetNewWithProjectId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectTaskEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProjectTaskEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined, dryRun: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n if (dryRun === null)\r\n throw new Error(\"The parameter 'dryRun' cannot be null.\");\r\n else if (dryRun !== undefined)\r\n url_ += \"dryRun=\" + encodeURIComponent(\"\" + dryRun) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: ProjectTaskFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProjectTaskViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectList(filter: ProjectTaskFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/Selectlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectList(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForFilter(filter: ProjectTaskFilter | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/SelectlistForFilter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForFilter(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForFilter(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListGrouped(filter: ProjectTaskFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/selectlistgrouped\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListGrouped(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListGrouped(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForProject(query: ProjectTaskSelectListForProjectQuery , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask/GetSelectListForProject\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(query);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForProject(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForProject(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(projectTaskEditModel: ProjectTaskEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(projectTaskEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, projectTaskEditModel: ProjectTaskEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProjectTask?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(projectTaskEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class PublicHolidayClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(date: string, publicHolidayGroupId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday/new/{date}/{publicHolidayGroupId}\";\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (publicHolidayGroupId === undefined || publicHolidayGroupId === null)\r\n throw new Error(\"The parameter 'publicHolidayGroupId' must be defined.\");\r\n url_ = url_.replace(\"{publicHolidayGroupId}\", encodeURIComponent(\"\" + publicHolidayGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PublicHolidayEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PublicHolidayEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: PublicHolidayFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PublicHolidayViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListForCurrentUser(filter: PublicHolidayFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday/getlistForCurrentUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListForCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processGetListForCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PublicHolidayViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getOverwrittenAsWorkdayDates(filter: PublicHolidayFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday/GetOverwrittenAsWorkdayDates\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetOverwrittenAsWorkdayDates(_response);\r\n });\r\n }\r\n\r\n protected processGetOverwrittenAsWorkdayDates(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: PublicHolidayEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(editModel: PublicHolidayEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n overwriteAsWorkday(editModel: PublicHolidayEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHoliday/overwriteasworkday\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOverwriteAsWorkday(_response);\r\n });\r\n }\r\n\r\n protected processOverwriteAsWorkday(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class PublicHolidayGroupClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHolidayGroup/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PublicHolidayGroupEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHolidayGroup/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PublicHolidayGroupEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHolidayGroup/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getGroupedSelectList( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHolidayGroup/getgroupedselectlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetGroupedSelectList(_response);\r\n });\r\n }\r\n\r\n protected processGetGroupedSelectList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: PublicHolidayGroupFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHolidayGroup/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PublicHolidayGroupViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: PublicHolidayGroupEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHolidayGroup\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, editModel: PublicHolidayGroupEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/PublicHolidayGroup?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class RateRuleClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(parentRateRuleId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/new/{parentRateRuleId}\";\r\n if (parentRateRuleId === undefined || parentRateRuleId === null)\r\n throw new Error(\"The parameter 'parentRateRuleId' must be defined.\");\r\n url_ = url_.replace(\"{parentRateRuleId}\", encodeURIComponent(\"\" + parentRateRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RateRuleEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getLookpus(parentRateRuleId: number | undefined, rateRuleId: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/getlookups?\";\r\n if (parentRateRuleId === null)\r\n throw new Error(\"The parameter 'parentRateRuleId' cannot be null.\");\r\n else if (parentRateRuleId !== undefined)\r\n url_ += \"parentRateRuleId=\" + encodeURIComponent(\"\" + parentRateRuleId) + \"&\";\r\n if (rateRuleId === null)\r\n throw new Error(\"The parameter 'rateRuleId' cannot be null.\");\r\n else if (rateRuleId !== undefined)\r\n url_ += \"rateRuleId=\" + encodeURIComponent(\"\" + rateRuleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLookpus(_response);\r\n });\r\n }\r\n\r\n protected processGetLookpus(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RateRuleLookupModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RateRuleEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getRules( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/getrules\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetRules(_response);\r\n });\r\n }\r\n\r\n protected processGetRules(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RateRuleViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getCustomerProjectRates( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/getcustomerprojectrates\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCustomerProjectRates(_response);\r\n });\r\n }\r\n\r\n protected processGetCustomerProjectRates(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RateRuleAmountListModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getCustomerProjectRateRuleAmount(filter: RateRuleAmountFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/getcustomerprojectamount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCustomerProjectRateRuleAmount(_response);\r\n });\r\n }\r\n\r\n protected processGetCustomerProjectRateRuleAmount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RateRuleAmountModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getRateRuleAmount(filter: RateRuleAmountFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/getamount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetRateRuleAmount(_response);\r\n });\r\n }\r\n\r\n protected processGetRateRuleAmount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: RateRuleEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, editModel: RateRuleEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updateSortOrder(editModels: RateRuleSortOrderEditModel[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/updatesortorder\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModels);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateSortOrder(_response);\r\n });\r\n }\r\n\r\n protected processUpdateSortOrder(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n deleteAll( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/RateRule/all\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteAll(_response);\r\n });\r\n }\r\n\r\n protected processDeleteAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ReportContollerClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n get(filter: TimeEntryFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ReportContoller\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ReportViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getBillableTargetReport(year: number | undefined, last12Months: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/billabletarget?\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n if (last12Months === null)\r\n throw new Error(\"The parameter 'last12Months' cannot be null.\");\r\n else if (last12Months !== undefined)\r\n url_ += \"last12Months=\" + encodeURIComponent(\"\" + last12Months) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetBillableTargetReport(_response);\r\n });\r\n }\r\n\r\n protected processGetBillableTargetReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = BillableTargetReportModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class RoleClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getList( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Role/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RoleViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class StopwatchClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getRunning( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/getrunning\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetRunning(_response);\r\n });\r\n }\r\n\r\n protected processGetRunning(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = StopwatchViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/editmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = StopwatchEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNewEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNewEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetNewEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = StopwatchEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getServerDiff(clientDateTime: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/getserverdiff?\";\r\n if (clientDateTime === null)\r\n throw new Error(\"The parameter 'clientDateTime' cannot be null.\");\r\n else if (clientDateTime !== undefined)\r\n url_ += \"clientDateTime=\" + encodeURIComponent(\"\" + clientDateTime) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetServerDiff(_response);\r\n });\r\n }\r\n\r\n protected processGetServerDiff(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n start(editModel: StopwatchEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/start\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStart(_response);\r\n });\r\n }\r\n\r\n protected processStart(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n startForProject(projectId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/startforproject/{projectId}\";\r\n if (projectId === undefined || projectId === null)\r\n throw new Error(\"The parameter 'projectId' must be defined.\");\r\n url_ = url_.replace(\"{projectId}\", encodeURIComponent(\"\" + projectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStartForProject(_response);\r\n });\r\n }\r\n\r\n protected processStartForProject(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n resume(timeEntryId: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/resume?\";\r\n if (timeEntryId === null)\r\n throw new Error(\"The parameter 'timeEntryId' cannot be null.\");\r\n else if (timeEntryId !== undefined)\r\n url_ += \"timeEntryId=\" + encodeURIComponent(\"\" + timeEntryId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResume(_response);\r\n });\r\n }\r\n\r\n protected processResume(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n edit(editModel: StopwatchEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/edit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEdit(_response);\r\n });\r\n }\r\n\r\n protected processEdit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n stop( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/stop\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStop(_response);\r\n });\r\n }\r\n\r\n protected processStop(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n stopAndGetTimeEntryEditModel( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/StopAndGetTimeEntryEditModel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStopAndGetTimeEntryEditModel(_response);\r\n });\r\n }\r\n\r\n protected processStopAndGetTimeEntryEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Stopwatch/delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class SupportClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n sendSupportRequest(supportRequestModel: SupportRequestModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Support\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(supportRequestModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendSupportRequest(_response);\r\n });\r\n }\r\n\r\n protected processSendSupportRequest(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TagClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TagEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TagEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: TagFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TagViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListForTimeEntry(timeEntryId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag/GetListForTimeEntry/{timeEntryId}\";\r\n if (timeEntryId === undefined || timeEntryId === null)\r\n throw new Error(\"The parameter 'timeEntryId' must be defined.\");\r\n url_ = url_.replace(\"{timeEntryId}\", encodeURIComponent(\"\" + timeEntryId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListForTimeEntry(_response);\r\n });\r\n }\r\n\r\n protected processGetListForTimeEntry(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TagViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectListForFilter(filter: TagFilter | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag/SelectlistForFilter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectListForFilter(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectListForFilter(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StSelectListItemGroup.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: TagEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, editModel: TagEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Tag?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TeamOverviewClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getTimeEntryStats(year: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TeamOverview/GetTimeEntryStats?\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeEntryStats(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeEntryStats(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TeamOverviewTimeValidationModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeEntryStatsMonth(year: number | undefined, month: number | undefined, showOverallBalance: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TeamOverview/GetTimeEntryStatsMonth?\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n if (month === null)\r\n throw new Error(\"The parameter 'month' cannot be null.\");\r\n else if (month !== undefined)\r\n url_ += \"month=\" + encodeURIComponent(\"\" + month) + \"&\";\r\n if (showOverallBalance === null)\r\n throw new Error(\"The parameter 'showOverallBalance' cannot be null.\");\r\n else if (showOverallBalance !== undefined)\r\n url_ += \"showOverallBalance=\" + encodeURIComponent(\"\" + showOverallBalance) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeEntryStatsMonth(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeEntryStatsMonth(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TeamOverviewTimeValidationModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n sendTimeEntrySummaryMail( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/sendtimeentrysummarymail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendTimeEntrySummaryMail(_response);\r\n });\r\n }\r\n\r\n protected processSendTimeEntrySummaryMail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n downloadMonthData(year: number, month: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/downloadmonthdata/{year}/{month}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n if (month === undefined || month === null)\r\n throw new Error(\"The parameter 'month' must be defined.\");\r\n url_ = url_.replace(\"{month}\", encodeURIComponent(\"\" + month));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadMonthData(_response);\r\n });\r\n }\r\n\r\n protected processDownloadMonthData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n downloadYearData(year: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/downloadyeardata/{year}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadYearData(_response);\r\n });\r\n }\r\n\r\n protected processDownloadYearData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n downloadNightWorkData(year: number, month: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/downloadnightworkdata/{year}/{month}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n if (month === undefined || month === null)\r\n throw new Error(\"The parameter 'month' must be defined.\");\r\n url_ = url_.replace(\"{month}\", encodeURIComponent(\"\" + month));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadNightWorkData(_response);\r\n });\r\n }\r\n\r\n protected processDownloadNightWorkData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TimeAccountClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getTimeAccount(year: number | undefined, appUserId: number | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAccount?\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n if (appUserId !== undefined && appUserId !== null)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeAccount(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeAccount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeAccountYearViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n approveOverTimeWeek(command: TimeAccountWeekOvertimeApproveCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processApproveOverTimeWeek(_response);\r\n });\r\n }\r\n\r\n protected processApproveOverTimeWeek(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeAccountSummary(year: number | undefined, appUserId: number | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAccount/summary?\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n if (appUserId !== undefined && appUserId !== null)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeAccountSummary(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeAccountSummary(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeAccountSummaryModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeAccountUserViewModel(appUserId: number | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAccount/usermodel?\";\r\n if (appUserId !== undefined && appUserId !== null)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeAccountUserViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeAccountUserViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeAccountUserViewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeAccountSummaryForTimeEntriesPage(query: TimeAccountSummaryQuery , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAccount/timeaccount-summary\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(query);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeAccountSummaryForTimeEntriesPage(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeAccountSummaryForTimeEntriesPage(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeAccountSummaryTimeEntryPageModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeAccountTeamWeeklyOverview(query: TimeAccountTeamWeeklyOverviewQuery , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAccount/timeaccount-team-weekly-overview\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(query);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeAccountTeamWeeklyOverview(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeAccountTeamWeeklyOverview(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeAccountTeamWeeklyOverviewModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TimeAdjustmentClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getNew(appUserId: number | undefined, date: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAdjustment/new?\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n if (date !== undefined && date !== null)\r\n url_ += \"date=\" + encodeURIComponent(\"\" + date) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeAdjustmentEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAdjustment/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeAdjustmentEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAdjustment/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(filter: TimeAdjustmentFilter , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAdjustment/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeAdjustmentViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: TimeAdjustmentEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAdjustment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, editModel: TimeAdjustmentEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeAdjustment?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TimeEntryClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getSelectLists( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/SelectLists\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectLists(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectLists(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntrySelectLists.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getPauseRulesForCurrentUser( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/GetPauseRulesForCurrentUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPauseRulesForCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processGetPauseRulesForCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryPauseRuleModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getPauseRules(appUserId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/GetPauseRules/{appUserId}\";\r\n if (appUserId === undefined || appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' must be defined.\");\r\n url_ = url_.replace(\"{appUserId}\", encodeURIComponent(\"\" + appUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPauseRules(_response);\r\n });\r\n }\r\n\r\n protected processGetPauseRules(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryPauseRuleModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getIsTimeFromToByProject(projectId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/istimefromto/{projectId}\";\r\n if (projectId === undefined || projectId === null)\r\n throw new Error(\"The parameter 'projectId' must be defined.\");\r\n url_ = url_.replace(\"{projectId}\", encodeURIComponent(\"\" + projectId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetIsTimeFromToByProject(_response);\r\n });\r\n }\r\n\r\n protected processGetIsTimeFromToByProject(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getPreviousDescriptions(entryDate: string | undefined, projectId: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/previousdescriptions?\";\r\n if (entryDate === null)\r\n throw new Error(\"The parameter 'entryDate' cannot be null.\");\r\n else if (entryDate !== undefined)\r\n url_ += \"entryDate=\" + encodeURIComponent(\"\" + entryDate) + \"&\";\r\n if (projectId === null)\r\n throw new Error(\"The parameter 'projectId' cannot be null.\");\r\n else if (projectId !== undefined)\r\n url_ += \"projectId=\" + encodeURIComponent(\"\" + projectId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPreviousDescriptions(_response);\r\n });\r\n }\r\n\r\n protected processGetPreviousDescriptions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNew(type: TimeEntryTypeEnum | undefined, selectedDate: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/new?\";\r\n if (type === null)\r\n throw new Error(\"The parameter 'type' cannot be null.\");\r\n else if (type !== undefined)\r\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\r\n if (selectedDate === null)\r\n throw new Error(\"The parameter 'selectedDate' cannot be null.\");\r\n else if (selectedDate !== undefined)\r\n url_ += \"selectedDate=\" + encodeURIComponent(\"\" + selectedDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList(cw: number | undefined, year: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry?\";\r\n if (cw === null)\r\n throw new Error(\"The parameter 'cw' cannot be null.\");\r\n else if (cw !== undefined)\r\n url_ += \"cw=\" + encodeURIComponent(\"\" + cw) + \"&\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeEntryDay.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(timeEntryEditModel: TimeEntryEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(timeEntryEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(id: number | undefined, timeEntryEditModel: TimeEntryEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(timeEntryEditModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getListForUser(cw: number | undefined, year: number | undefined, appUserId: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/GetListForUser?\";\r\n if (cw === null)\r\n throw new Error(\"The parameter 'cw' cannot be null.\");\r\n else if (cw !== undefined)\r\n url_ += \"cw=\" + encodeURIComponent(\"\" + cw) + \"&\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetListForUser(_response);\r\n });\r\n }\r\n\r\n protected processGetListForUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeEntryDay.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n toggleCleared(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/clear/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processToggleCleared(_response);\r\n });\r\n }\r\n\r\n protected processToggleCleared(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n moveTimeEntry(id: number, newDate: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/move/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(newDate);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMoveTimeEntry(_response);\r\n });\r\n }\r\n\r\n protected processMoveTimeEntry(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n copyTimeEntry(id: number, newDate: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/copy/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(newDate);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCopyTimeEntry(_response);\r\n });\r\n }\r\n\r\n protected processCopyTimeEntry(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n copyLastWorkday(userId: number | undefined, selectedDate: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/copylastworkday?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(selectedDate);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCopyLastWorkday(_response);\r\n });\r\n }\r\n\r\n protected processCopyLastWorkday(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n copyDayPreviousWeek(userId: number | undefined, selectedDate: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/copydaypreviousweek?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(selectedDate);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCopyDayPreviousWeek(_response);\r\n });\r\n }\r\n\r\n protected processCopyDayPreviousWeek(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n undelete(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntry/undelete/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUndelete(_response);\r\n });\r\n }\r\n\r\n protected processUndelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TimeEntryDayApprovalClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getTeamOverviewApprovalModel(date: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/teamoverviewapprovals?\";\r\n if (date === null)\r\n throw new Error(\"The parameter 'date' cannot be null.\");\r\n else if (date !== undefined)\r\n url_ += \"date=\" + encodeURIComponent(\"\" + date) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTeamOverviewApprovalModel(_response);\r\n });\r\n }\r\n\r\n protected processGetTeamOverviewApprovalModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TeamOverviewApprovalModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getTimeEntryDayApprovalEditModel(appUserId: number | undefined, date: string | undefined, mode: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryDayApproval?\";\r\n if (appUserId === null)\r\n throw new Error(\"The parameter 'appUserId' cannot be null.\");\r\n else if (appUserId !== undefined)\r\n url_ += \"appUserId=\" + encodeURIComponent(\"\" + appUserId) + \"&\";\r\n if (date === null)\r\n throw new Error(\"The parameter 'date' cannot be null.\");\r\n else if (date !== undefined)\r\n url_ += \"date=\" + encodeURIComponent(\"\" + date) + \"&\";\r\n if (mode !== undefined && mode !== null)\r\n url_ += \"mode=\" + encodeURIComponent(\"\" + mode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTimeEntryDayApprovalEditModel(_response);\r\n });\r\n }\r\n\r\n protected processGetTimeEntryDayApprovalEditModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryDayApprovalEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n setTimeEntryDayApproval(editModel: TimeEntryDayApprovalEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryDayApproval\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSetTimeEntryDayApproval(_response);\r\n });\r\n }\r\n\r\n protected processSetTimeEntryDayApproval(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNoOfOpenApprovals( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/GetNoOfOpenApprovals\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNoOfOpenApprovals(_response);\r\n });\r\n }\r\n\r\n protected processGetNoOfOpenApprovals(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TimeEntryExtraFieldMetadataClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n getSelectList( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryExtraFieldMetadata/selectlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSelectList(_response);\r\n });\r\n }\r\n\r\n protected processGetSelectList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeEntryExtraFieldDataTypeSelectItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getNew( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryExtraFieldMetadata/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNew(_response);\r\n });\r\n }\r\n\r\n protected processGetNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryExtraFieldMetadataEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryExtraFieldMetadata/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TimeEntryExtraFieldMetadataEditModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n delete(id: number, confirmed: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryExtraFieldMetadata/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (confirmed === null)\r\n throw new Error(\"The parameter 'confirmed' cannot be null.\");\r\n else if (confirmed !== undefined)\r\n url_ += \"confirmed=\" + encodeURIComponent(\"\" + confirmed) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeleteResultModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getList( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryExtraFieldMetadata/getlist\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetList(_response);\r\n });\r\n }\r\n\r\n protected processGetList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeEntryExtraFieldMetadataViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n post(editModel: TimeEntryExtraFieldMetadataEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryExtraFieldMetadata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPost(_response);\r\n });\r\n }\r\n\r\n protected processPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n put(editModel: TimeEntryExtraFieldMetadataEditModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TimeEntryExtraFieldMetadata\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(editModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPut(_response);\r\n });\r\n }\r\n\r\n protected processPut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TransferAccountClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n transferAccount(transferAccountModel: TransferAccountModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TransferAccount/transferaccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(transferAccountModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTransferAccount(_response);\r\n });\r\n }\r\n\r\n protected processTransferAccount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ApiLogClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"http://localhost:5000\";\r\n\r\n }\r\n\r\n log(logModel: LogModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/v3/log\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(logModel);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLog(_response);\r\n });\r\n }\r\n\r\n protected processLog(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AbsenceEditModel implements IAbsenceEditModel {\r\n id?: number;\r\n description?: string | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n isHalfDay?: boolean;\r\n absenceTypeId?: number;\r\n appUserId?: number;\r\n isReadOnly?: boolean;\r\n insertedFromApi?: boolean;\r\n\r\n constructor(data?: IAbsenceEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n this.isHalfDay = _data[\"isHalfDay\"];\r\n this.absenceTypeId = _data[\"absenceTypeId\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.isReadOnly = _data[\"isReadOnly\"];\r\n this.insertedFromApi = _data[\"insertedFromApi\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AbsenceEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AbsenceEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n data[\"isHalfDay\"] = this.isHalfDay;\r\n data[\"absenceTypeId\"] = this.absenceTypeId;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"insertedFromApi\"] = this.insertedFromApi;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAbsenceEditModel {\r\n id?: number;\r\n description?: string | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n isHalfDay?: boolean;\r\n absenceTypeId?: number;\r\n appUserId?: number;\r\n isReadOnly?: boolean;\r\n insertedFromApi?: boolean;\r\n}\r\n\r\nexport class AbsenceTypeViewModel implements IAbsenceTypeViewModel {\r\n id?: number;\r\n approvalNeeded?: boolean;\r\n allowHalfDay?: boolean;\r\n useOvertime?: boolean;\r\n isVacation?: boolean;\r\n description?: string | undefined;\r\n badgeText?: string | undefined;\r\n isUserAddable?: boolean;\r\n absenceTypeEnum?: AbsenceTypeEnum;\r\n isArchived?: boolean;\r\n\r\n constructor(data?: IAbsenceTypeViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.approvalNeeded = _data[\"approvalNeeded\"];\r\n this.allowHalfDay = _data[\"allowHalfDay\"];\r\n this.useOvertime = _data[\"useOvertime\"];\r\n this.isVacation = _data[\"isVacation\"];\r\n this.description = _data[\"description\"];\r\n this.badgeText = _data[\"badgeText\"];\r\n this.isUserAddable = _data[\"isUserAddable\"];\r\n this.absenceTypeEnum = _data[\"absenceTypeEnum\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AbsenceTypeViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AbsenceTypeViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"approvalNeeded\"] = this.approvalNeeded;\r\n data[\"allowHalfDay\"] = this.allowHalfDay;\r\n data[\"useOvertime\"] = this.useOvertime;\r\n data[\"isVacation\"] = this.isVacation;\r\n data[\"description\"] = this.description;\r\n data[\"badgeText\"] = this.badgeText;\r\n data[\"isUserAddable\"] = this.isUserAddable;\r\n data[\"absenceTypeEnum\"] = this.absenceTypeEnum;\r\n data[\"isArchived\"] = this.isArchived;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAbsenceTypeViewModel {\r\n id?: number;\r\n approvalNeeded?: boolean;\r\n allowHalfDay?: boolean;\r\n useOvertime?: boolean;\r\n isVacation?: boolean;\r\n description?: string | undefined;\r\n badgeText?: string | undefined;\r\n isUserAddable?: boolean;\r\n absenceTypeEnum?: AbsenceTypeEnum;\r\n isArchived?: boolean;\r\n}\r\n\r\nexport enum AbsenceTypeEnum {\r\n Vacation = \"Vacation\",\r\n Overtime = \"Overtime\",\r\n Sick = \"Sick\",\r\n Other = \"Other\",\r\n}\r\n\r\nexport class AbsenceUserViewModel implements IAbsenceUserViewModel {\r\n appUser?: AppUserViewModel | undefined;\r\n absences?: AbsenceViewModel[] | undefined;\r\n publicHolidays?: PublicHolidayViewModel[] | undefined;\r\n\r\n constructor(data?: IAbsenceUserViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUser = _data[\"appUser\"] ? AppUserViewModel.fromJS(_data[\"appUser\"]) : undefined;\r\n if (Array.isArray(_data[\"absences\"])) {\r\n this.absences = [] as any;\r\n for (let item of _data[\"absences\"])\r\n this.absences!.push(AbsenceViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"publicHolidays\"])) {\r\n this.publicHolidays = [] as any;\r\n for (let item of _data[\"publicHolidays\"])\r\n this.publicHolidays!.push(PublicHolidayViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AbsenceUserViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AbsenceUserViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUser\"] = this.appUser ? this.appUser.toJSON() : undefined;\r\n if (Array.isArray(this.absences)) {\r\n data[\"absences\"] = [];\r\n for (let item of this.absences)\r\n data[\"absences\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.publicHolidays)) {\r\n data[\"publicHolidays\"] = [];\r\n for (let item of this.publicHolidays)\r\n data[\"publicHolidays\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAbsenceUserViewModel {\r\n appUser?: AppUserViewModel | undefined;\r\n absences?: AbsenceViewModel[] | undefined;\r\n publicHolidays?: PublicHolidayViewModel[] | undefined;\r\n}\r\n\r\nexport class AppUserViewModel implements IAppUserViewModel {\r\n id?: number;\r\n guid?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n isArchived?: boolean;\r\n timeEntriesShowFullWeek?: boolean;\r\n firstDayOfWeek?: DayOfWeek;\r\n datePattern?: string | undefined;\r\n timePattern?: string | undefined;\r\n stopWatchNotficationEnabled?: boolean;\r\n timeEntryNotificationEnabled?: boolean;\r\n useWorkHours?: boolean;\r\n timeRoundingInterval?: number;\r\n isAdmin?: boolean;\r\n isActive?: boolean;\r\n roleName?: string | undefined;\r\n timeAccountDisplayDetails?: boolean;\r\n managerName?: string | undefined;\r\n managerId?: number | undefined;\r\n isPassiveUser?: boolean;\r\n isPassiveUserManager?: boolean;\r\n isBasicTimeTrackingUser?: boolean;\r\n tempUseNewTimeAccountSummary?: boolean;\r\n\r\n constructor(data?: IAppUserViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.guid = _data[\"guid\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.timeEntriesShowFullWeek = _data[\"timeEntriesShowFullWeek\"];\r\n this.firstDayOfWeek = _data[\"firstDayOfWeek\"];\r\n this.datePattern = _data[\"datePattern\"];\r\n this.timePattern = _data[\"timePattern\"];\r\n this.stopWatchNotficationEnabled = _data[\"stopWatchNotficationEnabled\"];\r\n this.timeEntryNotificationEnabled = _data[\"timeEntryNotificationEnabled\"];\r\n this.useWorkHours = _data[\"useWorkHours\"];\r\n this.timeRoundingInterval = _data[\"timeRoundingInterval\"];\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.timeAccountDisplayDetails = _data[\"timeAccountDisplayDetails\"];\r\n this.managerName = _data[\"managerName\"];\r\n this.managerId = _data[\"managerId\"];\r\n this.isPassiveUser = _data[\"isPassiveUser\"];\r\n this.isPassiveUserManager = _data[\"isPassiveUserManager\"];\r\n this.isBasicTimeTrackingUser = _data[\"isBasicTimeTrackingUser\"];\r\n this.tempUseNewTimeAccountSummary = _data[\"tempUseNewTimeAccountSummary\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"guid\"] = this.guid;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"timeEntriesShowFullWeek\"] = this.timeEntriesShowFullWeek;\r\n data[\"firstDayOfWeek\"] = this.firstDayOfWeek;\r\n data[\"datePattern\"] = this.datePattern;\r\n data[\"timePattern\"] = this.timePattern;\r\n data[\"stopWatchNotficationEnabled\"] = this.stopWatchNotficationEnabled;\r\n data[\"timeEntryNotificationEnabled\"] = this.timeEntryNotificationEnabled;\r\n data[\"useWorkHours\"] = this.useWorkHours;\r\n data[\"timeRoundingInterval\"] = this.timeRoundingInterval;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"timeAccountDisplayDetails\"] = this.timeAccountDisplayDetails;\r\n data[\"managerName\"] = this.managerName;\r\n data[\"managerId\"] = this.managerId;\r\n data[\"isPassiveUser\"] = this.isPassiveUser;\r\n data[\"isPassiveUserManager\"] = this.isPassiveUserManager;\r\n data[\"isBasicTimeTrackingUser\"] = this.isBasicTimeTrackingUser;\r\n data[\"tempUseNewTimeAccountSummary\"] = this.tempUseNewTimeAccountSummary;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserViewModel {\r\n id?: number;\r\n guid?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n isArchived?: boolean;\r\n timeEntriesShowFullWeek?: boolean;\r\n firstDayOfWeek?: DayOfWeek;\r\n datePattern?: string | undefined;\r\n timePattern?: string | undefined;\r\n stopWatchNotficationEnabled?: boolean;\r\n timeEntryNotificationEnabled?: boolean;\r\n useWorkHours?: boolean;\r\n timeRoundingInterval?: number;\r\n isAdmin?: boolean;\r\n isActive?: boolean;\r\n roleName?: string | undefined;\r\n timeAccountDisplayDetails?: boolean;\r\n managerName?: string | undefined;\r\n managerId?: number | undefined;\r\n isPassiveUser?: boolean;\r\n isPassiveUserManager?: boolean;\r\n isBasicTimeTrackingUser?: boolean;\r\n tempUseNewTimeAccountSummary?: boolean;\r\n}\r\n\r\nexport enum DayOfWeek {\r\n Sunday = \"Sunday\",\r\n Monday = \"Monday\",\r\n Tuesday = \"Tuesday\",\r\n Wednesday = \"Wednesday\",\r\n Thursday = \"Thursday\",\r\n Friday = \"Friday\",\r\n Saturday = \"Saturday\",\r\n}\r\n\r\nexport class AbsenceViewModel implements IAbsenceViewModel {\r\n id?: number;\r\n description?: string | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n isVacationDay?: boolean;\r\n useOvertime?: boolean;\r\n isApprovalDecided?: boolean;\r\n isApproved?: boolean;\r\n isDeclined?: boolean;\r\n absenceType?: AbsenceTypeViewModel | undefined;\r\n isHalfDay?: boolean;\r\n appUserName?: string | undefined;\r\n appUserId?: number;\r\n isReadOnly?: boolean;\r\n startDayOfYear?: number;\r\n durationDays?: number;\r\n startsLastYear?: boolean;\r\n endsNextYear?: boolean;\r\n\r\n constructor(data?: IAbsenceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n this.isVacationDay = _data[\"isVacationDay\"];\r\n this.useOvertime = _data[\"useOvertime\"];\r\n this.isApprovalDecided = _data[\"isApprovalDecided\"];\r\n this.isApproved = _data[\"isApproved\"];\r\n this.isDeclined = _data[\"isDeclined\"];\r\n this.absenceType = _data[\"absenceType\"] ? AbsenceTypeViewModel.fromJS(_data[\"absenceType\"]) : undefined;\r\n this.isHalfDay = _data[\"isHalfDay\"];\r\n this.appUserName = _data[\"appUserName\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.isReadOnly = _data[\"isReadOnly\"];\r\n this.startDayOfYear = _data[\"startDayOfYear\"];\r\n this.durationDays = _data[\"durationDays\"];\r\n this.startsLastYear = _data[\"startsLastYear\"];\r\n this.endsNextYear = _data[\"endsNextYear\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AbsenceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AbsenceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n data[\"isVacationDay\"] = this.isVacationDay;\r\n data[\"useOvertime\"] = this.useOvertime;\r\n data[\"isApprovalDecided\"] = this.isApprovalDecided;\r\n data[\"isApproved\"] = this.isApproved;\r\n data[\"isDeclined\"] = this.isDeclined;\r\n data[\"absenceType\"] = this.absenceType ? this.absenceType.toJSON() : undefined;\r\n data[\"isHalfDay\"] = this.isHalfDay;\r\n data[\"appUserName\"] = this.appUserName;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"isReadOnly\"] = this.isReadOnly;\r\n data[\"startDayOfYear\"] = this.startDayOfYear;\r\n data[\"durationDays\"] = this.durationDays;\r\n data[\"startsLastYear\"] = this.startsLastYear;\r\n data[\"endsNextYear\"] = this.endsNextYear;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAbsenceViewModel {\r\n id?: number;\r\n description?: string | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n isVacationDay?: boolean;\r\n useOvertime?: boolean;\r\n isApprovalDecided?: boolean;\r\n isApproved?: boolean;\r\n isDeclined?: boolean;\r\n absenceType?: AbsenceTypeViewModel | undefined;\r\n isHalfDay?: boolean;\r\n appUserName?: string | undefined;\r\n appUserId?: number;\r\n isReadOnly?: boolean;\r\n startDayOfYear?: number;\r\n durationDays?: number;\r\n startsLastYear?: boolean;\r\n endsNextYear?: boolean;\r\n}\r\n\r\nexport class PublicHolidayViewModel implements IPublicHolidayViewModel {\r\n id?: number;\r\n publicHolidayDate?: string;\r\n description?: string | undefined;\r\n isHalfDay?: boolean;\r\n isGlobal?: boolean;\r\n dayOfYear?: number;\r\n\r\n constructor(data?: IPublicHolidayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.publicHolidayDate = _data[\"publicHolidayDate\"];\r\n this.description = _data[\"description\"];\r\n this.isHalfDay = _data[\"isHalfDay\"];\r\n this.isGlobal = _data[\"isGlobal\"];\r\n this.dayOfYear = _data[\"dayOfYear\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublicHolidayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublicHolidayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"publicHolidayDate\"] = this.publicHolidayDate;\r\n data[\"description\"] = this.description;\r\n data[\"isHalfDay\"] = this.isHalfDay;\r\n data[\"isGlobal\"] = this.isGlobal;\r\n data[\"dayOfYear\"] = this.dayOfYear;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublicHolidayViewModel {\r\n id?: number;\r\n publicHolidayDate?: string;\r\n description?: string | undefined;\r\n isHalfDay?: boolean;\r\n isGlobal?: boolean;\r\n dayOfYear?: number;\r\n}\r\n\r\nexport class VacationStatsViewModel implements IVacationStatsViewModel {\r\n approvedVacationDays?: number;\r\n requestedVacationDays?: number;\r\n restVacationDays?: number;\r\n carryOverVactionDays?: number;\r\n nextVacation?: AbsenceViewModel | undefined;\r\n nextVacationInDays?: number;\r\n currentYearNewVacationDays?: number;\r\n totalVacationDaysThisYear?: number;\r\n\r\n constructor(data?: IVacationStatsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.approvedVacationDays = _data[\"approvedVacationDays\"];\r\n this.requestedVacationDays = _data[\"requestedVacationDays\"];\r\n this.restVacationDays = _data[\"restVacationDays\"];\r\n this.carryOverVactionDays = _data[\"carryOverVactionDays\"];\r\n this.nextVacation = _data[\"nextVacation\"] ? AbsenceViewModel.fromJS(_data[\"nextVacation\"]) : undefined;\r\n this.nextVacationInDays = _data[\"nextVacationInDays\"];\r\n this.currentYearNewVacationDays = _data[\"currentYearNewVacationDays\"];\r\n this.totalVacationDaysThisYear = _data[\"totalVacationDaysThisYear\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VacationStatsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VacationStatsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"approvedVacationDays\"] = this.approvedVacationDays;\r\n data[\"requestedVacationDays\"] = this.requestedVacationDays;\r\n data[\"restVacationDays\"] = this.restVacationDays;\r\n data[\"carryOverVactionDays\"] = this.carryOverVactionDays;\r\n data[\"nextVacation\"] = this.nextVacation ? this.nextVacation.toJSON() : undefined;\r\n data[\"nextVacationInDays\"] = this.nextVacationInDays;\r\n data[\"currentYearNewVacationDays\"] = this.currentYearNewVacationDays;\r\n data[\"totalVacationDaysThisYear\"] = this.totalVacationDaysThisYear;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVacationStatsViewModel {\r\n approvedVacationDays?: number;\r\n requestedVacationDays?: number;\r\n restVacationDays?: number;\r\n carryOverVactionDays?: number;\r\n nextVacation?: AbsenceViewModel | undefined;\r\n nextVacationInDays?: number;\r\n currentYearNewVacationDays?: number;\r\n totalVacationDaysThisYear?: number;\r\n}\r\n\r\nexport class AbsenceFilter implements IAbsenceFilter {\r\n id?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n year?: number | undefined;\r\n approvalNeeded?: boolean | undefined;\r\n isApproved?: boolean | undefined;\r\n appUserId?: number | undefined;\r\n appUserIds?: number[] | undefined;\r\n displayAllUsers?: boolean | undefined;\r\n isApprovalDecided?: boolean | undefined;\r\n absenceTypeId?: number | undefined;\r\n\r\n constructor(data?: IAbsenceFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n this.year = _data[\"year\"];\r\n this.approvalNeeded = _data[\"approvalNeeded\"];\r\n this.isApproved = _data[\"isApproved\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n if (Array.isArray(_data[\"appUserIds\"])) {\r\n this.appUserIds = [] as any;\r\n for (let item of _data[\"appUserIds\"])\r\n this.appUserIds!.push(item);\r\n }\r\n this.displayAllUsers = _data[\"displayAllUsers\"];\r\n this.isApprovalDecided = _data[\"isApprovalDecided\"];\r\n this.absenceTypeId = _data[\"absenceTypeId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AbsenceFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AbsenceFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n data[\"year\"] = this.year;\r\n data[\"approvalNeeded\"] = this.approvalNeeded;\r\n data[\"isApproved\"] = this.isApproved;\r\n data[\"appUserId\"] = this.appUserId;\r\n if (Array.isArray(this.appUserIds)) {\r\n data[\"appUserIds\"] = [];\r\n for (let item of this.appUserIds)\r\n data[\"appUserIds\"].push(item);\r\n }\r\n data[\"displayAllUsers\"] = this.displayAllUsers;\r\n data[\"isApprovalDecided\"] = this.isApprovalDecided;\r\n data[\"absenceTypeId\"] = this.absenceTypeId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAbsenceFilter {\r\n id?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n year?: number | undefined;\r\n approvalNeeded?: boolean | undefined;\r\n isApproved?: boolean | undefined;\r\n appUserId?: number | undefined;\r\n appUserIds?: number[] | undefined;\r\n displayAllUsers?: boolean | undefined;\r\n isApprovalDecided?: boolean | undefined;\r\n absenceTypeId?: number | undefined;\r\n}\r\n\r\nexport class AbsenceValidationResultViewModel implements IAbsenceValidationResultViewModel {\r\n neededVacationDays?: number;\r\n isOverlappingAbsence?: boolean;\r\n notEnoughVacationDaysRemaining?: boolean;\r\n neededVacationDaysPerYear?: YearDay[] | undefined;\r\n remainingVacationDaysPerYear?: YearDay[] | undefined;\r\n\r\n constructor(data?: IAbsenceValidationResultViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.neededVacationDays = _data[\"neededVacationDays\"];\r\n this.isOverlappingAbsence = _data[\"isOverlappingAbsence\"];\r\n this.notEnoughVacationDaysRemaining = _data[\"notEnoughVacationDaysRemaining\"];\r\n if (Array.isArray(_data[\"neededVacationDaysPerYear\"])) {\r\n this.neededVacationDaysPerYear = [] as any;\r\n for (let item of _data[\"neededVacationDaysPerYear\"])\r\n this.neededVacationDaysPerYear!.push(YearDay.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"remainingVacationDaysPerYear\"])) {\r\n this.remainingVacationDaysPerYear = [] as any;\r\n for (let item of _data[\"remainingVacationDaysPerYear\"])\r\n this.remainingVacationDaysPerYear!.push(YearDay.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AbsenceValidationResultViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AbsenceValidationResultViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"neededVacationDays\"] = this.neededVacationDays;\r\n data[\"isOverlappingAbsence\"] = this.isOverlappingAbsence;\r\n data[\"notEnoughVacationDaysRemaining\"] = this.notEnoughVacationDaysRemaining;\r\n if (Array.isArray(this.neededVacationDaysPerYear)) {\r\n data[\"neededVacationDaysPerYear\"] = [];\r\n for (let item of this.neededVacationDaysPerYear)\r\n data[\"neededVacationDaysPerYear\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.remainingVacationDaysPerYear)) {\r\n data[\"remainingVacationDaysPerYear\"] = [];\r\n for (let item of this.remainingVacationDaysPerYear)\r\n data[\"remainingVacationDaysPerYear\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAbsenceValidationResultViewModel {\r\n neededVacationDays?: number;\r\n isOverlappingAbsence?: boolean;\r\n notEnoughVacationDaysRemaining?: boolean;\r\n neededVacationDaysPerYear?: YearDay[] | undefined;\r\n remainingVacationDaysPerYear?: YearDay[] | undefined;\r\n}\r\n\r\nexport class YearDay implements IYearDay {\r\n year?: number;\r\n number?: number;\r\n\r\n constructor(data?: IYearDay) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n this.number = _data[\"number\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): YearDay {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new YearDay();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n data[\"number\"] = this.number;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IYearDay {\r\n year?: number;\r\n number?: number;\r\n}\r\n\r\nexport class DeleteResultModel implements IDeleteResultModel {\r\n confirmationNeeded?: boolean;\r\n success?: boolean;\r\n message?: string | undefined;\r\n\r\n constructor(data?: IDeleteResultModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.confirmationNeeded = _data[\"confirmationNeeded\"];\r\n this.success = _data[\"success\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteResultModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteResultModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"confirmationNeeded\"] = this.confirmationNeeded;\r\n data[\"success\"] = this.success;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteResultModel {\r\n confirmationNeeded?: boolean;\r\n success?: boolean;\r\n message?: string | undefined;\r\n}\r\n\r\nexport class AbsenceTypeEditModel implements IAbsenceTypeEditModel {\r\n id?: number;\r\n approvalNeeded?: boolean;\r\n allowHalfDay?: boolean;\r\n description?: string | undefined;\r\n absenceTypeEnum?: AbsenceTypeEnum;\r\n\r\n constructor(data?: IAbsenceTypeEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.approvalNeeded = _data[\"approvalNeeded\"];\r\n this.allowHalfDay = _data[\"allowHalfDay\"];\r\n this.description = _data[\"description\"];\r\n this.absenceTypeEnum = _data[\"absenceTypeEnum\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AbsenceTypeEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AbsenceTypeEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"approvalNeeded\"] = this.approvalNeeded;\r\n data[\"allowHalfDay\"] = this.allowHalfDay;\r\n data[\"description\"] = this.description;\r\n data[\"absenceTypeEnum\"] = this.absenceTypeEnum;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAbsenceTypeEditModel {\r\n id?: number;\r\n approvalNeeded?: boolean;\r\n allowHalfDay?: boolean;\r\n description?: string | undefined;\r\n absenceTypeEnum?: AbsenceTypeEnum;\r\n}\r\n\r\nexport class AccountEditModel implements IAccountEditModel {\r\n featureFlagInvoiceEmail?: boolean;\r\n featureFlagInternalUserCost?: boolean;\r\n id?: number;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n currency?: string | undefined;\r\n useRateRules?: boolean;\r\n useAbsences?: boolean;\r\n disableVacationCarryOver?: boolean;\r\n useTags?: boolean;\r\n useProjectTasks?: boolean;\r\n mainColor?: string | undefined;\r\n secondaryColor?: string | undefined;\r\n logoBytes?: string | undefined;\r\n logoMimeType?: string | undefined;\r\n logoFileName?: string | undefined;\r\n globalRate?: number;\r\n noRates?: boolean;\r\n noOutgoingInvoices?: boolean;\r\n useEmailSending?: boolean;\r\n useTimeAccount?: boolean;\r\n useInternalUserCost?: boolean;\r\n useBasicTimeTracking?: boolean;\r\n useFixedPriceProjects?: boolean;\r\n\r\n constructor(data?: IAccountEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.featureFlagInvoiceEmail = _data[\"featureFlagInvoiceEmail\"];\r\n this.featureFlagInternalUserCost = _data[\"featureFlagInternalUserCost\"];\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.currency = _data[\"currency\"];\r\n this.useRateRules = _data[\"useRateRules\"];\r\n this.useAbsences = _data[\"useAbsences\"];\r\n this.disableVacationCarryOver = _data[\"disableVacationCarryOver\"];\r\n this.useTags = _data[\"useTags\"];\r\n this.useProjectTasks = _data[\"useProjectTasks\"];\r\n this.mainColor = _data[\"mainColor\"];\r\n this.secondaryColor = _data[\"secondaryColor\"];\r\n this.logoBytes = _data[\"logoBytes\"];\r\n this.logoMimeType = _data[\"logoMimeType\"];\r\n this.logoFileName = _data[\"logoFileName\"];\r\n this.globalRate = _data[\"globalRate\"];\r\n this.noRates = _data[\"noRates\"];\r\n this.noOutgoingInvoices = _data[\"noOutgoingInvoices\"];\r\n this.useEmailSending = _data[\"useEmailSending\"];\r\n this.useTimeAccount = _data[\"useTimeAccount\"];\r\n this.useInternalUserCost = _data[\"useInternalUserCost\"];\r\n this.useBasicTimeTracking = _data[\"useBasicTimeTracking\"];\r\n this.useFixedPriceProjects = _data[\"useFixedPriceProjects\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"featureFlagInvoiceEmail\"] = this.featureFlagInvoiceEmail;\r\n data[\"featureFlagInternalUserCost\"] = this.featureFlagInternalUserCost;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"currency\"] = this.currency;\r\n data[\"useRateRules\"] = this.useRateRules;\r\n data[\"useAbsences\"] = this.useAbsences;\r\n data[\"disableVacationCarryOver\"] = this.disableVacationCarryOver;\r\n data[\"useTags\"] = this.useTags;\r\n data[\"useProjectTasks\"] = this.useProjectTasks;\r\n data[\"mainColor\"] = this.mainColor;\r\n data[\"secondaryColor\"] = this.secondaryColor;\r\n data[\"logoBytes\"] = this.logoBytes;\r\n data[\"logoMimeType\"] = this.logoMimeType;\r\n data[\"logoFileName\"] = this.logoFileName;\r\n data[\"globalRate\"] = this.globalRate;\r\n data[\"noRates\"] = this.noRates;\r\n data[\"noOutgoingInvoices\"] = this.noOutgoingInvoices;\r\n data[\"useEmailSending\"] = this.useEmailSending;\r\n data[\"useTimeAccount\"] = this.useTimeAccount;\r\n data[\"useInternalUserCost\"] = this.useInternalUserCost;\r\n data[\"useBasicTimeTracking\"] = this.useBasicTimeTracking;\r\n data[\"useFixedPriceProjects\"] = this.useFixedPriceProjects;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountEditModel {\r\n featureFlagInvoiceEmail?: boolean;\r\n featureFlagInternalUserCost?: boolean;\r\n id?: number;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n currency?: string | undefined;\r\n useRateRules?: boolean;\r\n useAbsences?: boolean;\r\n disableVacationCarryOver?: boolean;\r\n useTags?: boolean;\r\n useProjectTasks?: boolean;\r\n mainColor?: string | undefined;\r\n secondaryColor?: string | undefined;\r\n logoBytes?: string | undefined;\r\n logoMimeType?: string | undefined;\r\n logoFileName?: string | undefined;\r\n globalRate?: number;\r\n noRates?: boolean;\r\n noOutgoingInvoices?: boolean;\r\n useEmailSending?: boolean;\r\n useTimeAccount?: boolean;\r\n useInternalUserCost?: boolean;\r\n useBasicTimeTracking?: boolean;\r\n useFixedPriceProjects?: boolean;\r\n}\r\n\r\nexport class AccountTimeTrackingSettingsEditModel implements IAccountTimeTrackingSettingsEditModel {\r\n timeEntryMode?: TimeEntryModeEnum;\r\n pauseMode?: PauseMode;\r\n tagsRequired?: boolean;\r\n projectTaskRequired?: boolean;\r\n descriptionMinChars?: number;\r\n timeEntryIsBillableNotChangeable?: boolean;\r\n showConsumedBudgetOnSave?: boolean;\r\n usePauseRuleWarnings?: boolean;\r\n enforcePauseRules?: boolean;\r\n restrictTimeEntryInPast?: boolean;\r\n restrictTimeEntryInPastNoOfDays?: number;\r\n restrictTimeEntryInFuture?: boolean;\r\n restrictTimeEntryInFutureNoOfDays?: number;\r\n showAdditionalInsertAppUserSelect?: boolean;\r\n basicTimeTrackingDefaultProjectId?: number | undefined;\r\n openTimeEntryWhenStopStopwatch?: boolean;\r\n\r\n constructor(data?: IAccountTimeTrackingSettingsEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timeEntryMode = _data[\"timeEntryMode\"];\r\n this.pauseMode = _data[\"pauseMode\"];\r\n this.tagsRequired = _data[\"tagsRequired\"];\r\n this.projectTaskRequired = _data[\"projectTaskRequired\"];\r\n this.descriptionMinChars = _data[\"descriptionMinChars\"];\r\n this.timeEntryIsBillableNotChangeable = _data[\"timeEntryIsBillableNotChangeable\"];\r\n this.showConsumedBudgetOnSave = _data[\"showConsumedBudgetOnSave\"];\r\n this.usePauseRuleWarnings = _data[\"usePauseRuleWarnings\"];\r\n this.enforcePauseRules = _data[\"enforcePauseRules\"];\r\n this.restrictTimeEntryInPast = _data[\"restrictTimeEntryInPast\"];\r\n this.restrictTimeEntryInPastNoOfDays = _data[\"restrictTimeEntryInPastNoOfDays\"];\r\n this.restrictTimeEntryInFuture = _data[\"restrictTimeEntryInFuture\"];\r\n this.restrictTimeEntryInFutureNoOfDays = _data[\"restrictTimeEntryInFutureNoOfDays\"];\r\n this.showAdditionalInsertAppUserSelect = _data[\"showAdditionalInsertAppUserSelect\"];\r\n this.basicTimeTrackingDefaultProjectId = _data[\"basicTimeTrackingDefaultProjectId\"];\r\n this.openTimeEntryWhenStopStopwatch = _data[\"openTimeEntryWhenStopStopwatch\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountTimeTrackingSettingsEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountTimeTrackingSettingsEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timeEntryMode\"] = this.timeEntryMode;\r\n data[\"pauseMode\"] = this.pauseMode;\r\n data[\"tagsRequired\"] = this.tagsRequired;\r\n data[\"projectTaskRequired\"] = this.projectTaskRequired;\r\n data[\"descriptionMinChars\"] = this.descriptionMinChars;\r\n data[\"timeEntryIsBillableNotChangeable\"] = this.timeEntryIsBillableNotChangeable;\r\n data[\"showConsumedBudgetOnSave\"] = this.showConsumedBudgetOnSave;\r\n data[\"usePauseRuleWarnings\"] = this.usePauseRuleWarnings;\r\n data[\"enforcePauseRules\"] = this.enforcePauseRules;\r\n data[\"restrictTimeEntryInPast\"] = this.restrictTimeEntryInPast;\r\n data[\"restrictTimeEntryInPastNoOfDays\"] = this.restrictTimeEntryInPastNoOfDays;\r\n data[\"restrictTimeEntryInFuture\"] = this.restrictTimeEntryInFuture;\r\n data[\"restrictTimeEntryInFutureNoOfDays\"] = this.restrictTimeEntryInFutureNoOfDays;\r\n data[\"showAdditionalInsertAppUserSelect\"] = this.showAdditionalInsertAppUserSelect;\r\n data[\"basicTimeTrackingDefaultProjectId\"] = this.basicTimeTrackingDefaultProjectId;\r\n data[\"openTimeEntryWhenStopStopwatch\"] = this.openTimeEntryWhenStopStopwatch;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountTimeTrackingSettingsEditModel {\r\n timeEntryMode?: TimeEntryModeEnum;\r\n pauseMode?: PauseMode;\r\n tagsRequired?: boolean;\r\n projectTaskRequired?: boolean;\r\n descriptionMinChars?: number;\r\n timeEntryIsBillableNotChangeable?: boolean;\r\n showConsumedBudgetOnSave?: boolean;\r\n usePauseRuleWarnings?: boolean;\r\n enforcePauseRules?: boolean;\r\n restrictTimeEntryInPast?: boolean;\r\n restrictTimeEntryInPastNoOfDays?: number;\r\n restrictTimeEntryInFuture?: boolean;\r\n restrictTimeEntryInFutureNoOfDays?: number;\r\n showAdditionalInsertAppUserSelect?: boolean;\r\n basicTimeTrackingDefaultProjectId?: number | undefined;\r\n openTimeEntryWhenStopStopwatch?: boolean;\r\n}\r\n\r\nexport enum TimeEntryModeEnum {\r\n DurationAndTimeFromTo = \"DurationAndTimeFromTo\",\r\n Duration = \"Duration\",\r\n TimeFromTo = \"TimeFromTo\",\r\n}\r\n\r\nexport enum PauseMode {\r\n None = \"None\",\r\n Manual = \"Manual\",\r\n Auto = \"Auto\",\r\n TimeEntry = \"TimeEntry\",\r\n}\r\n\r\nexport class AccountInvoiceDataEditModel implements IAccountInvoiceDataEditModel {\r\n paymentRecipient?: string | undefined;\r\n paymentCompany?: string | undefined;\r\n paymentStreet?: string | undefined;\r\n paymentZip?: string | undefined;\r\n paymentCity?: string | undefined;\r\n paymentCountry?: string | undefined;\r\n paymentVatId?: string | undefined;\r\n invoiceEmail?: string | undefined;\r\n\r\n constructor(data?: IAccountInvoiceDataEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.paymentRecipient = _data[\"paymentRecipient\"];\r\n this.paymentCompany = _data[\"paymentCompany\"];\r\n this.paymentStreet = _data[\"paymentStreet\"];\r\n this.paymentZip = _data[\"paymentZip\"];\r\n this.paymentCity = _data[\"paymentCity\"];\r\n this.paymentCountry = _data[\"paymentCountry\"];\r\n this.paymentVatId = _data[\"paymentVatId\"];\r\n this.invoiceEmail = _data[\"invoiceEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountInvoiceDataEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountInvoiceDataEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"paymentRecipient\"] = this.paymentRecipient;\r\n data[\"paymentCompany\"] = this.paymentCompany;\r\n data[\"paymentStreet\"] = this.paymentStreet;\r\n data[\"paymentZip\"] = this.paymentZip;\r\n data[\"paymentCity\"] = this.paymentCity;\r\n data[\"paymentCountry\"] = this.paymentCountry;\r\n data[\"paymentVatId\"] = this.paymentVatId;\r\n data[\"invoiceEmail\"] = this.invoiceEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountInvoiceDataEditModel {\r\n paymentRecipient?: string | undefined;\r\n paymentCompany?: string | undefined;\r\n paymentStreet?: string | undefined;\r\n paymentZip?: string | undefined;\r\n paymentCity?: string | undefined;\r\n paymentCountry?: string | undefined;\r\n paymentVatId?: string | undefined;\r\n invoiceEmail?: string | undefined;\r\n}\r\n\r\nexport class LicenseDataEditModel implements ILicenseDataEditModel {\r\n userCount?: number;\r\n userCountBasic?: number;\r\n minUserCount?: number;\r\n minUserCountBasic?: number;\r\n payedUserCount?: number;\r\n payedUserCountBasic?: number;\r\n paidTill?: string | undefined;\r\n paymentInterval?: string | undefined;\r\n isUserCountUpdate?: boolean;\r\n\r\n constructor(data?: ILicenseDataEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userCount = _data[\"userCount\"];\r\n this.userCountBasic = _data[\"userCountBasic\"];\r\n this.minUserCount = _data[\"minUserCount\"];\r\n this.minUserCountBasic = _data[\"minUserCountBasic\"];\r\n this.payedUserCount = _data[\"payedUserCount\"];\r\n this.payedUserCountBasic = _data[\"payedUserCountBasic\"];\r\n this.paidTill = _data[\"paidTill\"];\r\n this.paymentInterval = _data[\"paymentInterval\"];\r\n this.isUserCountUpdate = _data[\"isUserCountUpdate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LicenseDataEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LicenseDataEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userCount\"] = this.userCount;\r\n data[\"userCountBasic\"] = this.userCountBasic;\r\n data[\"minUserCount\"] = this.minUserCount;\r\n data[\"minUserCountBasic\"] = this.minUserCountBasic;\r\n data[\"payedUserCount\"] = this.payedUserCount;\r\n data[\"payedUserCountBasic\"] = this.payedUserCountBasic;\r\n data[\"paidTill\"] = this.paidTill;\r\n data[\"paymentInterval\"] = this.paymentInterval;\r\n data[\"isUserCountUpdate\"] = this.isUserCountUpdate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILicenseDataEditModel {\r\n userCount?: number;\r\n userCountBasic?: number;\r\n minUserCount?: number;\r\n minUserCountBasic?: number;\r\n payedUserCount?: number;\r\n payedUserCountBasic?: number;\r\n paidTill?: string | undefined;\r\n paymentInterval?: string | undefined;\r\n isUserCountUpdate?: boolean;\r\n}\r\n\r\nexport class LicenseDataViewModel implements ILicenseDataViewModel {\r\n userCount?: number;\r\n userCountBasic?: number;\r\n minUserCount?: number;\r\n minUserCountBasic?: number;\r\n basePriceCent?: number;\r\n basePriceCentBasic?: number;\r\n basePriceCentYearly?: number;\r\n basePriceCentYearlyBasic?: number;\r\n paymentInterval?: string | undefined;\r\n\r\n constructor(data?: ILicenseDataViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userCount = _data[\"userCount\"];\r\n this.userCountBasic = _data[\"userCountBasic\"];\r\n this.minUserCount = _data[\"minUserCount\"];\r\n this.minUserCountBasic = _data[\"minUserCountBasic\"];\r\n this.basePriceCent = _data[\"basePriceCent\"];\r\n this.basePriceCentBasic = _data[\"basePriceCentBasic\"];\r\n this.basePriceCentYearly = _data[\"basePriceCentYearly\"];\r\n this.basePriceCentYearlyBasic = _data[\"basePriceCentYearlyBasic\"];\r\n this.paymentInterval = _data[\"paymentInterval\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LicenseDataViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LicenseDataViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userCount\"] = this.userCount;\r\n data[\"userCountBasic\"] = this.userCountBasic;\r\n data[\"minUserCount\"] = this.minUserCount;\r\n data[\"minUserCountBasic\"] = this.minUserCountBasic;\r\n data[\"basePriceCent\"] = this.basePriceCent;\r\n data[\"basePriceCentBasic\"] = this.basePriceCentBasic;\r\n data[\"basePriceCentYearly\"] = this.basePriceCentYearly;\r\n data[\"basePriceCentYearlyBasic\"] = this.basePriceCentYearlyBasic;\r\n data[\"paymentInterval\"] = this.paymentInterval;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILicenseDataViewModel {\r\n userCount?: number;\r\n userCountBasic?: number;\r\n minUserCount?: number;\r\n minUserCountBasic?: number;\r\n basePriceCent?: number;\r\n basePriceCentBasic?: number;\r\n basePriceCentYearly?: number;\r\n basePriceCentYearlyBasic?: number;\r\n paymentInterval?: string | undefined;\r\n}\r\n\r\nexport class PaymentAmountModel implements IPaymentAmountModel {\r\n userCount?: number;\r\n userCountBasic?: number;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n monthsToPay?: number;\r\n basePrice?: number;\r\n basePriceBasic?: number;\r\n reverseCharge?: boolean;\r\n vat?: number;\r\n paidTill?: string | undefined;\r\n noInvoiceNeeded?: boolean;\r\n\r\n constructor(data?: IPaymentAmountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userCount = _data[\"userCount\"];\r\n this.userCountBasic = _data[\"userCountBasic\"];\r\n this.amount = _data[\"amount\"];\r\n this.amountFull = _data[\"amountFull\"];\r\n this.amountBasic = _data[\"amountBasic\"];\r\n this.monthsToPay = _data[\"monthsToPay\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.basePriceBasic = _data[\"basePriceBasic\"];\r\n this.reverseCharge = _data[\"reverseCharge\"];\r\n this.vat = _data[\"vat\"];\r\n this.paidTill = _data[\"paidTill\"];\r\n this.noInvoiceNeeded = _data[\"noInvoiceNeeded\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentAmountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentAmountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userCount\"] = this.userCount;\r\n data[\"userCountBasic\"] = this.userCountBasic;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountFull\"] = this.amountFull;\r\n data[\"amountBasic\"] = this.amountBasic;\r\n data[\"monthsToPay\"] = this.monthsToPay;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"basePriceBasic\"] = this.basePriceBasic;\r\n data[\"reverseCharge\"] = this.reverseCharge;\r\n data[\"vat\"] = this.vat;\r\n data[\"paidTill\"] = this.paidTill;\r\n data[\"noInvoiceNeeded\"] = this.noInvoiceNeeded;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentAmountModel {\r\n userCount?: number;\r\n userCountBasic?: number;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n monthsToPay?: number;\r\n basePrice?: number;\r\n basePriceBasic?: number;\r\n reverseCharge?: boolean;\r\n vat?: number;\r\n paidTill?: string | undefined;\r\n noInvoiceNeeded?: boolean;\r\n}\r\n\r\nexport class ContractDataViewModel implements IContractDataViewModel {\r\n invoiceData?: AccountInvoiceDataEditModel | undefined;\r\n licenseData?: LicenseDataEditModel | undefined;\r\n paymentData?: PaymentDataViewModel | undefined;\r\n invoices?: InvoiceListViewModel[] | undefined;\r\n contractStatus?: ContractStatusEnum;\r\n\r\n constructor(data?: IContractDataViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.invoiceData = _data[\"invoiceData\"] ? AccountInvoiceDataEditModel.fromJS(_data[\"invoiceData\"]) : undefined;\r\n this.licenseData = _data[\"licenseData\"] ? LicenseDataEditModel.fromJS(_data[\"licenseData\"]) : undefined;\r\n this.paymentData = _data[\"paymentData\"] ? PaymentDataViewModel.fromJS(_data[\"paymentData\"]) : undefined;\r\n if (Array.isArray(_data[\"invoices\"])) {\r\n this.invoices = [] as any;\r\n for (let item of _data[\"invoices\"])\r\n this.invoices!.push(InvoiceListViewModel.fromJS(item));\r\n }\r\n this.contractStatus = _data[\"contractStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractDataViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractDataViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"invoiceData\"] = this.invoiceData ? this.invoiceData.toJSON() : undefined;\r\n data[\"licenseData\"] = this.licenseData ? this.licenseData.toJSON() : undefined;\r\n data[\"paymentData\"] = this.paymentData ? this.paymentData.toJSON() : undefined;\r\n if (Array.isArray(this.invoices)) {\r\n data[\"invoices\"] = [];\r\n for (let item of this.invoices)\r\n data[\"invoices\"].push(item.toJSON());\r\n }\r\n data[\"contractStatus\"] = this.contractStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContractDataViewModel {\r\n invoiceData?: AccountInvoiceDataEditModel | undefined;\r\n licenseData?: LicenseDataEditModel | undefined;\r\n paymentData?: PaymentDataViewModel | undefined;\r\n invoices?: InvoiceListViewModel[] | undefined;\r\n contractStatus?: ContractStatusEnum;\r\n}\r\n\r\nexport class PaymentDataViewModel implements IPaymentDataViewModel {\r\n paymentIsSetup?: boolean;\r\n paymentMethod?: string | undefined;\r\n paymentLastDigits?: string | undefined;\r\n paymentInterval?: string | undefined;\r\n paymentPaidTill?: string;\r\n\r\n constructor(data?: IPaymentDataViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.paymentIsSetup = _data[\"paymentIsSetup\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.paymentLastDigits = _data[\"paymentLastDigits\"];\r\n this.paymentInterval = _data[\"paymentInterval\"];\r\n this.paymentPaidTill = _data[\"paymentPaidTill\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentDataViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentDataViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"paymentIsSetup\"] = this.paymentIsSetup;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"paymentLastDigits\"] = this.paymentLastDigits;\r\n data[\"paymentInterval\"] = this.paymentInterval;\r\n data[\"paymentPaidTill\"] = this.paymentPaidTill;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentDataViewModel {\r\n paymentIsSetup?: boolean;\r\n paymentMethod?: string | undefined;\r\n paymentLastDigits?: string | undefined;\r\n paymentInterval?: string | undefined;\r\n paymentPaidTill?: string;\r\n}\r\n\r\nexport class InvoiceListViewModel implements IInvoiceListViewModel {\r\n id?: number;\r\n invoiceNumber?: string | undefined;\r\n paymentId?: string | undefined;\r\n createdDate?: string;\r\n amountCent?: number;\r\n userCount?: number;\r\n isPaid?: boolean;\r\n paymentMethod?: string | undefined;\r\n paymentStatus?: PaymentStatusEnum;\r\n\r\n constructor(data?: IInvoiceListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.invoiceNumber = _data[\"invoiceNumber\"];\r\n this.paymentId = _data[\"paymentId\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n this.amountCent = _data[\"amountCent\"];\r\n this.userCount = _data[\"userCount\"];\r\n this.isPaid = _data[\"isPaid\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.paymentStatus = _data[\"paymentStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"invoiceNumber\"] = this.invoiceNumber;\r\n data[\"paymentId\"] = this.paymentId;\r\n data[\"createdDate\"] = this.createdDate;\r\n data[\"amountCent\"] = this.amountCent;\r\n data[\"userCount\"] = this.userCount;\r\n data[\"isPaid\"] = this.isPaid;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"paymentStatus\"] = this.paymentStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceListViewModel {\r\n id?: number;\r\n invoiceNumber?: string | undefined;\r\n paymentId?: string | undefined;\r\n createdDate?: string;\r\n amountCent?: number;\r\n userCount?: number;\r\n isPaid?: boolean;\r\n paymentMethod?: string | undefined;\r\n paymentStatus?: PaymentStatusEnum;\r\n}\r\n\r\nexport enum PaymentStatusEnum {\r\n Open = \"Open\",\r\n Processing = \"Processing\",\r\n Succeeded = \"Succeeded\",\r\n Failed = \"Failed\",\r\n Error = \"Error\",\r\n WrittenOff = \"WrittenOff\",\r\n}\r\n\r\nexport enum ContractStatusEnum {\r\n Trial = \"Trial\",\r\n Unpaid = \"Unpaid\",\r\n Active = \"Active\",\r\n AwaitingPayment = \"AwaitingPayment\",\r\n Cancelled = \"Cancelled\",\r\n}\r\n\r\nexport class AccountAdvEditModel implements IAccountAdvEditModel {\r\n advContactName?: string | undefined;\r\n advContactPhone?: string | undefined;\r\n advContactEmail?: string | undefined;\r\n advCompany?: string | undefined;\r\n advCompanyAddress?: string | undefined;\r\n advConclusionDate?: string | undefined;\r\n hasAdv?: boolean;\r\n\r\n constructor(data?: IAccountAdvEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.advContactName = _data[\"advContactName\"];\r\n this.advContactPhone = _data[\"advContactPhone\"];\r\n this.advContactEmail = _data[\"advContactEmail\"];\r\n this.advCompany = _data[\"advCompany\"];\r\n this.advCompanyAddress = _data[\"advCompanyAddress\"];\r\n this.advConclusionDate = _data[\"advConclusionDate\"];\r\n this.hasAdv = _data[\"hasAdv\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountAdvEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountAdvEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"advContactName\"] = this.advContactName;\r\n data[\"advContactPhone\"] = this.advContactPhone;\r\n data[\"advContactEmail\"] = this.advContactEmail;\r\n data[\"advCompany\"] = this.advCompany;\r\n data[\"advCompanyAddress\"] = this.advCompanyAddress;\r\n data[\"advConclusionDate\"] = this.advConclusionDate;\r\n data[\"hasAdv\"] = this.hasAdv;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountAdvEditModel {\r\n advContactName?: string | undefined;\r\n advContactPhone?: string | undefined;\r\n advContactEmail?: string | undefined;\r\n advCompany?: string | undefined;\r\n advCompanyAddress?: string | undefined;\r\n advConclusionDate?: string | undefined;\r\n hasAdv?: boolean;\r\n}\r\n\r\nexport class DeleteAccountEditModel implements IDeleteAccountEditModel {\r\n checkPhrase?: string | undefined;\r\n reason?: string | undefined;\r\n\r\n constructor(data?: IDeleteAccountEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.checkPhrase = _data[\"checkPhrase\"];\r\n this.reason = _data[\"reason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteAccountEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteAccountEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"checkPhrase\"] = this.checkPhrase;\r\n data[\"reason\"] = this.reason;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteAccountEditModel {\r\n checkPhrase?: string | undefined;\r\n reason?: string | undefined;\r\n}\r\n\r\nexport class OnBoardingEditModel implements IOnBoardingEditModel {\r\n customerName?: string | undefined;\r\n projectName?: string | undefined;\r\n useRates?: boolean;\r\n useOutgoingInvoice?: boolean;\r\n useOutgoingInvoiceEmails?: boolean;\r\n useAbsences?: boolean;\r\n useTimeAccount?: boolean;\r\n useBasicTimeTracking?: boolean;\r\n\r\n constructor(data?: IOnBoardingEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.customerName = _data[\"customerName\"];\r\n this.projectName = _data[\"projectName\"];\r\n this.useRates = _data[\"useRates\"];\r\n this.useOutgoingInvoice = _data[\"useOutgoingInvoice\"];\r\n this.useOutgoingInvoiceEmails = _data[\"useOutgoingInvoiceEmails\"];\r\n this.useAbsences = _data[\"useAbsences\"];\r\n this.useTimeAccount = _data[\"useTimeAccount\"];\r\n this.useBasicTimeTracking = _data[\"useBasicTimeTracking\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OnBoardingEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OnBoardingEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"customerName\"] = this.customerName;\r\n data[\"projectName\"] = this.projectName;\r\n data[\"useRates\"] = this.useRates;\r\n data[\"useOutgoingInvoice\"] = this.useOutgoingInvoice;\r\n data[\"useOutgoingInvoiceEmails\"] = this.useOutgoingInvoiceEmails;\r\n data[\"useAbsences\"] = this.useAbsences;\r\n data[\"useTimeAccount\"] = this.useTimeAccount;\r\n data[\"useBasicTimeTracking\"] = this.useBasicTimeTracking;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOnBoardingEditModel {\r\n customerName?: string | undefined;\r\n projectName?: string | undefined;\r\n useRates?: boolean;\r\n useOutgoingInvoice?: boolean;\r\n useOutgoingInvoiceEmails?: boolean;\r\n useAbsences?: boolean;\r\n useTimeAccount?: boolean;\r\n useBasicTimeTracking?: boolean;\r\n}\r\n\r\nexport class Log implements ILog {\r\n id?: number;\r\n logger?: string | undefined;\r\n level?: string | undefined;\r\n message?: string | undefined;\r\n requestUrl?: string | undefined;\r\n action?: string | undefined;\r\n exception?: string | undefined;\r\n userIdentity?: string | undefined;\r\n callSite?: string | undefined;\r\n sentToAdmins?: boolean;\r\n sentToAdminsDateTime?: string | undefined;\r\n insertDate?: string;\r\n\r\n constructor(data?: ILog) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.logger = _data[\"logger\"];\r\n this.level = _data[\"level\"];\r\n this.message = _data[\"message\"];\r\n this.requestUrl = _data[\"requestUrl\"];\r\n this.action = _data[\"action\"];\r\n this.exception = _data[\"exception\"];\r\n this.userIdentity = _data[\"userIdentity\"];\r\n this.callSite = _data[\"callSite\"];\r\n this.sentToAdmins = _data[\"sentToAdmins\"];\r\n this.sentToAdminsDateTime = _data[\"sentToAdminsDateTime\"];\r\n this.insertDate = _data[\"insertDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Log {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Log();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"logger\"] = this.logger;\r\n data[\"level\"] = this.level;\r\n data[\"message\"] = this.message;\r\n data[\"requestUrl\"] = this.requestUrl;\r\n data[\"action\"] = this.action;\r\n data[\"exception\"] = this.exception;\r\n data[\"userIdentity\"] = this.userIdentity;\r\n data[\"callSite\"] = this.callSite;\r\n data[\"sentToAdmins\"] = this.sentToAdmins;\r\n data[\"sentToAdminsDateTime\"] = this.sentToAdminsDateTime;\r\n data[\"insertDate\"] = this.insertDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILog {\r\n id?: number;\r\n logger?: string | undefined;\r\n level?: string | undefined;\r\n message?: string | undefined;\r\n requestUrl?: string | undefined;\r\n action?: string | undefined;\r\n exception?: string | undefined;\r\n userIdentity?: string | undefined;\r\n callSite?: string | undefined;\r\n sentToAdmins?: boolean;\r\n sentToAdminsDateTime?: string | undefined;\r\n insertDate?: string;\r\n}\r\n\r\nexport class LeuteUndGeldViewModel implements ILeuteUndGeldViewModel {\r\n leuteFull?: number;\r\n leuteBasis?: number;\r\n leuteGesamt?: number;\r\n geldFull?: number;\r\n geldBasis?: number;\r\n geldGesamt?: number;\r\n geldGesamtJahr?: number;\r\n\r\n constructor(data?: ILeuteUndGeldViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.leuteFull = _data[\"leuteFull\"];\r\n this.leuteBasis = _data[\"leuteBasis\"];\r\n this.leuteGesamt = _data[\"leuteGesamt\"];\r\n this.geldFull = _data[\"geldFull\"];\r\n this.geldBasis = _data[\"geldBasis\"];\r\n this.geldGesamt = _data[\"geldGesamt\"];\r\n this.geldGesamtJahr = _data[\"geldGesamtJahr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeuteUndGeldViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeuteUndGeldViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"leuteFull\"] = this.leuteFull;\r\n data[\"leuteBasis\"] = this.leuteBasis;\r\n data[\"leuteGesamt\"] = this.leuteGesamt;\r\n data[\"geldFull\"] = this.geldFull;\r\n data[\"geldBasis\"] = this.geldBasis;\r\n data[\"geldGesamt\"] = this.geldGesamt;\r\n data[\"geldGesamtJahr\"] = this.geldGesamtJahr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeuteUndGeldViewModel {\r\n leuteFull?: number;\r\n leuteBasis?: number;\r\n leuteGesamt?: number;\r\n geldFull?: number;\r\n geldBasis?: number;\r\n geldGesamt?: number;\r\n geldGesamtJahr?: number;\r\n}\r\n\r\nexport class LeuteUndGeldReportModel implements ILeuteUndGeldReportModel {\r\n realLeuteUndGeld?: LeuteUndGeldViewModel | undefined;\r\n leuteUndGeld?: LeuteUndGeldViewModel | undefined;\r\n leuteUndGeldLost?: LeuteUndGeldViewModel | undefined;\r\n accounts?: LeuteUndGeldBaseModel[] | undefined;\r\n\r\n constructor(data?: ILeuteUndGeldReportModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.realLeuteUndGeld = _data[\"realLeuteUndGeld\"] ? LeuteUndGeldViewModel.fromJS(_data[\"realLeuteUndGeld\"]) : undefined;\r\n this.leuteUndGeld = _data[\"leuteUndGeld\"] ? LeuteUndGeldViewModel.fromJS(_data[\"leuteUndGeld\"]) : undefined;\r\n this.leuteUndGeldLost = _data[\"leuteUndGeldLost\"] ? LeuteUndGeldViewModel.fromJS(_data[\"leuteUndGeldLost\"]) : undefined;\r\n if (Array.isArray(_data[\"accounts\"])) {\r\n this.accounts = [] as any;\r\n for (let item of _data[\"accounts\"])\r\n this.accounts!.push(LeuteUndGeldBaseModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeuteUndGeldReportModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeuteUndGeldReportModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"realLeuteUndGeld\"] = this.realLeuteUndGeld ? this.realLeuteUndGeld.toJSON() : undefined;\r\n data[\"leuteUndGeld\"] = this.leuteUndGeld ? this.leuteUndGeld.toJSON() : undefined;\r\n data[\"leuteUndGeldLost\"] = this.leuteUndGeldLost ? this.leuteUndGeldLost.toJSON() : undefined;\r\n if (Array.isArray(this.accounts)) {\r\n data[\"accounts\"] = [];\r\n for (let item of this.accounts)\r\n data[\"accounts\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeuteUndGeldReportModel {\r\n realLeuteUndGeld?: LeuteUndGeldViewModel | undefined;\r\n leuteUndGeld?: LeuteUndGeldViewModel | undefined;\r\n leuteUndGeldLost?: LeuteUndGeldViewModel | undefined;\r\n accounts?: LeuteUndGeldBaseModel[] | undefined;\r\n}\r\n\r\nexport class LeuteUndGeldBaseModel implements ILeuteUndGeldBaseModel {\r\n version?: number;\r\n id?: number;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n licensedUserCount?: number;\r\n licensedUserCountBasic?: number;\r\n paymentFreeUsers?: number;\r\n paymentIntervalMonths?: number;\r\n paymentBasePriceCent?: number;\r\n paymentBasePriceCentYearly?: number;\r\n paymentPaidTill?: string | undefined;\r\n paymentType?: string | undefined;\r\n lastEntry?: string;\r\n paymentBasePriceCentBasic?: number;\r\n paymentBasePriceCentYearlyBasic?: number;\r\n useBasicTimeTracking?: boolean;\r\n basicUserCount?: number;\r\n accountPaymentBasicPerMonth?: number;\r\n fullUserCount?: number;\r\n accountPaymentFullPerMonth?: number;\r\n accountPaymentPerMonth?: number;\r\n accountPaymentPerYear?: number;\r\n\r\n constructor(data?: ILeuteUndGeldBaseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.version = _data[\"version\"];\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.licensedUserCount = _data[\"licensedUserCount\"];\r\n this.licensedUserCountBasic = _data[\"licensedUserCountBasic\"];\r\n this.paymentFreeUsers = _data[\"paymentFreeUsers\"];\r\n this.paymentIntervalMonths = _data[\"paymentIntervalMonths\"];\r\n this.paymentBasePriceCent = _data[\"paymentBasePriceCent\"];\r\n this.paymentBasePriceCentYearly = _data[\"paymentBasePriceCentYearly\"];\r\n this.paymentPaidTill = _data[\"paymentPaidTill\"];\r\n this.paymentType = _data[\"paymentType\"];\r\n this.lastEntry = _data[\"lastEntry\"];\r\n this.paymentBasePriceCentBasic = _data[\"paymentBasePriceCentBasic\"];\r\n this.paymentBasePriceCentYearlyBasic = _data[\"paymentBasePriceCentYearlyBasic\"];\r\n this.useBasicTimeTracking = _data[\"useBasicTimeTracking\"];\r\n this.basicUserCount = _data[\"basicUserCount\"];\r\n this.accountPaymentBasicPerMonth = _data[\"accountPaymentBasicPerMonth\"];\r\n this.fullUserCount = _data[\"fullUserCount\"];\r\n this.accountPaymentFullPerMonth = _data[\"accountPaymentFullPerMonth\"];\r\n this.accountPaymentPerMonth = _data[\"accountPaymentPerMonth\"];\r\n this.accountPaymentPerYear = _data[\"accountPaymentPerYear\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeuteUndGeldBaseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeuteUndGeldBaseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"version\"] = this.version;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"licensedUserCount\"] = this.licensedUserCount;\r\n data[\"licensedUserCountBasic\"] = this.licensedUserCountBasic;\r\n data[\"paymentFreeUsers\"] = this.paymentFreeUsers;\r\n data[\"paymentIntervalMonths\"] = this.paymentIntervalMonths;\r\n data[\"paymentBasePriceCent\"] = this.paymentBasePriceCent;\r\n data[\"paymentBasePriceCentYearly\"] = this.paymentBasePriceCentYearly;\r\n data[\"paymentPaidTill\"] = this.paymentPaidTill;\r\n data[\"paymentType\"] = this.paymentType;\r\n data[\"lastEntry\"] = this.lastEntry;\r\n data[\"paymentBasePriceCentBasic\"] = this.paymentBasePriceCentBasic;\r\n data[\"paymentBasePriceCentYearlyBasic\"] = this.paymentBasePriceCentYearlyBasic;\r\n data[\"useBasicTimeTracking\"] = this.useBasicTimeTracking;\r\n data[\"basicUserCount\"] = this.basicUserCount;\r\n data[\"accountPaymentBasicPerMonth\"] = this.accountPaymentBasicPerMonth;\r\n data[\"fullUserCount\"] = this.fullUserCount;\r\n data[\"accountPaymentFullPerMonth\"] = this.accountPaymentFullPerMonth;\r\n data[\"accountPaymentPerMonth\"] = this.accountPaymentPerMonth;\r\n data[\"accountPaymentPerYear\"] = this.accountPaymentPerYear;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeuteUndGeldBaseModel {\r\n version?: number;\r\n id?: number;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n licensedUserCount?: number;\r\n licensedUserCountBasic?: number;\r\n paymentFreeUsers?: number;\r\n paymentIntervalMonths?: number;\r\n paymentBasePriceCent?: number;\r\n paymentBasePriceCentYearly?: number;\r\n paymentPaidTill?: string | undefined;\r\n paymentType?: string | undefined;\r\n lastEntry?: string;\r\n paymentBasePriceCentBasic?: number;\r\n paymentBasePriceCentYearlyBasic?: number;\r\n useBasicTimeTracking?: boolean;\r\n basicUserCount?: number;\r\n accountPaymentBasicPerMonth?: number;\r\n fullUserCount?: number;\r\n accountPaymentFullPerMonth?: number;\r\n accountPaymentPerMonth?: number;\r\n accountPaymentPerYear?: number;\r\n}\r\n\r\nexport class UnpaidInvoiceViewModel implements IUnpaidInvoiceViewModel {\r\n id?: number;\r\n invoiceNumber?: string | undefined;\r\n createdDate?: string;\r\n daysOld?: number;\r\n basePriceCent?: number;\r\n amountCent?: number;\r\n vatAmountCent?: number;\r\n vatReverseCharge?: boolean;\r\n grossAmountCent?: number;\r\n grossAmountEuro?: number;\r\n account?: UnpaidInvoiceAccountViewModel | undefined;\r\n userCount?: number;\r\n isPaid?: boolean;\r\n paymentMethod?: string | undefined;\r\n paidTill?: string;\r\n paymentReminderSentDateTime?: string | undefined;\r\n paidAt?: string | undefined;\r\n paymentError?: string | undefined;\r\n paymentStatus?: PaymentStatusEnum;\r\n lastStatusCheck?: string | undefined;\r\n emailSentDateTime?: string | undefined;\r\n isMigratedFromSt2?: boolean;\r\n\r\n constructor(data?: IUnpaidInvoiceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.invoiceNumber = _data[\"invoiceNumber\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n this.daysOld = _data[\"daysOld\"];\r\n this.basePriceCent = _data[\"basePriceCent\"];\r\n this.amountCent = _data[\"amountCent\"];\r\n this.vatAmountCent = _data[\"vatAmountCent\"];\r\n this.vatReverseCharge = _data[\"vatReverseCharge\"];\r\n this.grossAmountCent = _data[\"grossAmountCent\"];\r\n this.grossAmountEuro = _data[\"grossAmountEuro\"];\r\n this.account = _data[\"account\"] ? UnpaidInvoiceAccountViewModel.fromJS(_data[\"account\"]) : undefined;\r\n this.userCount = _data[\"userCount\"];\r\n this.isPaid = _data[\"isPaid\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.paidTill = _data[\"paidTill\"];\r\n this.paymentReminderSentDateTime = _data[\"paymentReminderSentDateTime\"];\r\n this.paidAt = _data[\"paidAt\"];\r\n this.paymentError = _data[\"paymentError\"];\r\n this.paymentStatus = _data[\"paymentStatus\"];\r\n this.lastStatusCheck = _data[\"lastStatusCheck\"];\r\n this.emailSentDateTime = _data[\"emailSentDateTime\"];\r\n this.isMigratedFromSt2 = _data[\"isMigratedFromSt2\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnpaidInvoiceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnpaidInvoiceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"invoiceNumber\"] = this.invoiceNumber;\r\n data[\"createdDate\"] = this.createdDate;\r\n data[\"daysOld\"] = this.daysOld;\r\n data[\"basePriceCent\"] = this.basePriceCent;\r\n data[\"amountCent\"] = this.amountCent;\r\n data[\"vatAmountCent\"] = this.vatAmountCent;\r\n data[\"vatReverseCharge\"] = this.vatReverseCharge;\r\n data[\"grossAmountCent\"] = this.grossAmountCent;\r\n data[\"grossAmountEuro\"] = this.grossAmountEuro;\r\n data[\"account\"] = this.account ? this.account.toJSON() : undefined;\r\n data[\"userCount\"] = this.userCount;\r\n data[\"isPaid\"] = this.isPaid;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"paidTill\"] = this.paidTill;\r\n data[\"paymentReminderSentDateTime\"] = this.paymentReminderSentDateTime;\r\n data[\"paidAt\"] = this.paidAt;\r\n data[\"paymentError\"] = this.paymentError;\r\n data[\"paymentStatus\"] = this.paymentStatus;\r\n data[\"lastStatusCheck\"] = this.lastStatusCheck;\r\n data[\"emailSentDateTime\"] = this.emailSentDateTime;\r\n data[\"isMigratedFromSt2\"] = this.isMigratedFromSt2;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUnpaidInvoiceViewModel {\r\n id?: number;\r\n invoiceNumber?: string | undefined;\r\n createdDate?: string;\r\n daysOld?: number;\r\n basePriceCent?: number;\r\n amountCent?: number;\r\n vatAmountCent?: number;\r\n vatReverseCharge?: boolean;\r\n grossAmountCent?: number;\r\n grossAmountEuro?: number;\r\n account?: UnpaidInvoiceAccountViewModel | undefined;\r\n userCount?: number;\r\n isPaid?: boolean;\r\n paymentMethod?: string | undefined;\r\n paidTill?: string;\r\n paymentReminderSentDateTime?: string | undefined;\r\n paidAt?: string | undefined;\r\n paymentError?: string | undefined;\r\n paymentStatus?: PaymentStatusEnum;\r\n lastStatusCheck?: string | undefined;\r\n emailSentDateTime?: string | undefined;\r\n isMigratedFromSt2?: boolean;\r\n}\r\n\r\nexport class UnpaidInvoiceAccountViewModel implements IUnpaidInvoiceAccountViewModel {\r\n email?: string | undefined;\r\n invoiceEmail?: string | undefined;\r\n licensedUserCount?: number;\r\n payedUserCount?: number;\r\n paymentIsSetup?: boolean;\r\n firstAdminUserEmail?: string | undefined;\r\n\r\n constructor(data?: IUnpaidInvoiceAccountViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.invoiceEmail = _data[\"invoiceEmail\"];\r\n this.licensedUserCount = _data[\"licensedUserCount\"];\r\n this.payedUserCount = _data[\"payedUserCount\"];\r\n this.paymentIsSetup = _data[\"paymentIsSetup\"];\r\n this.firstAdminUserEmail = _data[\"firstAdminUserEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnpaidInvoiceAccountViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnpaidInvoiceAccountViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"invoiceEmail\"] = this.invoiceEmail;\r\n data[\"licensedUserCount\"] = this.licensedUserCount;\r\n data[\"payedUserCount\"] = this.payedUserCount;\r\n data[\"paymentIsSetup\"] = this.paymentIsSetup;\r\n data[\"firstAdminUserEmail\"] = this.firstAdminUserEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUnpaidInvoiceAccountViewModel {\r\n email?: string | undefined;\r\n invoiceEmail?: string | undefined;\r\n licensedUserCount?: number;\r\n payedUserCount?: number;\r\n paymentIsSetup?: boolean;\r\n firstAdminUserEmail?: string | undefined;\r\n}\r\n\r\nexport class SetInvoicePaidEditModel implements ISetInvoicePaidEditModel {\r\n invoiceId?: number;\r\n date?: string;\r\n\r\n constructor(data?: ISetInvoicePaidEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.date = _data[\"date\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SetInvoicePaidEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SetInvoicePaidEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"date\"] = this.date;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISetInvoicePaidEditModel {\r\n invoiceId?: number;\r\n date?: string;\r\n}\r\n\r\nexport class LockAccountEditModel implements ILockAccountEditModel {\r\n accountGuid?: string;\r\n reason?: string | undefined;\r\n\r\n constructor(data?: ILockAccountEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.accountGuid = _data[\"accountGuid\"];\r\n this.reason = _data[\"reason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LockAccountEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LockAccountEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"accountGuid\"] = this.accountGuid;\r\n data[\"reason\"] = this.reason;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILockAccountEditModel {\r\n accountGuid?: string;\r\n reason?: string | undefined;\r\n}\r\n\r\nexport class UpcomingPaymentsViewModel implements IUpcomingPaymentsViewModel {\r\n payments?: AccountPayment[] | undefined;\r\n yearlyPayments?: UpcomingPaymentYearModel[] | undefined;\r\n dailyPayments?: UpcomingPaymentDayModel[] | undefined;\r\n monthlyPayments?: UpcomingPaymentMonthModel[] | undefined;\r\n\r\n constructor(data?: IUpcomingPaymentsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"payments\"])) {\r\n this.payments = [] as any;\r\n for (let item of _data[\"payments\"])\r\n this.payments!.push(AccountPayment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"yearlyPayments\"])) {\r\n this.yearlyPayments = [] as any;\r\n for (let item of _data[\"yearlyPayments\"])\r\n this.yearlyPayments!.push(UpcomingPaymentYearModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"dailyPayments\"])) {\r\n this.dailyPayments = [] as any;\r\n for (let item of _data[\"dailyPayments\"])\r\n this.dailyPayments!.push(UpcomingPaymentDayModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"monthlyPayments\"])) {\r\n this.monthlyPayments = [] as any;\r\n for (let item of _data[\"monthlyPayments\"])\r\n this.monthlyPayments!.push(UpcomingPaymentMonthModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpcomingPaymentsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpcomingPaymentsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.payments)) {\r\n data[\"payments\"] = [];\r\n for (let item of this.payments)\r\n data[\"payments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.yearlyPayments)) {\r\n data[\"yearlyPayments\"] = [];\r\n for (let item of this.yearlyPayments)\r\n data[\"yearlyPayments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.dailyPayments)) {\r\n data[\"dailyPayments\"] = [];\r\n for (let item of this.dailyPayments)\r\n data[\"dailyPayments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.monthlyPayments)) {\r\n data[\"monthlyPayments\"] = [];\r\n for (let item of this.monthlyPayments)\r\n data[\"monthlyPayments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpcomingPaymentsViewModel {\r\n payments?: AccountPayment[] | undefined;\r\n yearlyPayments?: UpcomingPaymentYearModel[] | undefined;\r\n dailyPayments?: UpcomingPaymentDayModel[] | undefined;\r\n monthlyPayments?: UpcomingPaymentMonthModel[] | undefined;\r\n}\r\n\r\nexport class AccountPayment implements IAccountPayment {\r\n date?: string;\r\n accountId?: number;\r\n email?: string | undefined;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n paymentMethod?: string | undefined;\r\n licensedUserCount?: number;\r\n paymentInterval?: string | undefined;\r\n invoiceDate?: string;\r\n paymentDate?: string;\r\n\r\n constructor(data?: IAccountPayment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.accountId = _data[\"accountId\"];\r\n this.email = _data[\"email\"];\r\n this.amount = _data[\"amount\"];\r\n this.amountFull = _data[\"amountFull\"];\r\n this.amountBasic = _data[\"amountBasic\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.licensedUserCount = _data[\"licensedUserCount\"];\r\n this.paymentInterval = _data[\"paymentInterval\"];\r\n this.invoiceDate = _data[\"invoiceDate\"];\r\n this.paymentDate = _data[\"paymentDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountPayment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountPayment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"accountId\"] = this.accountId;\r\n data[\"email\"] = this.email;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountFull\"] = this.amountFull;\r\n data[\"amountBasic\"] = this.amountBasic;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"licensedUserCount\"] = this.licensedUserCount;\r\n data[\"paymentInterval\"] = this.paymentInterval;\r\n data[\"invoiceDate\"] = this.invoiceDate;\r\n data[\"paymentDate\"] = this.paymentDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountPayment {\r\n date?: string;\r\n accountId?: number;\r\n email?: string | undefined;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n paymentMethod?: string | undefined;\r\n licensedUserCount?: number;\r\n paymentInterval?: string | undefined;\r\n invoiceDate?: string;\r\n paymentDate?: string;\r\n}\r\n\r\nexport class UpcomingPaymentYearModel implements IUpcomingPaymentYearModel {\r\n year?: number;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n\r\n constructor(data?: IUpcomingPaymentYearModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n this.amount = _data[\"amount\"];\r\n this.amountFull = _data[\"amountFull\"];\r\n this.amountBasic = _data[\"amountBasic\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpcomingPaymentYearModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpcomingPaymentYearModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountFull\"] = this.amountFull;\r\n data[\"amountBasic\"] = this.amountBasic;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpcomingPaymentYearModel {\r\n year?: number;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n}\r\n\r\nexport class UpcomingPaymentDayModel implements IUpcomingPaymentDayModel {\r\n date?: string;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n\r\n constructor(data?: IUpcomingPaymentDayModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.amount = _data[\"amount\"];\r\n this.amountFull = _data[\"amountFull\"];\r\n this.amountBasic = _data[\"amountBasic\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpcomingPaymentDayModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpcomingPaymentDayModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountFull\"] = this.amountFull;\r\n data[\"amountBasic\"] = this.amountBasic;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpcomingPaymentDayModel {\r\n date?: string;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n}\r\n\r\nexport class UpcomingPaymentMonthModel implements IUpcomingPaymentMonthModel {\r\n date?: string;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n\r\n constructor(data?: IUpcomingPaymentMonthModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.amount = _data[\"amount\"];\r\n this.amountFull = _data[\"amountFull\"];\r\n this.amountBasic = _data[\"amountBasic\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpcomingPaymentMonthModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpcomingPaymentMonthModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountFull\"] = this.amountFull;\r\n data[\"amountBasic\"] = this.amountBasic;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpcomingPaymentMonthModel {\r\n date?: string;\r\n amount?: number;\r\n amountFull?: number;\r\n amountBasic?: number;\r\n}\r\n\r\nexport class AppUserBillableTargetHistoryEditModel implements IAppUserBillableTargetHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n validFrom?: string;\r\n billableTargetPercent?: number;\r\n editMode?: boolean;\r\n\r\n constructor(data?: IAppUserBillableTargetHistoryEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.validFrom = _data[\"validFrom\"];\r\n this.billableTargetPercent = _data[\"billableTargetPercent\"];\r\n this.editMode = _data[\"editMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserBillableTargetHistoryEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserBillableTargetHistoryEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"validFrom\"] = this.validFrom;\r\n data[\"billableTargetPercent\"] = this.billableTargetPercent;\r\n data[\"editMode\"] = this.editMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserBillableTargetHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n validFrom?: string;\r\n billableTargetPercent?: number;\r\n editMode?: boolean;\r\n}\r\n\r\nexport class AppUserBillableTargetHistoryFilter implements IAppUserBillableTargetHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n\r\n constructor(data?: IAppUserBillableTargetHistoryFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserBillableTargetHistoryFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserBillableTargetHistoryFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserBillableTargetHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n}\r\n\r\nexport class AppUserSettings implements IAppUserSettings {\r\n featureFlagInvoiceEmail?: boolean;\r\n featureFlagInternalUserCost?: boolean;\r\n featureFlagTeamOverview?: boolean;\r\n featureFlagEmployeeData?: boolean;\r\n featureFlagDisableVacationCarryOver?: boolean;\r\n featureFlagNightWorkReport?: boolean;\r\n featureFlagTimeApproval?: boolean;\r\n featureFlagPassiveUsers?: boolean;\r\n featureFlagMixedUsers?: boolean;\r\n featureFlagLastUsedProjects?: boolean;\r\n featureFlagBillableTarget?: boolean;\r\n featureFlagHideTimeAccount?: boolean;\r\n featureFlagFixedPriceProjects?: boolean;\r\n featureFlagTimeAccountSummaryOnTimeEntryPage?: boolean;\r\n featureFlagTimeAccountTeamOverview?: boolean;\r\n featureFlagAppUserDepartmentInfo?: boolean;\r\n featureFlagCustomerProjectId?: boolean;\r\n hasValidSetup?: boolean;\r\n setupErrors?: SetupError[] | undefined;\r\n userRights?: RightEnum[] | undefined;\r\n appUserId?: number;\r\n appUserName?: string | undefined;\r\n accountId?: number;\r\n accountEmail?: string | undefined;\r\n accountName?: string | undefined;\r\n currency?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n firstDayOfWeekInt?: number;\r\n useRateRules?: boolean;\r\n tagsRequired?: boolean;\r\n useProjectTasks?: boolean;\r\n projectTaskRequired?: boolean;\r\n descriptionMinChars?: number;\r\n useTags?: boolean;\r\n allowEntriesOnFreeDays?: boolean;\r\n useWorkHours?: boolean;\r\n timeRoundingInterval?: number;\r\n timeEntriesShowFullWeek?: boolean;\r\n mainColor?: string | undefined;\r\n secondaryColor?: string | undefined;\r\n templateName?: string | undefined;\r\n menuColor?: MenuColorEnum;\r\n successButtonColor?: SuccessButtonColorEnum;\r\n useAbsences?: boolean;\r\n useTimeAccount?: boolean;\r\n datePattern?: string | undefined;\r\n timePattern?: string | undefined;\r\n timeEntryIsBillableNotChangeable?: boolean;\r\n userNowDateTime?: string;\r\n hasActiveProjectTasks?: boolean;\r\n hasProjectTasks?: boolean;\r\n hasRates?: boolean;\r\n hasOutgoingInvoices?: boolean;\r\n hasTags?: boolean;\r\n paymentStatus?: PaymentStatusViewModel | undefined;\r\n isMigratedFromSt2?: boolean;\r\n isFullyMigratedFromSt2?: boolean;\r\n onboardingCompleted?: boolean;\r\n accountIsConfirmed?: boolean;\r\n noRates?: boolean;\r\n appColorPrimary?: AppColorEnum;\r\n appColorSecondary?: AppColorEnum;\r\n timeEntryMode?: TimeEntryModeEnum;\r\n stopwatchUseLastDescription?: boolean;\r\n noOutgoingInvoices?: boolean;\r\n useInvoiceEmailSending?: boolean;\r\n timeAccountDisplayDetails?: boolean;\r\n useInternalUserCost?: boolean;\r\n accountIsLocked?: boolean;\r\n accountIsLockedAdminReason?: string | undefined;\r\n showConsumedBudgetOnSave?: boolean;\r\n language?: string | undefined;\r\n useBasicTimeTracking?: boolean;\r\n isBasicTimeTrackingUser?: boolean;\r\n pauseMode?: PauseMode;\r\n usePauseRuleWarnings?: boolean;\r\n enforcePauseRules?: boolean;\r\n restrictDateFrom?: string | undefined;\r\n restrictDateTo?: string | undefined;\r\n showAdditionalInsertAppUserSelect?: boolean;\r\n needsTimeEntryApproval?: boolean;\r\n isPassiveUser?: boolean;\r\n hasBillableTarget?: boolean;\r\n useFixedPriceProjects?: boolean;\r\n hasDirectManagedTeam?: boolean;\r\n hasIndirectManagedTeam?: boolean;\r\n useEInvoice?: boolean;\r\n openTimeEntryWhenStopStopwatch?: boolean;\r\n\r\n constructor(data?: IAppUserSettings) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.featureFlagInvoiceEmail = _data[\"featureFlagInvoiceEmail\"];\r\n this.featureFlagInternalUserCost = _data[\"featureFlagInternalUserCost\"];\r\n this.featureFlagTeamOverview = _data[\"featureFlagTeamOverview\"];\r\n this.featureFlagEmployeeData = _data[\"featureFlagEmployeeData\"];\r\n this.featureFlagDisableVacationCarryOver = _data[\"featureFlagDisableVacationCarryOver\"];\r\n this.featureFlagNightWorkReport = _data[\"featureFlagNightWorkReport\"];\r\n this.featureFlagTimeApproval = _data[\"featureFlagTimeApproval\"];\r\n this.featureFlagPassiveUsers = _data[\"featureFlagPassiveUsers\"];\r\n this.featureFlagMixedUsers = _data[\"featureFlagMixedUsers\"];\r\n this.featureFlagLastUsedProjects = _data[\"featureFlagLastUsedProjects\"];\r\n this.featureFlagBillableTarget = _data[\"featureFlagBillableTarget\"];\r\n this.featureFlagHideTimeAccount = _data[\"featureFlagHideTimeAccount\"];\r\n this.featureFlagFixedPriceProjects = _data[\"featureFlagFixedPriceProjects\"];\r\n this.featureFlagTimeAccountSummaryOnTimeEntryPage = _data[\"featureFlagTimeAccountSummaryOnTimeEntryPage\"];\r\n this.featureFlagTimeAccountTeamOverview = _data[\"featureFlagTimeAccountTeamOverview\"];\r\n this.featureFlagAppUserDepartmentInfo = _data[\"featureFlagAppUserDepartmentInfo\"];\r\n this.featureFlagCustomerProjectId = _data[\"featureFlagCustomerProjectId\"];\r\n this.hasValidSetup = _data[\"hasValidSetup\"];\r\n if (Array.isArray(_data[\"setupErrors\"])) {\r\n this.setupErrors = [] as any;\r\n for (let item of _data[\"setupErrors\"])\r\n this.setupErrors!.push(item);\r\n }\r\n if (Array.isArray(_data[\"userRights\"])) {\r\n this.userRights = [] as any;\r\n for (let item of _data[\"userRights\"])\r\n this.userRights!.push(item);\r\n }\r\n this.appUserId = _data[\"appUserId\"];\r\n this.appUserName = _data[\"appUserName\"];\r\n this.accountId = _data[\"accountId\"];\r\n this.accountEmail = _data[\"accountEmail\"];\r\n this.accountName = _data[\"accountName\"];\r\n this.currency = _data[\"currency\"];\r\n this.firstDayOfWeek = _data[\"firstDayOfWeek\"];\r\n this.firstDayOfWeekInt = _data[\"firstDayOfWeekInt\"];\r\n this.useRateRules = _data[\"useRateRules\"];\r\n this.tagsRequired = _data[\"tagsRequired\"];\r\n this.useProjectTasks = _data[\"useProjectTasks\"];\r\n this.projectTaskRequired = _data[\"projectTaskRequired\"];\r\n this.descriptionMinChars = _data[\"descriptionMinChars\"];\r\n this.useTags = _data[\"useTags\"];\r\n this.allowEntriesOnFreeDays = _data[\"allowEntriesOnFreeDays\"];\r\n this.useWorkHours = _data[\"useWorkHours\"];\r\n this.timeRoundingInterval = _data[\"timeRoundingInterval\"];\r\n this.timeEntriesShowFullWeek = _data[\"timeEntriesShowFullWeek\"];\r\n this.mainColor = _data[\"mainColor\"];\r\n this.secondaryColor = _data[\"secondaryColor\"];\r\n this.templateName = _data[\"templateName\"];\r\n this.menuColor = _data[\"menuColor\"];\r\n this.successButtonColor = _data[\"successButtonColor\"];\r\n this.useAbsences = _data[\"useAbsences\"];\r\n this.useTimeAccount = _data[\"useTimeAccount\"];\r\n this.datePattern = _data[\"datePattern\"];\r\n this.timePattern = _data[\"timePattern\"];\r\n this.timeEntryIsBillableNotChangeable = _data[\"timeEntryIsBillableNotChangeable\"];\r\n this.userNowDateTime = _data[\"userNowDateTime\"];\r\n this.hasActiveProjectTasks = _data[\"hasActiveProjectTasks\"];\r\n this.hasProjectTasks = _data[\"hasProjectTasks\"];\r\n this.hasRates = _data[\"hasRates\"];\r\n this.hasOutgoingInvoices = _data[\"hasOutgoingInvoices\"];\r\n this.hasTags = _data[\"hasTags\"];\r\n this.paymentStatus = _data[\"paymentStatus\"] ? PaymentStatusViewModel.fromJS(_data[\"paymentStatus\"]) : undefined;\r\n this.isMigratedFromSt2 = _data[\"isMigratedFromSt2\"];\r\n this.isFullyMigratedFromSt2 = _data[\"isFullyMigratedFromSt2\"];\r\n this.onboardingCompleted = _data[\"onboardingCompleted\"];\r\n this.accountIsConfirmed = _data[\"accountIsConfirmed\"];\r\n this.noRates = _data[\"noRates\"];\r\n this.appColorPrimary = _data[\"appColorPrimary\"];\r\n this.appColorSecondary = _data[\"appColorSecondary\"];\r\n this.timeEntryMode = _data[\"timeEntryMode\"];\r\n this.stopwatchUseLastDescription = _data[\"stopwatchUseLastDescription\"];\r\n this.noOutgoingInvoices = _data[\"noOutgoingInvoices\"];\r\n this.useInvoiceEmailSending = _data[\"useInvoiceEmailSending\"];\r\n this.timeAccountDisplayDetails = _data[\"timeAccountDisplayDetails\"];\r\n this.useInternalUserCost = _data[\"useInternalUserCost\"];\r\n this.accountIsLocked = _data[\"accountIsLocked\"];\r\n this.accountIsLockedAdminReason = _data[\"accountIsLockedAdminReason\"];\r\n this.showConsumedBudgetOnSave = _data[\"showConsumedBudgetOnSave\"];\r\n this.language = _data[\"language\"];\r\n this.useBasicTimeTracking = _data[\"useBasicTimeTracking\"];\r\n this.isBasicTimeTrackingUser = _data[\"isBasicTimeTrackingUser\"];\r\n this.pauseMode = _data[\"pauseMode\"];\r\n this.usePauseRuleWarnings = _data[\"usePauseRuleWarnings\"];\r\n this.enforcePauseRules = _data[\"enforcePauseRules\"];\r\n this.restrictDateFrom = _data[\"restrictDateFrom\"];\r\n this.restrictDateTo = _data[\"restrictDateTo\"];\r\n this.showAdditionalInsertAppUserSelect = _data[\"showAdditionalInsertAppUserSelect\"];\r\n this.needsTimeEntryApproval = _data[\"needsTimeEntryApproval\"];\r\n this.isPassiveUser = _data[\"isPassiveUser\"];\r\n this.hasBillableTarget = _data[\"hasBillableTarget\"];\r\n this.useFixedPriceProjects = _data[\"useFixedPriceProjects\"];\r\n this.hasDirectManagedTeam = _data[\"hasDirectManagedTeam\"];\r\n this.hasIndirectManagedTeam = _data[\"hasIndirectManagedTeam\"];\r\n this.useEInvoice = _data[\"useEInvoice\"];\r\n this.openTimeEntryWhenStopStopwatch = _data[\"openTimeEntryWhenStopStopwatch\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserSettings {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserSettings();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"featureFlagInvoiceEmail\"] = this.featureFlagInvoiceEmail;\r\n data[\"featureFlagInternalUserCost\"] = this.featureFlagInternalUserCost;\r\n data[\"featureFlagTeamOverview\"] = this.featureFlagTeamOverview;\r\n data[\"featureFlagEmployeeData\"] = this.featureFlagEmployeeData;\r\n data[\"featureFlagDisableVacationCarryOver\"] = this.featureFlagDisableVacationCarryOver;\r\n data[\"featureFlagNightWorkReport\"] = this.featureFlagNightWorkReport;\r\n data[\"featureFlagTimeApproval\"] = this.featureFlagTimeApproval;\r\n data[\"featureFlagPassiveUsers\"] = this.featureFlagPassiveUsers;\r\n data[\"featureFlagMixedUsers\"] = this.featureFlagMixedUsers;\r\n data[\"featureFlagLastUsedProjects\"] = this.featureFlagLastUsedProjects;\r\n data[\"featureFlagBillableTarget\"] = this.featureFlagBillableTarget;\r\n data[\"featureFlagHideTimeAccount\"] = this.featureFlagHideTimeAccount;\r\n data[\"featureFlagFixedPriceProjects\"] = this.featureFlagFixedPriceProjects;\r\n data[\"featureFlagTimeAccountSummaryOnTimeEntryPage\"] = this.featureFlagTimeAccountSummaryOnTimeEntryPage;\r\n data[\"featureFlagTimeAccountTeamOverview\"] = this.featureFlagTimeAccountTeamOverview;\r\n data[\"featureFlagAppUserDepartmentInfo\"] = this.featureFlagAppUserDepartmentInfo;\r\n data[\"featureFlagCustomerProjectId\"] = this.featureFlagCustomerProjectId;\r\n data[\"hasValidSetup\"] = this.hasValidSetup;\r\n if (Array.isArray(this.setupErrors)) {\r\n data[\"setupErrors\"] = [];\r\n for (let item of this.setupErrors)\r\n data[\"setupErrors\"].push(item);\r\n }\r\n if (Array.isArray(this.userRights)) {\r\n data[\"userRights\"] = [];\r\n for (let item of this.userRights)\r\n data[\"userRights\"].push(item);\r\n }\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"appUserName\"] = this.appUserName;\r\n data[\"accountId\"] = this.accountId;\r\n data[\"accountEmail\"] = this.accountEmail;\r\n data[\"accountName\"] = this.accountName;\r\n data[\"currency\"] = this.currency;\r\n data[\"firstDayOfWeek\"] = this.firstDayOfWeek;\r\n data[\"firstDayOfWeekInt\"] = this.firstDayOfWeekInt;\r\n data[\"useRateRules\"] = this.useRateRules;\r\n data[\"tagsRequired\"] = this.tagsRequired;\r\n data[\"useProjectTasks\"] = this.useProjectTasks;\r\n data[\"projectTaskRequired\"] = this.projectTaskRequired;\r\n data[\"descriptionMinChars\"] = this.descriptionMinChars;\r\n data[\"useTags\"] = this.useTags;\r\n data[\"allowEntriesOnFreeDays\"] = this.allowEntriesOnFreeDays;\r\n data[\"useWorkHours\"] = this.useWorkHours;\r\n data[\"timeRoundingInterval\"] = this.timeRoundingInterval;\r\n data[\"timeEntriesShowFullWeek\"] = this.timeEntriesShowFullWeek;\r\n data[\"mainColor\"] = this.mainColor;\r\n data[\"secondaryColor\"] = this.secondaryColor;\r\n data[\"templateName\"] = this.templateName;\r\n data[\"menuColor\"] = this.menuColor;\r\n data[\"successButtonColor\"] = this.successButtonColor;\r\n data[\"useAbsences\"] = this.useAbsences;\r\n data[\"useTimeAccount\"] = this.useTimeAccount;\r\n data[\"datePattern\"] = this.datePattern;\r\n data[\"timePattern\"] = this.timePattern;\r\n data[\"timeEntryIsBillableNotChangeable\"] = this.timeEntryIsBillableNotChangeable;\r\n data[\"userNowDateTime\"] = this.userNowDateTime;\r\n data[\"hasActiveProjectTasks\"] = this.hasActiveProjectTasks;\r\n data[\"hasProjectTasks\"] = this.hasProjectTasks;\r\n data[\"hasRates\"] = this.hasRates;\r\n data[\"hasOutgoingInvoices\"] = this.hasOutgoingInvoices;\r\n data[\"hasTags\"] = this.hasTags;\r\n data[\"paymentStatus\"] = this.paymentStatus ? this.paymentStatus.toJSON() : undefined;\r\n data[\"isMigratedFromSt2\"] = this.isMigratedFromSt2;\r\n data[\"isFullyMigratedFromSt2\"] = this.isFullyMigratedFromSt2;\r\n data[\"onboardingCompleted\"] = this.onboardingCompleted;\r\n data[\"accountIsConfirmed\"] = this.accountIsConfirmed;\r\n data[\"noRates\"] = this.noRates;\r\n data[\"appColorPrimary\"] = this.appColorPrimary;\r\n data[\"appColorSecondary\"] = this.appColorSecondary;\r\n data[\"timeEntryMode\"] = this.timeEntryMode;\r\n data[\"stopwatchUseLastDescription\"] = this.stopwatchUseLastDescription;\r\n data[\"noOutgoingInvoices\"] = this.noOutgoingInvoices;\r\n data[\"useInvoiceEmailSending\"] = this.useInvoiceEmailSending;\r\n data[\"timeAccountDisplayDetails\"] = this.timeAccountDisplayDetails;\r\n data[\"useInternalUserCost\"] = this.useInternalUserCost;\r\n data[\"accountIsLocked\"] = this.accountIsLocked;\r\n data[\"accountIsLockedAdminReason\"] = this.accountIsLockedAdminReason;\r\n data[\"showConsumedBudgetOnSave\"] = this.showConsumedBudgetOnSave;\r\n data[\"language\"] = this.language;\r\n data[\"useBasicTimeTracking\"] = this.useBasicTimeTracking;\r\n data[\"isBasicTimeTrackingUser\"] = this.isBasicTimeTrackingUser;\r\n data[\"pauseMode\"] = this.pauseMode;\r\n data[\"usePauseRuleWarnings\"] = this.usePauseRuleWarnings;\r\n data[\"enforcePauseRules\"] = this.enforcePauseRules;\r\n data[\"restrictDateFrom\"] = this.restrictDateFrom;\r\n data[\"restrictDateTo\"] = this.restrictDateTo;\r\n data[\"showAdditionalInsertAppUserSelect\"] = this.showAdditionalInsertAppUserSelect;\r\n data[\"needsTimeEntryApproval\"] = this.needsTimeEntryApproval;\r\n data[\"isPassiveUser\"] = this.isPassiveUser;\r\n data[\"hasBillableTarget\"] = this.hasBillableTarget;\r\n data[\"useFixedPriceProjects\"] = this.useFixedPriceProjects;\r\n data[\"hasDirectManagedTeam\"] = this.hasDirectManagedTeam;\r\n data[\"hasIndirectManagedTeam\"] = this.hasIndirectManagedTeam;\r\n data[\"useEInvoice\"] = this.useEInvoice;\r\n data[\"openTimeEntryWhenStopStopwatch\"] = this.openTimeEntryWhenStopStopwatch;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserSettings {\r\n featureFlagInvoiceEmail?: boolean;\r\n featureFlagInternalUserCost?: boolean;\r\n featureFlagTeamOverview?: boolean;\r\n featureFlagEmployeeData?: boolean;\r\n featureFlagDisableVacationCarryOver?: boolean;\r\n featureFlagNightWorkReport?: boolean;\r\n featureFlagTimeApproval?: boolean;\r\n featureFlagPassiveUsers?: boolean;\r\n featureFlagMixedUsers?: boolean;\r\n featureFlagLastUsedProjects?: boolean;\r\n featureFlagBillableTarget?: boolean;\r\n featureFlagHideTimeAccount?: boolean;\r\n featureFlagFixedPriceProjects?: boolean;\r\n featureFlagTimeAccountSummaryOnTimeEntryPage?: boolean;\r\n featureFlagTimeAccountTeamOverview?: boolean;\r\n featureFlagAppUserDepartmentInfo?: boolean;\r\n featureFlagCustomerProjectId?: boolean;\r\n hasValidSetup?: boolean;\r\n setupErrors?: SetupError[] | undefined;\r\n userRights?: RightEnum[] | undefined;\r\n appUserId?: number;\r\n appUserName?: string | undefined;\r\n accountId?: number;\r\n accountEmail?: string | undefined;\r\n accountName?: string | undefined;\r\n currency?: string | undefined;\r\n firstDayOfWeek?: DayOfWeek;\r\n firstDayOfWeekInt?: number;\r\n useRateRules?: boolean;\r\n tagsRequired?: boolean;\r\n useProjectTasks?: boolean;\r\n projectTaskRequired?: boolean;\r\n descriptionMinChars?: number;\r\n useTags?: boolean;\r\n allowEntriesOnFreeDays?: boolean;\r\n useWorkHours?: boolean;\r\n timeRoundingInterval?: number;\r\n timeEntriesShowFullWeek?: boolean;\r\n mainColor?: string | undefined;\r\n secondaryColor?: string | undefined;\r\n templateName?: string | undefined;\r\n menuColor?: MenuColorEnum;\r\n successButtonColor?: SuccessButtonColorEnum;\r\n useAbsences?: boolean;\r\n useTimeAccount?: boolean;\r\n datePattern?: string | undefined;\r\n timePattern?: string | undefined;\r\n timeEntryIsBillableNotChangeable?: boolean;\r\n userNowDateTime?: string;\r\n hasActiveProjectTasks?: boolean;\r\n hasProjectTasks?: boolean;\r\n hasRates?: boolean;\r\n hasOutgoingInvoices?: boolean;\r\n hasTags?: boolean;\r\n paymentStatus?: PaymentStatusViewModel | undefined;\r\n isMigratedFromSt2?: boolean;\r\n isFullyMigratedFromSt2?: boolean;\r\n onboardingCompleted?: boolean;\r\n accountIsConfirmed?: boolean;\r\n noRates?: boolean;\r\n appColorPrimary?: AppColorEnum;\r\n appColorSecondary?: AppColorEnum;\r\n timeEntryMode?: TimeEntryModeEnum;\r\n stopwatchUseLastDescription?: boolean;\r\n noOutgoingInvoices?: boolean;\r\n useInvoiceEmailSending?: boolean;\r\n timeAccountDisplayDetails?: boolean;\r\n useInternalUserCost?: boolean;\r\n accountIsLocked?: boolean;\r\n accountIsLockedAdminReason?: string | undefined;\r\n showConsumedBudgetOnSave?: boolean;\r\n language?: string | undefined;\r\n useBasicTimeTracking?: boolean;\r\n isBasicTimeTrackingUser?: boolean;\r\n pauseMode?: PauseMode;\r\n usePauseRuleWarnings?: boolean;\r\n enforcePauseRules?: boolean;\r\n restrictDateFrom?: string | undefined;\r\n restrictDateTo?: string | undefined;\r\n showAdditionalInsertAppUserSelect?: boolean;\r\n needsTimeEntryApproval?: boolean;\r\n isPassiveUser?: boolean;\r\n hasBillableTarget?: boolean;\r\n useFixedPriceProjects?: boolean;\r\n hasDirectManagedTeam?: boolean;\r\n hasIndirectManagedTeam?: boolean;\r\n useEInvoice?: boolean;\r\n openTimeEntryWhenStopStopwatch?: boolean;\r\n}\r\n\r\nexport enum SetupError {\r\n NoCustomer = \"NoCustomer\",\r\n}\r\n\r\nexport enum RightEnum {\r\n CanEnterTimeEntriesOnFreeDays = \"CanEnterTimeEntriesOnFreeDays\",\r\n CanViewRates = \"CanViewRates\",\r\n CanOverwriteRates = \"CanOverwriteRates\",\r\n CanOverwriteIsBillable = \"CanOverwriteIsBillable\",\r\n CanEditCustomersAndProjects = \"CanEditCustomersAndProjects\",\r\n CanEditProjectTasks = \"CanEditProjectTasks\",\r\n CanEditRateRules = \"CanEditRateRules\",\r\n CanEditTags = \"CanEditTags\",\r\n CanEditPublicHolidays = \"CanEditPublicHolidays\",\r\n CanApproveAbsences = \"CanApproveAbsences\",\r\n CanViewAbsencesForEmployees = \"CanViewAbsencesForEmployees\",\r\n CanEditAbsencesForEmployees = \"CanEditAbsencesForEmployees\",\r\n CanViewTimeEntriesForEmployees = \"CanViewTimeEntriesForEmployees\",\r\n CanEditTimeEntriesForEmployees = \"CanEditTimeEntriesForEmployees\",\r\n CanEditUsers = \"CanEditUsers\",\r\n CanEditAccount = \"CanEditAccount\",\r\n CanEditInvoices = \"CanEditInvoices\",\r\n CanEditTimeEntryExtraFields = \"CanEditTimeEntryExtraFields\",\r\n CanClearEntries = \"CanClearEntries\",\r\n CanViewInvoices = \"CanViewInvoices\",\r\n CanEditTimeEntriesForAllProjects = \"CanEditTimeEntriesForAllProjects\",\r\n CanChangeTimeFromTo = \"CanChangeTimeFromTo\",\r\n CanManageAbsences = \"CanManageAbsences\",\r\n CanManageTimeAdjustment = \"CanManageTimeAdjustment\",\r\n CanDeleteAccount = \"CanDeleteAccount\",\r\n CanGetNotifiedOnBudgetOverrun = \"CanGetNotifiedOnBudgetOverrun\",\r\n CanManageOwnSickDays = \"CanManageOwnSickDays\",\r\n CanViewTeamOverview = \"CanViewTeamOverview\",\r\n CanApproveTimeEntryDays = \"CanApproveTimeEntryDays\",\r\n CanViewCustomerAndProjects = \"CanViewCustomerAndProjects\",\r\n CanApproveTimeAccountWeeklyOvertime = \"CanApproveTimeAccountWeeklyOvertime\",\r\n}\r\n\r\nexport enum MenuColorEnum {\r\n Dark = \"Dark\",\r\n Light = \"Light\",\r\n Primary = \"Primary\",\r\n Secondary = \"Secondary\",\r\n}\r\n\r\nexport enum SuccessButtonColorEnum {\r\n Green = \"Green\",\r\n Primary = \"Primary\",\r\n Secondary = \"Secondary\",\r\n}\r\n\r\nexport class PaymentStatusViewModel implements IPaymentStatusViewModel {\r\n isInTrial?: boolean;\r\n paymentIsSetup?: boolean;\r\n licensedUserCount?: number;\r\n licensedUserCountBasic?: number;\r\n hasPaidInAppStoreUntil?: string | undefined;\r\n trialUntil?: string;\r\n\r\n constructor(data?: IPaymentStatusViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isInTrial = _data[\"isInTrial\"];\r\n this.paymentIsSetup = _data[\"paymentIsSetup\"];\r\n this.licensedUserCount = _data[\"licensedUserCount\"];\r\n this.licensedUserCountBasic = _data[\"licensedUserCountBasic\"];\r\n this.hasPaidInAppStoreUntil = _data[\"hasPaidInAppStoreUntil\"];\r\n this.trialUntil = _data[\"trialUntil\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentStatusViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentStatusViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isInTrial\"] = this.isInTrial;\r\n data[\"paymentIsSetup\"] = this.paymentIsSetup;\r\n data[\"licensedUserCount\"] = this.licensedUserCount;\r\n data[\"licensedUserCountBasic\"] = this.licensedUserCountBasic;\r\n data[\"hasPaidInAppStoreUntil\"] = this.hasPaidInAppStoreUntil;\r\n data[\"trialUntil\"] = this.trialUntil;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentStatusViewModel {\r\n isInTrial?: boolean;\r\n paymentIsSetup?: boolean;\r\n licensedUserCount?: number;\r\n licensedUserCountBasic?: number;\r\n hasPaidInAppStoreUntil?: string | undefined;\r\n trialUntil?: string;\r\n}\r\n\r\nexport enum AppColorEnum {\r\n SpikeTime = \"SpikeTime\",\r\n Primary = \"Primary\",\r\n Secondary = \"Secondary\",\r\n}\r\n\r\nexport class AppUserSettingsEditModel implements IAppUserSettingsEditModel {\r\n username?: string | undefined;\r\n name?: string | undefined;\r\n templateName?: string | undefined;\r\n timeZoneId?: number;\r\n datePattern?: string | undefined;\r\n timePattern?: string | undefined;\r\n timeEntriesShowFullWeek?: boolean;\r\n stopWatchNotficationEnabled?: boolean;\r\n timeEntryNotificationEnabled?: boolean;\r\n absenceRequestNotificationEnabled?: boolean;\r\n timeRoundingInterval?: number;\r\n menuColor?: MenuColorEnum;\r\n successButtonColor?: SuccessButtonColorEnum;\r\n appColorPrimary?: AppColorEnum;\r\n appColorSecondary?: AppColorEnum;\r\n stopwatchUseLastDescription?: boolean;\r\n language?: string | undefined;\r\n\r\n constructor(data?: IAppUserSettingsEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.username = _data[\"username\"];\r\n this.name = _data[\"name\"];\r\n this.templateName = _data[\"templateName\"];\r\n this.timeZoneId = _data[\"timeZoneId\"];\r\n this.datePattern = _data[\"datePattern\"];\r\n this.timePattern = _data[\"timePattern\"];\r\n this.timeEntriesShowFullWeek = _data[\"timeEntriesShowFullWeek\"];\r\n this.stopWatchNotficationEnabled = _data[\"stopWatchNotficationEnabled\"];\r\n this.timeEntryNotificationEnabled = _data[\"timeEntryNotificationEnabled\"];\r\n this.absenceRequestNotificationEnabled = _data[\"absenceRequestNotificationEnabled\"];\r\n this.timeRoundingInterval = _data[\"timeRoundingInterval\"];\r\n this.menuColor = _data[\"menuColor\"];\r\n this.successButtonColor = _data[\"successButtonColor\"];\r\n this.appColorPrimary = _data[\"appColorPrimary\"];\r\n this.appColorSecondary = _data[\"appColorSecondary\"];\r\n this.stopwatchUseLastDescription = _data[\"stopwatchUseLastDescription\"];\r\n this.language = _data[\"language\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserSettingsEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserSettingsEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"username\"] = this.username;\r\n data[\"name\"] = this.name;\r\n data[\"templateName\"] = this.templateName;\r\n data[\"timeZoneId\"] = this.timeZoneId;\r\n data[\"datePattern\"] = this.datePattern;\r\n data[\"timePattern\"] = this.timePattern;\r\n data[\"timeEntriesShowFullWeek\"] = this.timeEntriesShowFullWeek;\r\n data[\"stopWatchNotficationEnabled\"] = this.stopWatchNotficationEnabled;\r\n data[\"timeEntryNotificationEnabled\"] = this.timeEntryNotificationEnabled;\r\n data[\"absenceRequestNotificationEnabled\"] = this.absenceRequestNotificationEnabled;\r\n data[\"timeRoundingInterval\"] = this.timeRoundingInterval;\r\n data[\"menuColor\"] = this.menuColor;\r\n data[\"successButtonColor\"] = this.successButtonColor;\r\n data[\"appColorPrimary\"] = this.appColorPrimary;\r\n data[\"appColorSecondary\"] = this.appColorSecondary;\r\n data[\"stopwatchUseLastDescription\"] = this.stopwatchUseLastDescription;\r\n data[\"language\"] = this.language;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserSettingsEditModel {\r\n username?: string | undefined;\r\n name?: string | undefined;\r\n templateName?: string | undefined;\r\n timeZoneId?: number;\r\n datePattern?: string | undefined;\r\n timePattern?: string | undefined;\r\n timeEntriesShowFullWeek?: boolean;\r\n stopWatchNotficationEnabled?: boolean;\r\n timeEntryNotificationEnabled?: boolean;\r\n absenceRequestNotificationEnabled?: boolean;\r\n timeRoundingInterval?: number;\r\n menuColor?: MenuColorEnum;\r\n successButtonColor?: SuccessButtonColorEnum;\r\n appColorPrimary?: AppColorEnum;\r\n appColorSecondary?: AppColorEnum;\r\n stopwatchUseLastDescription?: boolean;\r\n language?: string | undefined;\r\n}\r\n\r\nexport class AppUserChangePasswordEditModel implements IAppUserChangePasswordEditModel {\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n newPasswordConfirm?: string | undefined;\r\n\r\n constructor(data?: IAppUserChangePasswordEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.oldPassword = _data[\"oldPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n this.newPasswordConfirm = _data[\"newPasswordConfirm\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserChangePasswordEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserChangePasswordEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"oldPassword\"] = this.oldPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n data[\"newPasswordConfirm\"] = this.newPasswordConfirm;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserChangePasswordEditModel {\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n newPasswordConfirm?: string | undefined;\r\n}\r\n\r\nexport class StSelectListItem implements IStSelectListItem {\r\n id?: number;\r\n description?: string | undefined;\r\n childItems?: StSelectListItem[] | undefined;\r\n\r\n constructor(data?: IStSelectListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n if (Array.isArray(_data[\"childItems\"])) {\r\n this.childItems = [] as any;\r\n for (let item of _data[\"childItems\"])\r\n this.childItems!.push(StSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StSelectListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StSelectListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n if (Array.isArray(this.childItems)) {\r\n data[\"childItems\"] = [];\r\n for (let item of this.childItems)\r\n data[\"childItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStSelectListItem {\r\n id?: number;\r\n description?: string | undefined;\r\n childItems?: StSelectListItem[] | undefined;\r\n}\r\n\r\nexport class AppUserFilter implements IAppUserFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n roleEnum?: RoleEnum | undefined;\r\n isPassiveUser?: boolean | undefined;\r\n isBasicTimeTrackingUser?: boolean | undefined;\r\n\r\n constructor(data?: IAppUserFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"ids\"])) {\r\n this.ids = [] as any;\r\n for (let item of _data[\"ids\"])\r\n this.ids!.push(item);\r\n }\r\n this.isArchived = _data[\"isArchived\"];\r\n this.roleEnum = _data[\"roleEnum\"];\r\n this.isPassiveUser = _data[\"isPassiveUser\"];\r\n this.isBasicTimeTrackingUser = _data[\"isBasicTimeTrackingUser\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.ids)) {\r\n data[\"ids\"] = [];\r\n for (let item of this.ids)\r\n data[\"ids\"].push(item);\r\n }\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"roleEnum\"] = this.roleEnum;\r\n data[\"isPassiveUser\"] = this.isPassiveUser;\r\n data[\"isBasicTimeTrackingUser\"] = this.isBasicTimeTrackingUser;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n roleEnum?: RoleEnum | undefined;\r\n isPassiveUser?: boolean | undefined;\r\n isBasicTimeTrackingUser?: boolean | undefined;\r\n}\r\n\r\nexport enum RoleEnum {\r\n Administrator = \"Administrator\",\r\n Manager = \"Manager\",\r\n Employee = \"Employee\",\r\n}\r\n\r\nexport class StSelectListItemGroup implements IStSelectListItemGroup {\r\n groupName?: string | undefined;\r\n items?: StSelectListItem[] | undefined;\r\n\r\n constructor(data?: IStSelectListItemGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.groupName = _data[\"groupName\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(StSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StSelectListItemGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StSelectListItemGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"groupName\"] = this.groupName;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStSelectListItemGroup {\r\n groupName?: string | undefined;\r\n items?: StSelectListItem[] | undefined;\r\n}\r\n\r\nexport class AppUserEditModel implements IAppUserEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n isArchived?: boolean;\r\n employeeNumber?: string | undefined;\r\n managerId?: number | undefined;\r\n useWorkHours?: boolean;\r\n publicHolidayGroupId?: number | undefined;\r\n roleId?: number;\r\n timeRoundingInterval?: number;\r\n isPassiveUser?: boolean;\r\n isPassiveUserManager?: boolean;\r\n isBasicTimeTrackingUser?: boolean;\r\n externalUserId?: string | undefined;\r\n featureFlagAppUserDepartmentInfoString?: string | undefined;\r\n\r\n constructor(data?: IAppUserEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.employeeNumber = _data[\"employeeNumber\"];\r\n this.managerId = _data[\"managerId\"];\r\n this.useWorkHours = _data[\"useWorkHours\"];\r\n this.publicHolidayGroupId = _data[\"publicHolidayGroupId\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.timeRoundingInterval = _data[\"timeRoundingInterval\"];\r\n this.isPassiveUser = _data[\"isPassiveUser\"];\r\n this.isPassiveUserManager = _data[\"isPassiveUserManager\"];\r\n this.isBasicTimeTrackingUser = _data[\"isBasicTimeTrackingUser\"];\r\n this.externalUserId = _data[\"externalUserId\"];\r\n this.featureFlagAppUserDepartmentInfoString = _data[\"featureFlagAppUserDepartmentInfoString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"employeeNumber\"] = this.employeeNumber;\r\n data[\"managerId\"] = this.managerId;\r\n data[\"useWorkHours\"] = this.useWorkHours;\r\n data[\"publicHolidayGroupId\"] = this.publicHolidayGroupId;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"timeRoundingInterval\"] = this.timeRoundingInterval;\r\n data[\"isPassiveUser\"] = this.isPassiveUser;\r\n data[\"isPassiveUserManager\"] = this.isPassiveUserManager;\r\n data[\"isBasicTimeTrackingUser\"] = this.isBasicTimeTrackingUser;\r\n data[\"externalUserId\"] = this.externalUserId;\r\n data[\"featureFlagAppUserDepartmentInfoString\"] = this.featureFlagAppUserDepartmentInfoString;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n isArchived?: boolean;\r\n employeeNumber?: string | undefined;\r\n managerId?: number | undefined;\r\n useWorkHours?: boolean;\r\n publicHolidayGroupId?: number | undefined;\r\n roleId?: number;\r\n timeRoundingInterval?: number;\r\n isPassiveUser?: boolean;\r\n isPassiveUserManager?: boolean;\r\n isBasicTimeTrackingUser?: boolean;\r\n externalUserId?: string | undefined;\r\n featureFlagAppUserDepartmentInfoString?: string | undefined;\r\n}\r\n\r\nexport class AppUserHistoryEditModel implements IAppUserHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n weeklyWorkHours?: number;\r\n dailyWorkHours?: WorkHoursDay[] | undefined;\r\n useDailyWorkHours?: boolean;\r\n validFrom?: string;\r\n isDeleted?: boolean;\r\n editMode?: boolean;\r\n\r\n constructor(data?: IAppUserHistoryEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.weeklyWorkHours = _data[\"weeklyWorkHours\"];\r\n if (Array.isArray(_data[\"dailyWorkHours\"])) {\r\n this.dailyWorkHours = [] as any;\r\n for (let item of _data[\"dailyWorkHours\"])\r\n this.dailyWorkHours!.push(WorkHoursDay.fromJS(item));\r\n }\r\n this.useDailyWorkHours = _data[\"useDailyWorkHours\"];\r\n this.validFrom = _data[\"validFrom\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.editMode = _data[\"editMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserHistoryEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserHistoryEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"weeklyWorkHours\"] = this.weeklyWorkHours;\r\n if (Array.isArray(this.dailyWorkHours)) {\r\n data[\"dailyWorkHours\"] = [];\r\n for (let item of this.dailyWorkHours)\r\n data[\"dailyWorkHours\"].push(item.toJSON());\r\n }\r\n data[\"useDailyWorkHours\"] = this.useDailyWorkHours;\r\n data[\"validFrom\"] = this.validFrom;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"editMode\"] = this.editMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n weeklyWorkHours?: number;\r\n dailyWorkHours?: WorkHoursDay[] | undefined;\r\n useDailyWorkHours?: boolean;\r\n validFrom?: string;\r\n isDeleted?: boolean;\r\n editMode?: boolean;\r\n}\r\n\r\nexport class WorkHoursDay implements IWorkHoursDay {\r\n dayOfWeek?: DayOfWeek;\r\n workingHours?: number;\r\n\r\n constructor(data?: IWorkHoursDay) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dayOfWeek = _data[\"dayOfWeek\"];\r\n this.workingHours = _data[\"workingHours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkHoursDay {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkHoursDay();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dayOfWeek\"] = this.dayOfWeek;\r\n data[\"workingHours\"] = this.workingHours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkHoursDay {\r\n dayOfWeek?: DayOfWeek;\r\n workingHours?: number;\r\n}\r\n\r\nexport class AppUserHistoryFilter implements IAppUserHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n\r\n constructor(data?: IAppUserHistoryFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserHistoryFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserHistoryFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n}\r\n\r\nexport class AppUserInternalCostHistoryEditModel implements IAppUserInternalCostHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n costPerHour?: number;\r\n validFrom?: string;\r\n isDeleted?: boolean;\r\n editMode?: boolean;\r\n\r\n constructor(data?: IAppUserInternalCostHistoryEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.costPerHour = _data[\"costPerHour\"];\r\n this.validFrom = _data[\"validFrom\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.editMode = _data[\"editMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserInternalCostHistoryEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserInternalCostHistoryEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"costPerHour\"] = this.costPerHour;\r\n data[\"validFrom\"] = this.validFrom;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"editMode\"] = this.editMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserInternalCostHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n costPerHour?: number;\r\n validFrom?: string;\r\n isDeleted?: boolean;\r\n editMode?: boolean;\r\n}\r\n\r\nexport class AppUserInternalCostHistoryFilter implements IAppUserInternalCostHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n dateFrom?: string | undefined;\r\n\r\n constructor(data?: IAppUserInternalCostHistoryFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserInternalCostHistoryFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserInternalCostHistoryFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserInternalCostHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n dateFrom?: string | undefined;\r\n}\r\n\r\nexport class AppUserRightEditModel implements IAppUserRightEditModel {\r\n appUserId?: number;\r\n rightId?: number;\r\n rightDescription?: string | undefined;\r\n isAllowed?: boolean;\r\n isMasterDataRight?: boolean;\r\n rightEnum?: RightEnum;\r\n sort?: number;\r\n hidden?: boolean;\r\n\r\n constructor(data?: IAppUserRightEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUserId = _data[\"appUserId\"];\r\n this.rightId = _data[\"rightId\"];\r\n this.rightDescription = _data[\"rightDescription\"];\r\n this.isAllowed = _data[\"isAllowed\"];\r\n this.isMasterDataRight = _data[\"isMasterDataRight\"];\r\n this.rightEnum = _data[\"rightEnum\"];\r\n this.sort = _data[\"sort\"];\r\n this.hidden = _data[\"hidden\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserRightEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserRightEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"rightId\"] = this.rightId;\r\n data[\"rightDescription\"] = this.rightDescription;\r\n data[\"isAllowed\"] = this.isAllowed;\r\n data[\"isMasterDataRight\"] = this.isMasterDataRight;\r\n data[\"rightEnum\"] = this.rightEnum;\r\n data[\"sort\"] = this.sort;\r\n data[\"hidden\"] = this.hidden;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserRightEditModel {\r\n appUserId?: number;\r\n rightId?: number;\r\n rightDescription?: string | undefined;\r\n isAllowed?: boolean;\r\n isMasterDataRight?: boolean;\r\n rightEnum?: RightEnum;\r\n sort?: number;\r\n hidden?: boolean;\r\n}\r\n\r\nexport class AppUserVacationHistoryEditModel implements IAppUserVacationHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n validFromYear?: number;\r\n vacationDaysPerYear?: number;\r\n editMode?: boolean;\r\n\r\n constructor(data?: IAppUserVacationHistoryEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.validFromYear = _data[\"validFromYear\"];\r\n this.vacationDaysPerYear = _data[\"vacationDaysPerYear\"];\r\n this.editMode = _data[\"editMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserVacationHistoryEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserVacationHistoryEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"validFromYear\"] = this.validFromYear;\r\n data[\"vacationDaysPerYear\"] = this.vacationDaysPerYear;\r\n data[\"editMode\"] = this.editMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserVacationHistoryEditModel {\r\n id?: string;\r\n appUserId?: number;\r\n validFromYear?: number;\r\n vacationDaysPerYear?: number;\r\n editMode?: boolean;\r\n}\r\n\r\nexport class AppUserVacationHistoryFilter implements IAppUserVacationHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n\r\n constructor(data?: IAppUserVacationHistoryFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserVacationHistoryFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserVacationHistoryFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appUserId\"] = this.appUserId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserVacationHistoryFilter {\r\n id?: string | undefined;\r\n appUserId?: number | undefined;\r\n}\r\n\r\nexport class AppAccountRegisterModel implements IAppAccountRegisterModel {\r\n email?: string | undefined;\r\n password?: string | undefined;\r\n passwordAgain?: string | undefined;\r\n\r\n constructor(data?: IAppAccountRegisterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.password = _data[\"password\"];\r\n this.passwordAgain = _data[\"passwordAgain\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppAccountRegisterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppAccountRegisterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"password\"] = this.password;\r\n data[\"passwordAgain\"] = this.passwordAgain;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppAccountRegisterModel {\r\n email?: string | undefined;\r\n password?: string | undefined;\r\n passwordAgain?: string | undefined;\r\n}\r\n\r\nexport class AccountRegisterModel implements IAccountRegisterModel {\r\n email?: string | undefined;\r\n registrationSource?: string | undefined;\r\n name?: string | undefined;\r\n url?: string | undefined;\r\n\r\n constructor(data?: IAccountRegisterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.registrationSource = _data[\"registrationSource\"];\r\n this.name = _data[\"name\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountRegisterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountRegisterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"registrationSource\"] = this.registrationSource;\r\n data[\"name\"] = this.name;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountRegisterModel {\r\n email?: string | undefined;\r\n registrationSource?: string | undefined;\r\n name?: string | undefined;\r\n url?: string | undefined;\r\n}\r\n\r\nexport class PreloginCheckModel implements IPreloginCheckModel {\r\n st2AccountName?: string | undefined;\r\n st3UserPresent?: boolean;\r\n st2Email?: string | undefined;\r\n\r\n constructor(data?: IPreloginCheckModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.st2AccountName = _data[\"st2AccountName\"];\r\n this.st3UserPresent = _data[\"st3UserPresent\"];\r\n this.st2Email = _data[\"st2Email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PreloginCheckModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PreloginCheckModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"st2AccountName\"] = this.st2AccountName;\r\n data[\"st3UserPresent\"] = this.st3UserPresent;\r\n data[\"st2Email\"] = this.st2Email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPreloginCheckModel {\r\n st2AccountName?: string | undefined;\r\n st3UserPresent?: boolean;\r\n st2Email?: string | undefined;\r\n}\r\n\r\nexport class AppUserLoginModel implements IAppUserLoginModel {\r\n email?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: IAppUserLoginModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserLoginModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserLoginModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserLoginModel {\r\n email?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class ForgotPasswordModel implements IForgotPasswordModel {\r\n email?: string | undefined;\r\n\r\n constructor(data?: IForgotPasswordModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ForgotPasswordModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ForgotPasswordModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IForgotPasswordModel {\r\n email?: string | undefined;\r\n}\r\n\r\nexport class ResetPasswordModel implements IResetPasswordModel {\r\n id?: string | undefined;\r\n token?: string | undefined;\r\n password?: string | undefined;\r\n passwordAgain?: string | undefined;\r\n\r\n constructor(data?: IResetPasswordModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.token = _data[\"token\"];\r\n this.password = _data[\"password\"];\r\n this.passwordAgain = _data[\"passwordAgain\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetPasswordModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetPasswordModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"token\"] = this.token;\r\n data[\"password\"] = this.password;\r\n data[\"passwordAgain\"] = this.passwordAgain;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetPasswordModel {\r\n id?: string | undefined;\r\n token?: string | undefined;\r\n password?: string | undefined;\r\n passwordAgain?: string | undefined;\r\n}\r\n\r\nexport class CustomerEditModel implements ICustomerEditModel {\r\n id?: number;\r\n name!: string;\r\n contactName?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n address?: string | undefined;\r\n eInvoiceAddressCalculated?: string | undefined;\r\n comment?: string | undefined;\r\n commentForTimeTracking?: string | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n invoiceEmail?: string | undefined;\r\n invoiceEmailText?: string | undefined;\r\n invoiceEmailTextSettings?: string | undefined;\r\n invoiceEmailSubject?: string | undefined;\r\n invoiceEmailSubjectSettings?: string | undefined;\r\n invoiceTitle?: string | undefined;\r\n invoiceTitleSettings?: string | undefined;\r\n invoiceDescription?: string | undefined;\r\n invoiceDescriptionSettings?: string | undefined;\r\n invoicePaymentTerms?: string | undefined;\r\n invoicePaymentTermsSettings?: string | undefined;\r\n invoicePaymentTermsOverwritten?: boolean;\r\n invoiceEmailTextOverwritten?: boolean;\r\n invoiceEmailSubjectOverwritten?: boolean;\r\n invoiceTitleOverwritten?: boolean;\r\n invoiceDescriptionOverwritten?: boolean;\r\n hasNoProjects?: boolean;\r\n projectEditModel?: ProjectAsCustomerEditModel | undefined;\r\n isArchived?: boolean;\r\n\r\n constructor(data?: ICustomerEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.city = _data[\"city\"];\r\n this.zip = _data[\"zip\"];\r\n this.streetAddress = _data[\"streetAddress\"];\r\n this.country = _data[\"country\"];\r\n this.taxNumberDe = _data[\"taxNumberDe\"];\r\n this.vatId = _data[\"vatId\"];\r\n this.address = _data[\"address\"];\r\n this.eInvoiceAddressCalculated = _data[\"eInvoiceAddressCalculated\"];\r\n this.comment = _data[\"comment\"];\r\n this.commentForTimeTracking = _data[\"commentForTimeTracking\"];\r\n this.amountModel = _data[\"amountModel\"] ? RateRuleAmountModel.fromJS(_data[\"amountModel\"]) : undefined;\r\n this.invoiceEmail = _data[\"invoiceEmail\"];\r\n this.invoiceEmailText = _data[\"invoiceEmailText\"];\r\n this.invoiceEmailTextSettings = _data[\"invoiceEmailTextSettings\"];\r\n this.invoiceEmailSubject = _data[\"invoiceEmailSubject\"];\r\n this.invoiceEmailSubjectSettings = _data[\"invoiceEmailSubjectSettings\"];\r\n this.invoiceTitle = _data[\"invoiceTitle\"];\r\n this.invoiceTitleSettings = _data[\"invoiceTitleSettings\"];\r\n this.invoiceDescription = _data[\"invoiceDescription\"];\r\n this.invoiceDescriptionSettings = _data[\"invoiceDescriptionSettings\"];\r\n this.invoicePaymentTerms = _data[\"invoicePaymentTerms\"];\r\n this.invoicePaymentTermsSettings = _data[\"invoicePaymentTermsSettings\"];\r\n this.invoicePaymentTermsOverwritten = _data[\"invoicePaymentTermsOverwritten\"];\r\n this.invoiceEmailTextOverwritten = _data[\"invoiceEmailTextOverwritten\"];\r\n this.invoiceEmailSubjectOverwritten = _data[\"invoiceEmailSubjectOverwritten\"];\r\n this.invoiceTitleOverwritten = _data[\"invoiceTitleOverwritten\"];\r\n this.invoiceDescriptionOverwritten = _data[\"invoiceDescriptionOverwritten\"];\r\n this.hasNoProjects = _data[\"hasNoProjects\"];\r\n this.projectEditModel = _data[\"projectEditModel\"] ? ProjectAsCustomerEditModel.fromJS(_data[\"projectEditModel\"]) : undefined;\r\n this.isArchived = _data[\"isArchived\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomerEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomerEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"city\"] = this.city;\r\n data[\"zip\"] = this.zip;\r\n data[\"streetAddress\"] = this.streetAddress;\r\n data[\"country\"] = this.country;\r\n data[\"taxNumberDe\"] = this.taxNumberDe;\r\n data[\"vatId\"] = this.vatId;\r\n data[\"address\"] = this.address;\r\n data[\"eInvoiceAddressCalculated\"] = this.eInvoiceAddressCalculated;\r\n data[\"comment\"] = this.comment;\r\n data[\"commentForTimeTracking\"] = this.commentForTimeTracking;\r\n data[\"amountModel\"] = this.amountModel ? this.amountModel.toJSON() : undefined;\r\n data[\"invoiceEmail\"] = this.invoiceEmail;\r\n data[\"invoiceEmailText\"] = this.invoiceEmailText;\r\n data[\"invoiceEmailTextSettings\"] = this.invoiceEmailTextSettings;\r\n data[\"invoiceEmailSubject\"] = this.invoiceEmailSubject;\r\n data[\"invoiceEmailSubjectSettings\"] = this.invoiceEmailSubjectSettings;\r\n data[\"invoiceTitle\"] = this.invoiceTitle;\r\n data[\"invoiceTitleSettings\"] = this.invoiceTitleSettings;\r\n data[\"invoiceDescription\"] = this.invoiceDescription;\r\n data[\"invoiceDescriptionSettings\"] = this.invoiceDescriptionSettings;\r\n data[\"invoicePaymentTerms\"] = this.invoicePaymentTerms;\r\n data[\"invoicePaymentTermsSettings\"] = this.invoicePaymentTermsSettings;\r\n data[\"invoicePaymentTermsOverwritten\"] = this.invoicePaymentTermsOverwritten;\r\n data[\"invoiceEmailTextOverwritten\"] = this.invoiceEmailTextOverwritten;\r\n data[\"invoiceEmailSubjectOverwritten\"] = this.invoiceEmailSubjectOverwritten;\r\n data[\"invoiceTitleOverwritten\"] = this.invoiceTitleOverwritten;\r\n data[\"invoiceDescriptionOverwritten\"] = this.invoiceDescriptionOverwritten;\r\n data[\"hasNoProjects\"] = this.hasNoProjects;\r\n data[\"projectEditModel\"] = this.projectEditModel ? this.projectEditModel.toJSON() : undefined;\r\n data[\"isArchived\"] = this.isArchived;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomerEditModel {\r\n id?: number;\r\n name: string;\r\n contactName?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n address?: string | undefined;\r\n eInvoiceAddressCalculated?: string | undefined;\r\n comment?: string | undefined;\r\n commentForTimeTracking?: string | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n invoiceEmail?: string | undefined;\r\n invoiceEmailText?: string | undefined;\r\n invoiceEmailTextSettings?: string | undefined;\r\n invoiceEmailSubject?: string | undefined;\r\n invoiceEmailSubjectSettings?: string | undefined;\r\n invoiceTitle?: string | undefined;\r\n invoiceTitleSettings?: string | undefined;\r\n invoiceDescription?: string | undefined;\r\n invoiceDescriptionSettings?: string | undefined;\r\n invoicePaymentTerms?: string | undefined;\r\n invoicePaymentTermsSettings?: string | undefined;\r\n invoicePaymentTermsOverwritten?: boolean;\r\n invoiceEmailTextOverwritten?: boolean;\r\n invoiceEmailSubjectOverwritten?: boolean;\r\n invoiceTitleOverwritten?: boolean;\r\n invoiceDescriptionOverwritten?: boolean;\r\n hasNoProjects?: boolean;\r\n projectEditModel?: ProjectAsCustomerEditModel | undefined;\r\n isArchived?: boolean;\r\n}\r\n\r\nexport class RateRuleAmountModel implements IRateRuleAmountModel {\r\n rateRuleId?: number;\r\n amount?: number;\r\n overrideAmount?: boolean;\r\n parentAmount?: number | undefined;\r\n sourceRule?: RateRuleEnum;\r\n\r\n constructor(data?: IRateRuleAmountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.rateRuleId = _data[\"rateRuleId\"];\r\n this.amount = _data[\"amount\"];\r\n this.overrideAmount = _data[\"overrideAmount\"];\r\n this.parentAmount = _data[\"parentAmount\"];\r\n this.sourceRule = _data[\"sourceRule\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleAmountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleAmountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"rateRuleId\"] = this.rateRuleId;\r\n data[\"amount\"] = this.amount;\r\n data[\"overrideAmount\"] = this.overrideAmount;\r\n data[\"parentAmount\"] = this.parentAmount;\r\n data[\"sourceRule\"] = this.sourceRule;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleAmountModel {\r\n rateRuleId?: number;\r\n amount?: number;\r\n overrideAmount?: boolean;\r\n parentAmount?: number | undefined;\r\n sourceRule?: RateRuleEnum;\r\n}\r\n\r\nexport enum RateRuleEnum {\r\n Global = \"Global\",\r\n Customer = \"Customer\",\r\n Project = \"Project\",\r\n ProjectTask = \"ProjectTask\",\r\n GlobalProjectTask = \"GlobalProjectTask\",\r\n AppUser = \"AppUser\",\r\n}\r\n\r\nexport class ProjectAsCustomerEditModel implements IProjectAsCustomerEditModel {\r\n id?: number;\r\n isBillable?: boolean;\r\n projectStaff?: ProjectStaffEditModel[] | undefined;\r\n budget?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n notifyOnBudgetOverrun?: boolean;\r\n budgetOverrunThresholdPercent?: number;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n\r\n constructor(data?: IProjectAsCustomerEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n if (Array.isArray(_data[\"projectStaff\"])) {\r\n this.projectStaff = [] as any;\r\n for (let item of _data[\"projectStaff\"])\r\n this.projectStaff!.push(ProjectStaffEditModel.fromJS(item));\r\n }\r\n this.budget = _data[\"budget\"];\r\n this.budgetUnit = _data[\"budgetUnit\"];\r\n this.budgetTimeFrame = _data[\"budgetTimeFrame\"];\r\n this.notifyOnBudgetOverrun = _data[\"notifyOnBudgetOverrun\"];\r\n this.budgetOverrunThresholdPercent = _data[\"budgetOverrunThresholdPercent\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.isFixedPrice = _data[\"isFixedPrice\"];\r\n this.fixedPrice = _data[\"fixedPrice\"];\r\n this.fixedPriceCalcRate = _data[\"fixedPriceCalcRate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectAsCustomerEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectAsCustomerEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isBillable\"] = this.isBillable;\r\n if (Array.isArray(this.projectStaff)) {\r\n data[\"projectStaff\"] = [];\r\n for (let item of this.projectStaff)\r\n data[\"projectStaff\"].push(item.toJSON());\r\n }\r\n data[\"budget\"] = this.budget;\r\n data[\"budgetUnit\"] = this.budgetUnit;\r\n data[\"budgetTimeFrame\"] = this.budgetTimeFrame;\r\n data[\"notifyOnBudgetOverrun\"] = this.notifyOnBudgetOverrun;\r\n data[\"budgetOverrunThresholdPercent\"] = this.budgetOverrunThresholdPercent;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"isFixedPrice\"] = this.isFixedPrice;\r\n data[\"fixedPrice\"] = this.fixedPrice;\r\n data[\"fixedPriceCalcRate\"] = this.fixedPriceCalcRate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectAsCustomerEditModel {\r\n id?: number;\r\n isBillable?: boolean;\r\n projectStaff?: ProjectStaffEditModel[] | undefined;\r\n budget?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n notifyOnBudgetOverrun?: boolean;\r\n budgetOverrunThresholdPercent?: number;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n}\r\n\r\nexport class ProjectStaffEditModel implements IProjectStaffEditModel {\r\n projectId?: number;\r\n appUserId?: number;\r\n canViewAllProjectTimeEntries?: boolean;\r\n canEditAllProjectTimeEntries?: boolean;\r\n\r\n constructor(data?: IProjectStaffEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.projectId = _data[\"projectId\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.canViewAllProjectTimeEntries = _data[\"canViewAllProjectTimeEntries\"];\r\n this.canEditAllProjectTimeEntries = _data[\"canEditAllProjectTimeEntries\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectStaffEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectStaffEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"projectId\"] = this.projectId;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"canViewAllProjectTimeEntries\"] = this.canViewAllProjectTimeEntries;\r\n data[\"canEditAllProjectTimeEntries\"] = this.canEditAllProjectTimeEntries;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectStaffEditModel {\r\n projectId?: number;\r\n appUserId?: number;\r\n canViewAllProjectTimeEntries?: boolean;\r\n canEditAllProjectTimeEntries?: boolean;\r\n}\r\n\r\nexport enum BudgetUnitEnum {\r\n Currency = \"Currency\",\r\n Hours = \"Hours\",\r\n HoursBillable = \"HoursBillable\",\r\n}\r\n\r\nexport enum BudgetTimeFrameEnum {\r\n Fixed = \"Fixed\",\r\n Month = \"Month\",\r\n Year = \"Year\",\r\n}\r\n\r\nexport class CustomerViewModel implements ICustomerViewModel {\r\n id?: number;\r\n guid?: string;\r\n name?: string | undefined;\r\n isArchived?: boolean;\r\n contactName?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n comment?: string | undefined;\r\n projects?: ProjectViewModel[] | undefined;\r\n noOfActiveProjects?: number;\r\n noOfArchivedProjects?: number;\r\n editMode?: boolean;\r\n editModel?: CustomerEditModel | undefined;\r\n newProjectEditMode?: boolean;\r\n newProjectEditModel?: ProjectEditModel | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n hasNoProjects?: boolean;\r\n isBasicTimeTrackingDefaultCustomer?: boolean;\r\n\r\n constructor(data?: ICustomerViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.guid = _data[\"guid\"];\r\n this.name = _data[\"name\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.city = _data[\"city\"];\r\n this.zip = _data[\"zip\"];\r\n this.streetAddress = _data[\"streetAddress\"];\r\n this.country = _data[\"country\"];\r\n this.taxNumberDe = _data[\"taxNumberDe\"];\r\n this.vatId = _data[\"vatId\"];\r\n this.comment = _data[\"comment\"];\r\n if (Array.isArray(_data[\"projects\"])) {\r\n this.projects = [] as any;\r\n for (let item of _data[\"projects\"])\r\n this.projects!.push(ProjectViewModel.fromJS(item));\r\n }\r\n this.noOfActiveProjects = _data[\"noOfActiveProjects\"];\r\n this.noOfArchivedProjects = _data[\"noOfArchivedProjects\"];\r\n this.editMode = _data[\"editMode\"];\r\n this.editModel = _data[\"editModel\"] ? CustomerEditModel.fromJS(_data[\"editModel\"]) : undefined;\r\n this.newProjectEditMode = _data[\"newProjectEditMode\"];\r\n this.newProjectEditModel = _data[\"newProjectEditModel\"] ? ProjectEditModel.fromJS(_data[\"newProjectEditModel\"]) : undefined;\r\n this.amountModel = _data[\"amountModel\"] ? RateRuleAmountModel.fromJS(_data[\"amountModel\"]) : undefined;\r\n this.hasNoProjects = _data[\"hasNoProjects\"];\r\n this.isBasicTimeTrackingDefaultCustomer = _data[\"isBasicTimeTrackingDefaultCustomer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomerViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"guid\"] = this.guid;\r\n data[\"name\"] = this.name;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"city\"] = this.city;\r\n data[\"zip\"] = this.zip;\r\n data[\"streetAddress\"] = this.streetAddress;\r\n data[\"country\"] = this.country;\r\n data[\"taxNumberDe\"] = this.taxNumberDe;\r\n data[\"vatId\"] = this.vatId;\r\n data[\"comment\"] = this.comment;\r\n if (Array.isArray(this.projects)) {\r\n data[\"projects\"] = [];\r\n for (let item of this.projects)\r\n data[\"projects\"].push(item.toJSON());\r\n }\r\n data[\"noOfActiveProjects\"] = this.noOfActiveProjects;\r\n data[\"noOfArchivedProjects\"] = this.noOfArchivedProjects;\r\n data[\"editMode\"] = this.editMode;\r\n data[\"editModel\"] = this.editModel ? this.editModel.toJSON() : undefined;\r\n data[\"newProjectEditMode\"] = this.newProjectEditMode;\r\n data[\"newProjectEditModel\"] = this.newProjectEditModel ? this.newProjectEditModel.toJSON() : undefined;\r\n data[\"amountModel\"] = this.amountModel ? this.amountModel.toJSON() : undefined;\r\n data[\"hasNoProjects\"] = this.hasNoProjects;\r\n data[\"isBasicTimeTrackingDefaultCustomer\"] = this.isBasicTimeTrackingDefaultCustomer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomerViewModel {\r\n id?: number;\r\n guid?: string;\r\n name?: string | undefined;\r\n isArchived?: boolean;\r\n contactName?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n comment?: string | undefined;\r\n projects?: ProjectViewModel[] | undefined;\r\n noOfActiveProjects?: number;\r\n noOfArchivedProjects?: number;\r\n editMode?: boolean;\r\n editModel?: CustomerEditModel | undefined;\r\n newProjectEditMode?: boolean;\r\n newProjectEditModel?: ProjectEditModel | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n hasNoProjects?: boolean;\r\n isBasicTimeTrackingDefaultCustomer?: boolean;\r\n}\r\n\r\nexport class ProjectViewModel implements IProjectViewModel {\r\n id?: number;\r\n guid?: string;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n activeFixedPriceRate?: number;\r\n budget?: number;\r\n hasBudget?: boolean;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n customerId?: number;\r\n customerName?: string | undefined;\r\n customerProjectId?: string | undefined;\r\n customerGuid?: string;\r\n name?: string | undefined;\r\n comment?: string | undefined;\r\n isArchived?: boolean;\r\n hasProjectTasks?: boolean;\r\n projectTasks?: ProjectTaskViewModel[] | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n notifyOnBudgetOverrun?: boolean;\r\n isCustomerProject?: boolean;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n isBasicTimeTrackingDefaultProject?: boolean;\r\n isReadonly?: boolean;\r\n finishedDate?: string | undefined;\r\n\r\n constructor(data?: IProjectViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.guid = _data[\"guid\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isFixedPrice = _data[\"isFixedPrice\"];\r\n this.fixedPrice = _data[\"fixedPrice\"];\r\n this.fixedPriceCalcRate = _data[\"fixedPriceCalcRate\"];\r\n this.activeFixedPriceRate = _data[\"activeFixedPriceRate\"];\r\n this.budget = _data[\"budget\"];\r\n this.hasBudget = _data[\"hasBudget\"];\r\n this.budgetUnit = _data[\"budgetUnit\"];\r\n this.budgetTimeFrame = _data[\"budgetTimeFrame\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.customerProjectId = _data[\"customerProjectId\"];\r\n this.customerGuid = _data[\"customerGuid\"];\r\n this.name = _data[\"name\"];\r\n this.comment = _data[\"comment\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.hasProjectTasks = _data[\"hasProjectTasks\"];\r\n if (Array.isArray(_data[\"projectTasks\"])) {\r\n this.projectTasks = [] as any;\r\n for (let item of _data[\"projectTasks\"])\r\n this.projectTasks!.push(ProjectTaskViewModel.fromJS(item));\r\n }\r\n this.amountModel = _data[\"amountModel\"] ? RateRuleAmountModel.fromJS(_data[\"amountModel\"]) : undefined;\r\n this.notifyOnBudgetOverrun = _data[\"notifyOnBudgetOverrun\"];\r\n this.isCustomerProject = _data[\"isCustomerProject\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.isBasicTimeTrackingDefaultProject = _data[\"isBasicTimeTrackingDefaultProject\"];\r\n this.isReadonly = _data[\"isReadonly\"];\r\n this.finishedDate = _data[\"finishedDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"guid\"] = this.guid;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isFixedPrice\"] = this.isFixedPrice;\r\n data[\"fixedPrice\"] = this.fixedPrice;\r\n data[\"fixedPriceCalcRate\"] = this.fixedPriceCalcRate;\r\n data[\"activeFixedPriceRate\"] = this.activeFixedPriceRate;\r\n data[\"budget\"] = this.budget;\r\n data[\"hasBudget\"] = this.hasBudget;\r\n data[\"budgetUnit\"] = this.budgetUnit;\r\n data[\"budgetTimeFrame\"] = this.budgetTimeFrame;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"customerProjectId\"] = this.customerProjectId;\r\n data[\"customerGuid\"] = this.customerGuid;\r\n data[\"name\"] = this.name;\r\n data[\"comment\"] = this.comment;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"hasProjectTasks\"] = this.hasProjectTasks;\r\n if (Array.isArray(this.projectTasks)) {\r\n data[\"projectTasks\"] = [];\r\n for (let item of this.projectTasks)\r\n data[\"projectTasks\"].push(item.toJSON());\r\n }\r\n data[\"amountModel\"] = this.amountModel ? this.amountModel.toJSON() : undefined;\r\n data[\"notifyOnBudgetOverrun\"] = this.notifyOnBudgetOverrun;\r\n data[\"isCustomerProject\"] = this.isCustomerProject;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"isBasicTimeTrackingDefaultProject\"] = this.isBasicTimeTrackingDefaultProject;\r\n data[\"isReadonly\"] = this.isReadonly;\r\n data[\"finishedDate\"] = this.finishedDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectViewModel {\r\n id?: number;\r\n guid?: string;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n activeFixedPriceRate?: number;\r\n budget?: number;\r\n hasBudget?: boolean;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n customerId?: number;\r\n customerName?: string | undefined;\r\n customerProjectId?: string | undefined;\r\n customerGuid?: string;\r\n name?: string | undefined;\r\n comment?: string | undefined;\r\n isArchived?: boolean;\r\n hasProjectTasks?: boolean;\r\n projectTasks?: ProjectTaskViewModel[] | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n notifyOnBudgetOverrun?: boolean;\r\n isCustomerProject?: boolean;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n isBasicTimeTrackingDefaultProject?: boolean;\r\n isReadonly?: boolean;\r\n finishedDate?: string | undefined;\r\n}\r\n\r\nexport class ProjectTaskViewModel implements IProjectTaskViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isArchived?: boolean;\r\n editMode?: boolean;\r\n projectId?: number | undefined;\r\n editModel?: ProjectTaskEditModel | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n guid?: string;\r\n\r\n constructor(data?: IProjectTaskViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.editMode = _data[\"editMode\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.editModel = _data[\"editModel\"] ? ProjectTaskEditModel.fromJS(_data[\"editModel\"]) : undefined;\r\n this.amountModel = _data[\"amountModel\"] ? RateRuleAmountModel.fromJS(_data[\"amountModel\"]) : undefined;\r\n this.guid = _data[\"guid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectTaskViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectTaskViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"editMode\"] = this.editMode;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"editModel\"] = this.editModel ? this.editModel.toJSON() : undefined;\r\n data[\"amountModel\"] = this.amountModel ? this.amountModel.toJSON() : undefined;\r\n data[\"guid\"] = this.guid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectTaskViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isArchived?: boolean;\r\n editMode?: boolean;\r\n projectId?: number | undefined;\r\n editModel?: ProjectTaskEditModel | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n guid?: string;\r\n}\r\n\r\nexport class ProjectTaskEditModel implements IProjectTaskEditModel {\r\n id?: number;\r\n name!: string;\r\n isArchived?: boolean;\r\n projectId?: number | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n\r\n constructor(data?: IProjectTaskEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.amountModel = _data[\"amountModel\"] ? RateRuleAmountModel.fromJS(_data[\"amountModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectTaskEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectTaskEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"amountModel\"] = this.amountModel ? this.amountModel.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectTaskEditModel {\r\n id?: number;\r\n name: string;\r\n isArchived?: boolean;\r\n projectId?: number | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n}\r\n\r\nexport class ProjectEditModel implements IProjectEditModel {\r\n id?: number;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n budget?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n customerId!: number;\r\n name!: string;\r\n comment?: string | undefined;\r\n commentForTimeTracking?: string | undefined;\r\n customerName?: string | undefined;\r\n customerProjectId?: string | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n projectTasks?: ProjectTaskEditModel[] | undefined;\r\n projectStaff?: ProjectStaffEditModel[] | undefined;\r\n allowDeleteDependentEntitiesForProjectTasks?: boolean;\r\n notifyOnBudgetOverrun?: boolean;\r\n budgetOverrunThresholdPercent?: number;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n isArchived?: boolean;\r\n hideGlobalProjectTasks?: boolean;\r\n\r\n constructor(data?: IProjectEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isFixedPrice = _data[\"isFixedPrice\"];\r\n this.fixedPrice = _data[\"fixedPrice\"];\r\n this.fixedPriceCalcRate = _data[\"fixedPriceCalcRate\"];\r\n this.budget = _data[\"budget\"];\r\n this.budgetUnit = _data[\"budgetUnit\"];\r\n this.budgetTimeFrame = _data[\"budgetTimeFrame\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.name = _data[\"name\"];\r\n this.comment = _data[\"comment\"];\r\n this.commentForTimeTracking = _data[\"commentForTimeTracking\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.customerProjectId = _data[\"customerProjectId\"];\r\n this.amountModel = _data[\"amountModel\"] ? RateRuleAmountModel.fromJS(_data[\"amountModel\"]) : undefined;\r\n if (Array.isArray(_data[\"projectTasks\"])) {\r\n this.projectTasks = [] as any;\r\n for (let item of _data[\"projectTasks\"])\r\n this.projectTasks!.push(ProjectTaskEditModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"projectStaff\"])) {\r\n this.projectStaff = [] as any;\r\n for (let item of _data[\"projectStaff\"])\r\n this.projectStaff!.push(ProjectStaffEditModel.fromJS(item));\r\n }\r\n this.allowDeleteDependentEntitiesForProjectTasks = _data[\"allowDeleteDependentEntitiesForProjectTasks\"];\r\n this.notifyOnBudgetOverrun = _data[\"notifyOnBudgetOverrun\"];\r\n this.budgetOverrunThresholdPercent = _data[\"budgetOverrunThresholdPercent\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.hideGlobalProjectTasks = _data[\"hideGlobalProjectTasks\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isFixedPrice\"] = this.isFixedPrice;\r\n data[\"fixedPrice\"] = this.fixedPrice;\r\n data[\"fixedPriceCalcRate\"] = this.fixedPriceCalcRate;\r\n data[\"budget\"] = this.budget;\r\n data[\"budgetUnit\"] = this.budgetUnit;\r\n data[\"budgetTimeFrame\"] = this.budgetTimeFrame;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"name\"] = this.name;\r\n data[\"comment\"] = this.comment;\r\n data[\"commentForTimeTracking\"] = this.commentForTimeTracking;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"customerProjectId\"] = this.customerProjectId;\r\n data[\"amountModel\"] = this.amountModel ? this.amountModel.toJSON() : undefined;\r\n if (Array.isArray(this.projectTasks)) {\r\n data[\"projectTasks\"] = [];\r\n for (let item of this.projectTasks)\r\n data[\"projectTasks\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.projectStaff)) {\r\n data[\"projectStaff\"] = [];\r\n for (let item of this.projectStaff)\r\n data[\"projectStaff\"].push(item.toJSON());\r\n }\r\n data[\"allowDeleteDependentEntitiesForProjectTasks\"] = this.allowDeleteDependentEntitiesForProjectTasks;\r\n data[\"notifyOnBudgetOverrun\"] = this.notifyOnBudgetOverrun;\r\n data[\"budgetOverrunThresholdPercent\"] = this.budgetOverrunThresholdPercent;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"hideGlobalProjectTasks\"] = this.hideGlobalProjectTasks;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectEditModel {\r\n id?: number;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n budget?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n customerId: number;\r\n name: string;\r\n comment?: string | undefined;\r\n commentForTimeTracking?: string | undefined;\r\n customerName?: string | undefined;\r\n customerProjectId?: string | undefined;\r\n amountModel?: RateRuleAmountModel | undefined;\r\n projectTasks?: ProjectTaskEditModel[] | undefined;\r\n projectStaff?: ProjectStaffEditModel[] | undefined;\r\n allowDeleteDependentEntitiesForProjectTasks?: boolean;\r\n notifyOnBudgetOverrun?: boolean;\r\n budgetOverrunThresholdPercent?: number;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n isArchived?: boolean;\r\n hideGlobalProjectTasks?: boolean;\r\n}\r\n\r\nexport class CustomerFilter implements ICustomerFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n showArchivedProjects?: boolean | undefined;\r\n includeViewOnlyCustomer?: boolean | undefined;\r\n\r\n constructor(data?: ICustomerFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"ids\"])) {\r\n this.ids = [] as any;\r\n for (let item of _data[\"ids\"])\r\n this.ids!.push(item);\r\n }\r\n this.isArchived = _data[\"isArchived\"];\r\n this.showArchivedProjects = _data[\"showArchivedProjects\"];\r\n this.includeViewOnlyCustomer = _data[\"includeViewOnlyCustomer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomerFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomerFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.ids)) {\r\n data[\"ids\"] = [];\r\n for (let item of this.ids)\r\n data[\"ids\"].push(item);\r\n }\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"showArchivedProjects\"] = this.showArchivedProjects;\r\n data[\"includeViewOnlyCustomer\"] = this.includeViewOnlyCustomer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomerFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n showArchivedProjects?: boolean | undefined;\r\n includeViewOnlyCustomer?: boolean | undefined;\r\n}\r\n\r\nexport class CustomerArchiveToggleCommand implements ICustomerArchiveToggleCommand {\r\n customerId?: number;\r\n\r\n constructor(data?: ICustomerArchiveToggleCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.customerId = _data[\"customerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomerArchiveToggleCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomerArchiveToggleCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"customerId\"] = this.customerId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomerArchiveToggleCommand {\r\n customerId?: number;\r\n}\r\n\r\nexport class InvoiceViewModel implements IInvoiceViewModel {\r\n id?: number;\r\n invoiceNumber?: string | undefined;\r\n createdDate?: string;\r\n basePriceCent?: number;\r\n basePriceCentBasic?: number;\r\n amountCentNetFullUsers?: number;\r\n amountCentNetBasicUsers?: number;\r\n amountCent?: number;\r\n vatAmountCent?: number;\r\n vatReverseCharge?: boolean;\r\n grossAmountCent?: number;\r\n userCount?: number;\r\n userCountBasic?: number;\r\n paymentType?: string | undefined;\r\n isPaid?: boolean;\r\n paymentRecipient?: string | undefined;\r\n paymentCompany?: string | undefined;\r\n paymentStreet?: string | undefined;\r\n paymentZip?: string | undefined;\r\n paymentCity?: string | undefined;\r\n paymentCountry?: string | undefined;\r\n paymentVatId?: string | undefined;\r\n paymentMethod?: string | undefined;\r\n paidTill?: string;\r\n invoicePdf?: string | undefined;\r\n invoicePdfFileName?: string | undefined;\r\n\r\n constructor(data?: IInvoiceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.invoiceNumber = _data[\"invoiceNumber\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n this.basePriceCent = _data[\"basePriceCent\"];\r\n this.basePriceCentBasic = _data[\"basePriceCentBasic\"];\r\n this.amountCentNetFullUsers = _data[\"amountCentNetFullUsers\"];\r\n this.amountCentNetBasicUsers = _data[\"amountCentNetBasicUsers\"];\r\n this.amountCent = _data[\"amountCent\"];\r\n this.vatAmountCent = _data[\"vatAmountCent\"];\r\n this.vatReverseCharge = _data[\"vatReverseCharge\"];\r\n this.grossAmountCent = _data[\"grossAmountCent\"];\r\n this.userCount = _data[\"userCount\"];\r\n this.userCountBasic = _data[\"userCountBasic\"];\r\n this.paymentType = _data[\"paymentType\"];\r\n this.isPaid = _data[\"isPaid\"];\r\n this.paymentRecipient = _data[\"paymentRecipient\"];\r\n this.paymentCompany = _data[\"paymentCompany\"];\r\n this.paymentStreet = _data[\"paymentStreet\"];\r\n this.paymentZip = _data[\"paymentZip\"];\r\n this.paymentCity = _data[\"paymentCity\"];\r\n this.paymentCountry = _data[\"paymentCountry\"];\r\n this.paymentVatId = _data[\"paymentVatId\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.paidTill = _data[\"paidTill\"];\r\n this.invoicePdf = _data[\"invoicePdf\"];\r\n this.invoicePdfFileName = _data[\"invoicePdfFileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"invoiceNumber\"] = this.invoiceNumber;\r\n data[\"createdDate\"] = this.createdDate;\r\n data[\"basePriceCent\"] = this.basePriceCent;\r\n data[\"basePriceCentBasic\"] = this.basePriceCentBasic;\r\n data[\"amountCentNetFullUsers\"] = this.amountCentNetFullUsers;\r\n data[\"amountCentNetBasicUsers\"] = this.amountCentNetBasicUsers;\r\n data[\"amountCent\"] = this.amountCent;\r\n data[\"vatAmountCent\"] = this.vatAmountCent;\r\n data[\"vatReverseCharge\"] = this.vatReverseCharge;\r\n data[\"grossAmountCent\"] = this.grossAmountCent;\r\n data[\"userCount\"] = this.userCount;\r\n data[\"userCountBasic\"] = this.userCountBasic;\r\n data[\"paymentType\"] = this.paymentType;\r\n data[\"isPaid\"] = this.isPaid;\r\n data[\"paymentRecipient\"] = this.paymentRecipient;\r\n data[\"paymentCompany\"] = this.paymentCompany;\r\n data[\"paymentStreet\"] = this.paymentStreet;\r\n data[\"paymentZip\"] = this.paymentZip;\r\n data[\"paymentCity\"] = this.paymentCity;\r\n data[\"paymentCountry\"] = this.paymentCountry;\r\n data[\"paymentVatId\"] = this.paymentVatId;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"paidTill\"] = this.paidTill;\r\n data[\"invoicePdf\"] = this.invoicePdf;\r\n data[\"invoicePdfFileName\"] = this.invoicePdfFileName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceViewModel {\r\n id?: number;\r\n invoiceNumber?: string | undefined;\r\n createdDate?: string;\r\n basePriceCent?: number;\r\n basePriceCentBasic?: number;\r\n amountCentNetFullUsers?: number;\r\n amountCentNetBasicUsers?: number;\r\n amountCent?: number;\r\n vatAmountCent?: number;\r\n vatReverseCharge?: boolean;\r\n grossAmountCent?: number;\r\n userCount?: number;\r\n userCountBasic?: number;\r\n paymentType?: string | undefined;\r\n isPaid?: boolean;\r\n paymentRecipient?: string | undefined;\r\n paymentCompany?: string | undefined;\r\n paymentStreet?: string | undefined;\r\n paymentZip?: string | undefined;\r\n paymentCity?: string | undefined;\r\n paymentCountry?: string | undefined;\r\n paymentVatId?: string | undefined;\r\n paymentMethod?: string | undefined;\r\n paidTill?: string;\r\n invoicePdf?: string | undefined;\r\n invoicePdfFileName?: string | undefined;\r\n}\r\n\r\nexport class ListResult implements IListResult {\r\n rows?: ResultRow[] | undefined;\r\n numberOfGroups?: number;\r\n numberOfEntries?: number;\r\n extraFieldHeaderColumns?: ExtraFieldHeaderColumn[] | undefined;\r\n extraFieldSumHeaderColumns?: ExtraFieldHeaderColumn[] | undefined;\r\n listParameters?: ListParameters | undefined;\r\n filterItems?: ResultFilterItem[] | undefined;\r\n\r\n constructor(data?: IListResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(ResultRow.fromJS(item));\r\n }\r\n this.numberOfGroups = _data[\"numberOfGroups\"];\r\n this.numberOfEntries = _data[\"numberOfEntries\"];\r\n if (Array.isArray(_data[\"extraFieldHeaderColumns\"])) {\r\n this.extraFieldHeaderColumns = [] as any;\r\n for (let item of _data[\"extraFieldHeaderColumns\"])\r\n this.extraFieldHeaderColumns!.push(ExtraFieldHeaderColumn.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"extraFieldSumHeaderColumns\"])) {\r\n this.extraFieldSumHeaderColumns = [] as any;\r\n for (let item of _data[\"extraFieldSumHeaderColumns\"])\r\n this.extraFieldSumHeaderColumns!.push(ExtraFieldHeaderColumn.fromJS(item));\r\n }\r\n this.listParameters = _data[\"listParameters\"] ? ListParameters.fromJS(_data[\"listParameters\"]) : undefined;\r\n if (Array.isArray(_data[\"filterItems\"])) {\r\n this.filterItems = [] as any;\r\n for (let item of _data[\"filterItems\"])\r\n this.filterItems!.push(ResultFilterItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"numberOfGroups\"] = this.numberOfGroups;\r\n data[\"numberOfEntries\"] = this.numberOfEntries;\r\n if (Array.isArray(this.extraFieldHeaderColumns)) {\r\n data[\"extraFieldHeaderColumns\"] = [];\r\n for (let item of this.extraFieldHeaderColumns)\r\n data[\"extraFieldHeaderColumns\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.extraFieldSumHeaderColumns)) {\r\n data[\"extraFieldSumHeaderColumns\"] = [];\r\n for (let item of this.extraFieldSumHeaderColumns)\r\n data[\"extraFieldSumHeaderColumns\"].push(item.toJSON());\r\n }\r\n data[\"listParameters\"] = this.listParameters ? this.listParameters.toJSON() : undefined;\r\n if (Array.isArray(this.filterItems)) {\r\n data[\"filterItems\"] = [];\r\n for (let item of this.filterItems)\r\n data[\"filterItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListResult {\r\n rows?: ResultRow[] | undefined;\r\n numberOfGroups?: number;\r\n numberOfEntries?: number;\r\n extraFieldHeaderColumns?: ExtraFieldHeaderColumn[] | undefined;\r\n extraFieldSumHeaderColumns?: ExtraFieldHeaderColumn[] | undefined;\r\n listParameters?: ListParameters | undefined;\r\n filterItems?: ResultFilterItem[] | undefined;\r\n}\r\n\r\nexport class ResultRow implements IResultRow {\r\n isSum?: boolean;\r\n group?: string | undefined;\r\n level?: number;\r\n durationMinutesSum?: number;\r\n durationMinutesSumNotBillable?: number;\r\n revenueSumBillable?: number;\r\n revenueSumNotBillable?: number;\r\n extraFieldSumColumns?: ExtraFieldSumColumn[] | undefined;\r\n timeEntry?: TimeEntryViewModel | undefined;\r\n\r\n constructor(data?: IResultRow) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isSum = _data[\"isSum\"];\r\n this.group = _data[\"group\"];\r\n this.level = _data[\"level\"];\r\n this.durationMinutesSum = _data[\"durationMinutesSum\"];\r\n this.durationMinutesSumNotBillable = _data[\"durationMinutesSumNotBillable\"];\r\n this.revenueSumBillable = _data[\"revenueSumBillable\"];\r\n this.revenueSumNotBillable = _data[\"revenueSumNotBillable\"];\r\n if (Array.isArray(_data[\"extraFieldSumColumns\"])) {\r\n this.extraFieldSumColumns = [] as any;\r\n for (let item of _data[\"extraFieldSumColumns\"])\r\n this.extraFieldSumColumns!.push(ExtraFieldSumColumn.fromJS(item));\r\n }\r\n this.timeEntry = _data[\"timeEntry\"] ? TimeEntryViewModel.fromJS(_data[\"timeEntry\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultRow {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultRow();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isSum\"] = this.isSum;\r\n data[\"group\"] = this.group;\r\n data[\"level\"] = this.level;\r\n data[\"durationMinutesSum\"] = this.durationMinutesSum;\r\n data[\"durationMinutesSumNotBillable\"] = this.durationMinutesSumNotBillable;\r\n data[\"revenueSumBillable\"] = this.revenueSumBillable;\r\n data[\"revenueSumNotBillable\"] = this.revenueSumNotBillable;\r\n if (Array.isArray(this.extraFieldSumColumns)) {\r\n data[\"extraFieldSumColumns\"] = [];\r\n for (let item of this.extraFieldSumColumns)\r\n data[\"extraFieldSumColumns\"].push(item.toJSON());\r\n }\r\n data[\"timeEntry\"] = this.timeEntry ? this.timeEntry.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResultRow {\r\n isSum?: boolean;\r\n group?: string | undefined;\r\n level?: number;\r\n durationMinutesSum?: number;\r\n durationMinutesSumNotBillable?: number;\r\n revenueSumBillable?: number;\r\n revenueSumNotBillable?: number;\r\n extraFieldSumColumns?: ExtraFieldSumColumn[] | undefined;\r\n timeEntry?: TimeEntryViewModel | undefined;\r\n}\r\n\r\nexport class ExtraFieldSumColumn implements IExtraFieldSumColumn {\r\n id?: number;\r\n name?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n sumValue?: number;\r\n\r\n constructor(data?: IExtraFieldSumColumn) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.dataType = _data[\"dataType\"];\r\n this.sumValue = _data[\"sumValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtraFieldSumColumn {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtraFieldSumColumn();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"dataType\"] = this.dataType;\r\n data[\"sumValue\"] = this.sumValue;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtraFieldSumColumn {\r\n id?: number;\r\n name?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n sumValue?: number;\r\n}\r\n\r\nexport enum TimeEntryExtraFieldDataTypeEnum {\r\n Text = \"Text\",\r\n Integer = \"Integer\",\r\n Decimal = \"Decimal\",\r\n Rating = \"Rating\",\r\n YesNo = \"YesNo\",\r\n Selection = \"Selection\",\r\n}\r\n\r\nexport class TimeEntryViewModel implements ITimeEntryViewModel {\r\n id?: number;\r\n entryDateDisplayGroup?: string | undefined;\r\n entryWeekDisplayGroup?: string | undefined;\r\n entryMonthDisplayGroup?: string | undefined;\r\n entryDate?: string;\r\n entryWeek?: number;\r\n entryMonth?: number;\r\n entryYear?: number;\r\n durationMinutes?: number;\r\n durationHours?: number;\r\n durationMinutesNotBillable?: number;\r\n durationMinutesPause?: number;\r\n durationHoursPause?: number;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n timeFrom?: string | undefined;\r\n timeTo?: string | undefined;\r\n isInputTimeFromTo?: boolean;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n revenueNotBillable?: number;\r\n rateAmount?: number;\r\n rateAmountOverridden?: boolean;\r\n rateAmountComment?: string | undefined;\r\n timeEntryType?: TimeEntryTypeViewModel | undefined;\r\n projectId?: number;\r\n projectName?: string | undefined;\r\n projectIsArchived?: boolean;\r\n projectIsFinished?: boolean;\r\n projectCustomerProjectId?: string | undefined;\r\n isFixedPrice?: boolean;\r\n customerId?: number;\r\n customerName?: string | undefined;\r\n customerHasNoProjects?: boolean;\r\n projectTaskId?: number | undefined;\r\n projectTaskName?: string | undefined;\r\n projectTaskIsArchived?: boolean;\r\n projectTaskNameNullChecked?: string | undefined;\r\n tags?: TagViewModel[] | undefined;\r\n editType?: TimeEntryTypeEnum;\r\n timeEntryExtraFields?: TimeEntryExtraFieldViewModel[] | undefined;\r\n outgoingInvoiceId?: number | undefined;\r\n outgoingInvoiceNumber?: string | undefined;\r\n isDisabled?: boolean;\r\n disabledReason?: string | undefined;\r\n isDeleteDisabled?: boolean;\r\n appUserId?: number;\r\n appUserName?: string | undefined;\r\n warnings?: TimeEntryWarning[] | undefined;\r\n maxWarningSeverity?: TimeEntryWarningSeverity;\r\n isValid?: boolean;\r\n insertDateTime?: string;\r\n isInvoiced?: boolean;\r\n rowVersion?: number;\r\n isTwoDayEntry?: boolean;\r\n timeFromDt?: string | undefined;\r\n timeToDt?: string | undefined;\r\n featureFlagAppUserDepartmentInfoString?: string | undefined;\r\n\r\n constructor(data?: ITimeEntryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.entryDateDisplayGroup = _data[\"entryDateDisplayGroup\"];\r\n this.entryWeekDisplayGroup = _data[\"entryWeekDisplayGroup\"];\r\n this.entryMonthDisplayGroup = _data[\"entryMonthDisplayGroup\"];\r\n this.entryDate = _data[\"entryDate\"];\r\n this.entryWeek = _data[\"entryWeek\"];\r\n this.entryMonth = _data[\"entryMonth\"];\r\n this.entryYear = _data[\"entryYear\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.durationHours = _data[\"durationHours\"];\r\n this.durationMinutesNotBillable = _data[\"durationMinutesNotBillable\"];\r\n this.durationMinutesPause = _data[\"durationMinutesPause\"];\r\n this.durationHoursPause = _data[\"durationHoursPause\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.timeFrom = _data[\"timeFrom\"];\r\n this.timeTo = _data[\"timeTo\"];\r\n this.isInputTimeFromTo = _data[\"isInputTimeFromTo\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isCleared = _data[\"isCleared\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.revenueBillable = _data[\"revenueBillable\"];\r\n this.revenueNotBillable = _data[\"revenueNotBillable\"];\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.rateAmountOverridden = _data[\"rateAmountOverridden\"];\r\n this.rateAmountComment = _data[\"rateAmountComment\"];\r\n this.timeEntryType = _data[\"timeEntryType\"] ? TimeEntryTypeViewModel.fromJS(_data[\"timeEntryType\"]) : undefined;\r\n this.projectId = _data[\"projectId\"];\r\n this.projectName = _data[\"projectName\"];\r\n this.projectIsArchived = _data[\"projectIsArchived\"];\r\n this.projectIsFinished = _data[\"projectIsFinished\"];\r\n this.projectCustomerProjectId = _data[\"projectCustomerProjectId\"];\r\n this.isFixedPrice = _data[\"isFixedPrice\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.customerHasNoProjects = _data[\"customerHasNoProjects\"];\r\n this.projectTaskId = _data[\"projectTaskId\"];\r\n this.projectTaskName = _data[\"projectTaskName\"];\r\n this.projectTaskIsArchived = _data[\"projectTaskIsArchived\"];\r\n this.projectTaskNameNullChecked = _data[\"projectTaskNameNullChecked\"];\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(TagViewModel.fromJS(item));\r\n }\r\n this.editType = _data[\"editType\"];\r\n if (Array.isArray(_data[\"timeEntryExtraFields\"])) {\r\n this.timeEntryExtraFields = [] as any;\r\n for (let item of _data[\"timeEntryExtraFields\"])\r\n this.timeEntryExtraFields!.push(TimeEntryExtraFieldViewModel.fromJS(item));\r\n }\r\n this.outgoingInvoiceId = _data[\"outgoingInvoiceId\"];\r\n this.outgoingInvoiceNumber = _data[\"outgoingInvoiceNumber\"];\r\n this.isDisabled = _data[\"isDisabled\"];\r\n this.disabledReason = _data[\"disabledReason\"];\r\n this.isDeleteDisabled = _data[\"isDeleteDisabled\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.appUserName = _data[\"appUserName\"];\r\n if (Array.isArray(_data[\"warnings\"])) {\r\n this.warnings = [] as any;\r\n for (let item of _data[\"warnings\"])\r\n this.warnings!.push(TimeEntryWarning.fromJS(item));\r\n }\r\n this.maxWarningSeverity = _data[\"maxWarningSeverity\"];\r\n this.isValid = _data[\"isValid\"];\r\n this.insertDateTime = _data[\"insertDateTime\"];\r\n this.isInvoiced = _data[\"isInvoiced\"];\r\n this.rowVersion = _data[\"rowVersion\"];\r\n this.isTwoDayEntry = _data[\"isTwoDayEntry\"];\r\n this.timeFromDt = _data[\"timeFromDt\"];\r\n this.timeToDt = _data[\"timeToDt\"];\r\n this.featureFlagAppUserDepartmentInfoString = _data[\"featureFlagAppUserDepartmentInfoString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"entryDateDisplayGroup\"] = this.entryDateDisplayGroup;\r\n data[\"entryWeekDisplayGroup\"] = this.entryWeekDisplayGroup;\r\n data[\"entryMonthDisplayGroup\"] = this.entryMonthDisplayGroup;\r\n data[\"entryDate\"] = this.entryDate;\r\n data[\"entryWeek\"] = this.entryWeek;\r\n data[\"entryMonth\"] = this.entryMonth;\r\n data[\"entryYear\"] = this.entryYear;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"durationHours\"] = this.durationHours;\r\n data[\"durationMinutesNotBillable\"] = this.durationMinutesNotBillable;\r\n data[\"durationMinutesPause\"] = this.durationMinutesPause;\r\n data[\"durationHoursPause\"] = this.durationHoursPause;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"timeFrom\"] = this.timeFrom;\r\n data[\"timeTo\"] = this.timeTo;\r\n data[\"isInputTimeFromTo\"] = this.isInputTimeFromTo;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isCleared\"] = this.isCleared;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"revenueBillable\"] = this.revenueBillable;\r\n data[\"revenueNotBillable\"] = this.revenueNotBillable;\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"rateAmountOverridden\"] = this.rateAmountOverridden;\r\n data[\"rateAmountComment\"] = this.rateAmountComment;\r\n data[\"timeEntryType\"] = this.timeEntryType ? this.timeEntryType.toJSON() : undefined;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"projectName\"] = this.projectName;\r\n data[\"projectIsArchived\"] = this.projectIsArchived;\r\n data[\"projectIsFinished\"] = this.projectIsFinished;\r\n data[\"projectCustomerProjectId\"] = this.projectCustomerProjectId;\r\n data[\"isFixedPrice\"] = this.isFixedPrice;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"customerHasNoProjects\"] = this.customerHasNoProjects;\r\n data[\"projectTaskId\"] = this.projectTaskId;\r\n data[\"projectTaskName\"] = this.projectTaskName;\r\n data[\"projectTaskIsArchived\"] = this.projectTaskIsArchived;\r\n data[\"projectTaskNameNullChecked\"] = this.projectTaskNameNullChecked;\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n data[\"editType\"] = this.editType;\r\n if (Array.isArray(this.timeEntryExtraFields)) {\r\n data[\"timeEntryExtraFields\"] = [];\r\n for (let item of this.timeEntryExtraFields)\r\n data[\"timeEntryExtraFields\"].push(item.toJSON());\r\n }\r\n data[\"outgoingInvoiceId\"] = this.outgoingInvoiceId;\r\n data[\"outgoingInvoiceNumber\"] = this.outgoingInvoiceNumber;\r\n data[\"isDisabled\"] = this.isDisabled;\r\n data[\"disabledReason\"] = this.disabledReason;\r\n data[\"isDeleteDisabled\"] = this.isDeleteDisabled;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"appUserName\"] = this.appUserName;\r\n if (Array.isArray(this.warnings)) {\r\n data[\"warnings\"] = [];\r\n for (let item of this.warnings)\r\n data[\"warnings\"].push(item.toJSON());\r\n }\r\n data[\"maxWarningSeverity\"] = this.maxWarningSeverity;\r\n data[\"isValid\"] = this.isValid;\r\n data[\"insertDateTime\"] = this.insertDateTime;\r\n data[\"isInvoiced\"] = this.isInvoiced;\r\n data[\"rowVersion\"] = this.rowVersion;\r\n data[\"isTwoDayEntry\"] = this.isTwoDayEntry;\r\n data[\"timeFromDt\"] = this.timeFromDt;\r\n data[\"timeToDt\"] = this.timeToDt;\r\n data[\"featureFlagAppUserDepartmentInfoString\"] = this.featureFlagAppUserDepartmentInfoString;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryViewModel {\r\n id?: number;\r\n entryDateDisplayGroup?: string | undefined;\r\n entryWeekDisplayGroup?: string | undefined;\r\n entryMonthDisplayGroup?: string | undefined;\r\n entryDate?: string;\r\n entryWeek?: number;\r\n entryMonth?: number;\r\n entryYear?: number;\r\n durationMinutes?: number;\r\n durationHours?: number;\r\n durationMinutesNotBillable?: number;\r\n durationMinutesPause?: number;\r\n durationHoursPause?: number;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n timeFrom?: string | undefined;\r\n timeTo?: string | undefined;\r\n isInputTimeFromTo?: boolean;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n revenueNotBillable?: number;\r\n rateAmount?: number;\r\n rateAmountOverridden?: boolean;\r\n rateAmountComment?: string | undefined;\r\n timeEntryType?: TimeEntryTypeViewModel | undefined;\r\n projectId?: number;\r\n projectName?: string | undefined;\r\n projectIsArchived?: boolean;\r\n projectIsFinished?: boolean;\r\n projectCustomerProjectId?: string | undefined;\r\n isFixedPrice?: boolean;\r\n customerId?: number;\r\n customerName?: string | undefined;\r\n customerHasNoProjects?: boolean;\r\n projectTaskId?: number | undefined;\r\n projectTaskName?: string | undefined;\r\n projectTaskIsArchived?: boolean;\r\n projectTaskNameNullChecked?: string | undefined;\r\n tags?: TagViewModel[] | undefined;\r\n editType?: TimeEntryTypeEnum;\r\n timeEntryExtraFields?: TimeEntryExtraFieldViewModel[] | undefined;\r\n outgoingInvoiceId?: number | undefined;\r\n outgoingInvoiceNumber?: string | undefined;\r\n isDisabled?: boolean;\r\n disabledReason?: string | undefined;\r\n isDeleteDisabled?: boolean;\r\n appUserId?: number;\r\n appUserName?: string | undefined;\r\n warnings?: TimeEntryWarning[] | undefined;\r\n maxWarningSeverity?: TimeEntryWarningSeverity;\r\n isValid?: boolean;\r\n insertDateTime?: string;\r\n isInvoiced?: boolean;\r\n rowVersion?: number;\r\n isTwoDayEntry?: boolean;\r\n timeFromDt?: string | undefined;\r\n timeToDt?: string | undefined;\r\n featureFlagAppUserDepartmentInfoString?: string | undefined;\r\n}\r\n\r\nexport class TimeEntryTypeViewModel implements ITimeEntryTypeViewModel {\r\n id?: number;\r\n nameTranslationKey?: string | undefined;\r\n type?: TimeEntryTypeEnum;\r\n isStopwatch?: boolean;\r\n\r\n constructor(data?: ITimeEntryTypeViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.nameTranslationKey = _data[\"nameTranslationKey\"];\r\n this.type = _data[\"type\"];\r\n this.isStopwatch = _data[\"isStopwatch\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryTypeViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryTypeViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"nameTranslationKey\"] = this.nameTranslationKey;\r\n data[\"type\"] = this.type;\r\n data[\"isStopwatch\"] = this.isStopwatch;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryTypeViewModel {\r\n id?: number;\r\n nameTranslationKey?: string | undefined;\r\n type?: TimeEntryTypeEnum;\r\n isStopwatch?: boolean;\r\n}\r\n\r\nexport enum TimeEntryTypeEnum {\r\n TimeEntry = \"TimeEntry\",\r\n Pause = \"Pause\",\r\n Stopwatch = \"Stopwatch\",\r\n AutoPause = \"AutoPause\",\r\n}\r\n\r\nexport class TagViewModel implements ITagViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n colorClass?: string | undefined;\r\n isArchived?: boolean;\r\n\r\n constructor(data?: ITagViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.colorClass = _data[\"colorClass\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TagViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TagViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"colorClass\"] = this.colorClass;\r\n data[\"isArchived\"] = this.isArchived;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITagViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n colorClass?: string | undefined;\r\n isArchived?: boolean;\r\n}\r\n\r\nexport class TimeEntryExtraFieldViewModel implements ITimeEntryExtraFieldViewModel {\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n hideInDayView?: boolean;\r\n\r\n constructor(data?: ITimeEntryExtraFieldViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.description = _data[\"description\"];\r\n this.dataType = _data[\"dataType\"];\r\n this.hideInDayView = _data[\"hideInDayView\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryExtraFieldViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryExtraFieldViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"description\"] = this.description;\r\n data[\"dataType\"] = this.dataType;\r\n data[\"hideInDayView\"] = this.hideInDayView;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryExtraFieldViewModel {\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n hideInDayView?: boolean;\r\n}\r\n\r\nexport class TimeEntryWarning implements ITimeEntryWarning {\r\n severity?: TimeEntryWarningSeverity;\r\n warning?: string | undefined;\r\n\r\n constructor(data?: ITimeEntryWarning) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.severity = _data[\"severity\"];\r\n this.warning = _data[\"warning\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryWarning {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryWarning();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"severity\"] = this.severity;\r\n data[\"warning\"] = this.warning;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryWarning {\r\n severity?: TimeEntryWarningSeverity;\r\n warning?: string | undefined;\r\n}\r\n\r\nexport enum TimeEntryWarningSeverity {\r\n Nothing = \"Nothing\",\r\n Info = \"Info\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n}\r\n\r\nexport class ExtraFieldHeaderColumn implements IExtraFieldHeaderColumn {\r\n id?: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IExtraFieldHeaderColumn) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtraFieldHeaderColumn {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtraFieldHeaderColumn();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtraFieldHeaderColumn {\r\n id?: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ListParameters implements IListParameters {\r\n grouping?: TimeEntryGroupingModel | undefined;\r\n filter?: TimeEntryFilter | undefined;\r\n listSettingsModel?: TimeEntryListSettingsModel | undefined;\r\n\r\n constructor(data?: IListParameters) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.grouping = _data[\"grouping\"] ? TimeEntryGroupingModel.fromJS(_data[\"grouping\"]) : undefined;\r\n this.filter = _data[\"filter\"] ? TimeEntryFilter.fromJS(_data[\"filter\"]) : undefined;\r\n this.listSettingsModel = _data[\"listSettingsModel\"] ? TimeEntryListSettingsModel.fromJS(_data[\"listSettingsModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListParameters {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListParameters();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"grouping\"] = this.grouping ? this.grouping.toJSON() : undefined;\r\n data[\"filter\"] = this.filter ? this.filter.toJSON() : undefined;\r\n data[\"listSettingsModel\"] = this.listSettingsModel ? this.listSettingsModel.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListParameters {\r\n grouping?: TimeEntryGroupingModel | undefined;\r\n filter?: TimeEntryFilter | undefined;\r\n listSettingsModel?: TimeEntryListSettingsModel | undefined;\r\n}\r\n\r\nexport class TimeEntryGroupingModel implements ITimeEntryGroupingModel {\r\n day?: boolean;\r\n week?: boolean;\r\n month?: boolean;\r\n year?: boolean;\r\n customer?: boolean;\r\n project?: boolean;\r\n user?: boolean;\r\n projectTask?: boolean;\r\n details?: boolean;\r\n groups?: string[] | undefined;\r\n isGrouped?: boolean;\r\n\r\n constructor(data?: ITimeEntryGroupingModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.day = _data[\"day\"];\r\n this.week = _data[\"week\"];\r\n this.month = _data[\"month\"];\r\n this.year = _data[\"year\"];\r\n this.customer = _data[\"customer\"];\r\n this.project = _data[\"project\"];\r\n this.user = _data[\"user\"];\r\n this.projectTask = _data[\"projectTask\"];\r\n this.details = _data[\"details\"];\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(item);\r\n }\r\n this.isGrouped = _data[\"isGrouped\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryGroupingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryGroupingModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"day\"] = this.day;\r\n data[\"week\"] = this.week;\r\n data[\"month\"] = this.month;\r\n data[\"year\"] = this.year;\r\n data[\"customer\"] = this.customer;\r\n data[\"project\"] = this.project;\r\n data[\"user\"] = this.user;\r\n data[\"projectTask\"] = this.projectTask;\r\n data[\"details\"] = this.details;\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item);\r\n }\r\n data[\"isGrouped\"] = this.isGrouped;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryGroupingModel {\r\n day?: boolean;\r\n week?: boolean;\r\n month?: boolean;\r\n year?: boolean;\r\n customer?: boolean;\r\n project?: boolean;\r\n user?: boolean;\r\n projectTask?: boolean;\r\n details?: boolean;\r\n groups?: string[] | undefined;\r\n isGrouped?: boolean;\r\n}\r\n\r\nexport class TimeEntryFilter implements ITimeEntryFilter {\r\n id?: number | undefined;\r\n timeframe?: TimeEntryFilterTimeFrame;\r\n entryDateFrom?: string | undefined;\r\n entryDateTo?: string | undefined;\r\n entryDate?: string | undefined;\r\n type?: TimeEntryTypeEnum | undefined;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n customerIds?: number[] | undefined;\r\n projectIds?: number[] | undefined;\r\n projectTaskIds?: number[] | undefined;\r\n appUserIds?: number[] | undefined;\r\n tagIds?: number[] | undefined;\r\n ids?: number[] | undefined;\r\n outgoingInvoiceId?: number | undefined;\r\n isBillable?: boolean | undefined;\r\n isCleared?: boolean | undefined;\r\n description?: string | undefined;\r\n timeEntryExtraFieldMetadataId?: number | undefined;\r\n hasOutgoingInvoice?: boolean | undefined;\r\n extraFields?: TimeEntryFilterExtraField[] | undefined;\r\n customers?: string | undefined;\r\n projects?: string | undefined;\r\n projectTasks?: string | undefined;\r\n appUser?: string | undefined;\r\n tags?: string | undefined;\r\n previousTimeFrame?: ValueTupleOfNullableDateTimeAndNullableDateTime;\r\n\r\n constructor(data?: ITimeEntryFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.timeframe = _data[\"timeframe\"];\r\n this.entryDateFrom = _data[\"entryDateFrom\"];\r\n this.entryDateTo = _data[\"entryDateTo\"];\r\n this.entryDate = _data[\"entryDate\"];\r\n this.type = _data[\"type\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.projectTaskId = _data[\"projectTaskId\"];\r\n if (Array.isArray(_data[\"customerIds\"])) {\r\n this.customerIds = [] as any;\r\n for (let item of _data[\"customerIds\"])\r\n this.customerIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"projectIds\"])) {\r\n this.projectIds = [] as any;\r\n for (let item of _data[\"projectIds\"])\r\n this.projectIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"projectTaskIds\"])) {\r\n this.projectTaskIds = [] as any;\r\n for (let item of _data[\"projectTaskIds\"])\r\n this.projectTaskIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"appUserIds\"])) {\r\n this.appUserIds = [] as any;\r\n for (let item of _data[\"appUserIds\"])\r\n this.appUserIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"tagIds\"])) {\r\n this.tagIds = [] as any;\r\n for (let item of _data[\"tagIds\"])\r\n this.tagIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ids\"])) {\r\n this.ids = [] as any;\r\n for (let item of _data[\"ids\"])\r\n this.ids!.push(item);\r\n }\r\n this.outgoingInvoiceId = _data[\"outgoingInvoiceId\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isCleared = _data[\"isCleared\"];\r\n this.description = _data[\"description\"];\r\n this.timeEntryExtraFieldMetadataId = _data[\"timeEntryExtraFieldMetadataId\"];\r\n this.hasOutgoingInvoice = _data[\"hasOutgoingInvoice\"];\r\n if (Array.isArray(_data[\"extraFields\"])) {\r\n this.extraFields = [] as any;\r\n for (let item of _data[\"extraFields\"])\r\n this.extraFields!.push(TimeEntryFilterExtraField.fromJS(item));\r\n }\r\n this.customers = _data[\"customers\"];\r\n this.projects = _data[\"projects\"];\r\n this.projectTasks = _data[\"projectTasks\"];\r\n this.appUser = _data[\"appUser\"];\r\n this.tags = _data[\"tags\"];\r\n this.previousTimeFrame = _data[\"previousTimeFrame\"] ? ValueTupleOfNullableDateTimeAndNullableDateTime.fromJS(_data[\"previousTimeFrame\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"timeframe\"] = this.timeframe;\r\n data[\"entryDateFrom\"] = this.entryDateFrom;\r\n data[\"entryDateTo\"] = this.entryDateTo;\r\n data[\"entryDate\"] = this.entryDate;\r\n data[\"type\"] = this.type;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"projectTaskId\"] = this.projectTaskId;\r\n if (Array.isArray(this.customerIds)) {\r\n data[\"customerIds\"] = [];\r\n for (let item of this.customerIds)\r\n data[\"customerIds\"].push(item);\r\n }\r\n if (Array.isArray(this.projectIds)) {\r\n data[\"projectIds\"] = [];\r\n for (let item of this.projectIds)\r\n data[\"projectIds\"].push(item);\r\n }\r\n if (Array.isArray(this.projectTaskIds)) {\r\n data[\"projectTaskIds\"] = [];\r\n for (let item of this.projectTaskIds)\r\n data[\"projectTaskIds\"].push(item);\r\n }\r\n if (Array.isArray(this.appUserIds)) {\r\n data[\"appUserIds\"] = [];\r\n for (let item of this.appUserIds)\r\n data[\"appUserIds\"].push(item);\r\n }\r\n if (Array.isArray(this.tagIds)) {\r\n data[\"tagIds\"] = [];\r\n for (let item of this.tagIds)\r\n data[\"tagIds\"].push(item);\r\n }\r\n if (Array.isArray(this.ids)) {\r\n data[\"ids\"] = [];\r\n for (let item of this.ids)\r\n data[\"ids\"].push(item);\r\n }\r\n data[\"outgoingInvoiceId\"] = this.outgoingInvoiceId;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isCleared\"] = this.isCleared;\r\n data[\"description\"] = this.description;\r\n data[\"timeEntryExtraFieldMetadataId\"] = this.timeEntryExtraFieldMetadataId;\r\n data[\"hasOutgoingInvoice\"] = this.hasOutgoingInvoice;\r\n if (Array.isArray(this.extraFields)) {\r\n data[\"extraFields\"] = [];\r\n for (let item of this.extraFields)\r\n data[\"extraFields\"].push(item.toJSON());\r\n }\r\n data[\"customers\"] = this.customers;\r\n data[\"projects\"] = this.projects;\r\n data[\"projectTasks\"] = this.projectTasks;\r\n data[\"appUser\"] = this.appUser;\r\n data[\"tags\"] = this.tags;\r\n data[\"previousTimeFrame\"] = this.previousTimeFrame ? this.previousTimeFrame.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryFilter {\r\n id?: number | undefined;\r\n timeframe?: TimeEntryFilterTimeFrame;\r\n entryDateFrom?: string | undefined;\r\n entryDateTo?: string | undefined;\r\n entryDate?: string | undefined;\r\n type?: TimeEntryTypeEnum | undefined;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n customerIds?: number[] | undefined;\r\n projectIds?: number[] | undefined;\r\n projectTaskIds?: number[] | undefined;\r\n appUserIds?: number[] | undefined;\r\n tagIds?: number[] | undefined;\r\n ids?: number[] | undefined;\r\n outgoingInvoiceId?: number | undefined;\r\n isBillable?: boolean | undefined;\r\n isCleared?: boolean | undefined;\r\n description?: string | undefined;\r\n timeEntryExtraFieldMetadataId?: number | undefined;\r\n hasOutgoingInvoice?: boolean | undefined;\r\n extraFields?: TimeEntryFilterExtraField[] | undefined;\r\n customers?: string | undefined;\r\n projects?: string | undefined;\r\n projectTasks?: string | undefined;\r\n appUser?: string | undefined;\r\n tags?: string | undefined;\r\n previousTimeFrame?: ValueTupleOfNullableDateTimeAndNullableDateTime;\r\n}\r\n\r\nexport enum TimeEntryFilterTimeFrame {\r\n Custom = \"Custom\",\r\n Today = \"Today\",\r\n Yesterday = \"Yesterday\",\r\n Last7 = \"Last7\",\r\n ThisWeek = \"ThisWeek\",\r\n LastWeek = \"LastWeek\",\r\n ThisMonth = \"ThisMonth\",\r\n LastMonth = \"LastMonth\",\r\n ThisYear = \"ThisYear\",\r\n LastYear = \"LastYear\",\r\n Ytd = \"Ytd\",\r\n All = \"All\",\r\n Mtd = \"Mtd\",\r\n Last30 = \"Last30\",\r\n ThisQuarter = \"ThisQuarter\",\r\n LastQuarter = \"LastQuarter\",\r\n}\r\n\r\nexport class TimeEntryFilterExtraField implements ITimeEntryFilterExtraField {\r\n timeEntryExtraFieldMetadataId?: number;\r\n searchText?: string | undefined;\r\n\r\n constructor(data?: ITimeEntryFilterExtraField) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timeEntryExtraFieldMetadataId = _data[\"timeEntryExtraFieldMetadataId\"];\r\n this.searchText = _data[\"searchText\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryFilterExtraField {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryFilterExtraField();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timeEntryExtraFieldMetadataId\"] = this.timeEntryExtraFieldMetadataId;\r\n data[\"searchText\"] = this.searchText;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryFilterExtraField {\r\n timeEntryExtraFieldMetadataId?: number;\r\n searchText?: string | undefined;\r\n}\r\n\r\nexport class ValueTupleOfNullableDateTimeAndNullableDateTime implements IValueTupleOfNullableDateTimeAndNullableDateTime {\r\n item1?: string | undefined;\r\n item2?: string | undefined;\r\n\r\n constructor(data?: IValueTupleOfNullableDateTimeAndNullableDateTime) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.item1 = _data[\"item1\"];\r\n this.item2 = _data[\"item2\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValueTupleOfNullableDateTimeAndNullableDateTime {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValueTupleOfNullableDateTimeAndNullableDateTime();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"item1\"] = this.item1;\r\n data[\"item2\"] = this.item2;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValueTupleOfNullableDateTimeAndNullableDateTime {\r\n item1?: string | undefined;\r\n item2?: string | undefined;\r\n}\r\n\r\nexport class TimeEntryListSettingsModel implements ITimeEntryListSettingsModel {\r\n hiddenColumns?: string[] | undefined;\r\n alignLandscape?: boolean;\r\n displayFilter?: boolean;\r\n columnLayout?: ListColumnLayout[] | undefined;\r\n extraFieldColumnLayout?: ExtraFieldColumnLayout[] | undefined;\r\n visibleExtraFieldIds?: number[] | undefined;\r\n sortDateAscending?: boolean;\r\n\r\n constructor(data?: ITimeEntryListSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"hiddenColumns\"])) {\r\n this.hiddenColumns = [] as any;\r\n for (let item of _data[\"hiddenColumns\"])\r\n this.hiddenColumns!.push(item);\r\n }\r\n this.alignLandscape = _data[\"alignLandscape\"];\r\n this.displayFilter = _data[\"displayFilter\"];\r\n if (Array.isArray(_data[\"columnLayout\"])) {\r\n this.columnLayout = [] as any;\r\n for (let item of _data[\"columnLayout\"])\r\n this.columnLayout!.push(ListColumnLayout.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"extraFieldColumnLayout\"])) {\r\n this.extraFieldColumnLayout = [] as any;\r\n for (let item of _data[\"extraFieldColumnLayout\"])\r\n this.extraFieldColumnLayout!.push(ExtraFieldColumnLayout.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"visibleExtraFieldIds\"])) {\r\n this.visibleExtraFieldIds = [] as any;\r\n for (let item of _data[\"visibleExtraFieldIds\"])\r\n this.visibleExtraFieldIds!.push(item);\r\n }\r\n this.sortDateAscending = _data[\"sortDateAscending\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryListSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryListSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.hiddenColumns)) {\r\n data[\"hiddenColumns\"] = [];\r\n for (let item of this.hiddenColumns)\r\n data[\"hiddenColumns\"].push(item);\r\n }\r\n data[\"alignLandscape\"] = this.alignLandscape;\r\n data[\"displayFilter\"] = this.displayFilter;\r\n if (Array.isArray(this.columnLayout)) {\r\n data[\"columnLayout\"] = [];\r\n for (let item of this.columnLayout)\r\n data[\"columnLayout\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.extraFieldColumnLayout)) {\r\n data[\"extraFieldColumnLayout\"] = [];\r\n for (let item of this.extraFieldColumnLayout)\r\n data[\"extraFieldColumnLayout\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.visibleExtraFieldIds)) {\r\n data[\"visibleExtraFieldIds\"] = [];\r\n for (let item of this.visibleExtraFieldIds)\r\n data[\"visibleExtraFieldIds\"].push(item);\r\n }\r\n data[\"sortDateAscending\"] = this.sortDateAscending;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryListSettingsModel {\r\n hiddenColumns?: string[] | undefined;\r\n alignLandscape?: boolean;\r\n displayFilter?: boolean;\r\n columnLayout?: ListColumnLayout[] | undefined;\r\n extraFieldColumnLayout?: ExtraFieldColumnLayout[] | undefined;\r\n visibleExtraFieldIds?: number[] | undefined;\r\n sortDateAscending?: boolean;\r\n}\r\n\r\nexport class ListColumnLayout implements IListColumnLayout {\r\n columnName?: string | undefined;\r\n width?: number;\r\n\r\n constructor(data?: IListColumnLayout) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.columnName = _data[\"columnName\"];\r\n this.width = _data[\"width\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListColumnLayout {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListColumnLayout();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"columnName\"] = this.columnName;\r\n data[\"width\"] = this.width;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListColumnLayout {\r\n columnName?: string | undefined;\r\n width?: number;\r\n}\r\n\r\nexport class ExtraFieldColumnLayout implements IExtraFieldColumnLayout {\r\n id?: number;\r\n width?: number;\r\n\r\n constructor(data?: IExtraFieldColumnLayout) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.width = _data[\"width\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtraFieldColumnLayout {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtraFieldColumnLayout();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"width\"] = this.width;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtraFieldColumnLayout {\r\n id?: number;\r\n width?: number;\r\n}\r\n\r\nexport class ResultFilterItem implements IResultFilterItem {\r\n label?: string | undefined;\r\n filterSelection?: string | undefined;\r\n\r\n constructor(data?: IResultFilterItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.label = _data[\"label\"];\r\n this.filterSelection = _data[\"filterSelection\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultFilterItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultFilterItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"label\"] = this.label;\r\n data[\"filterSelection\"] = this.filterSelection;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResultFilterItem {\r\n label?: string | undefined;\r\n filterSelection?: string | undefined;\r\n}\r\n\r\nexport class ListPresetEditModel implements IListPresetEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isDefault?: boolean;\r\n isExternalAccess?: boolean;\r\n listParameters?: ListParameters | undefined;\r\n\r\n constructor(data?: IListPresetEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.isDefault = _data[\"isDefault\"];\r\n this.isExternalAccess = _data[\"isExternalAccess\"];\r\n this.listParameters = _data[\"listParameters\"] ? ListParameters.fromJS(_data[\"listParameters\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListPresetEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListPresetEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"isDefault\"] = this.isDefault;\r\n data[\"isExternalAccess\"] = this.isExternalAccess;\r\n data[\"listParameters\"] = this.listParameters ? this.listParameters.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListPresetEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isDefault?: boolean;\r\n isExternalAccess?: boolean;\r\n listParameters?: ListParameters | undefined;\r\n}\r\n\r\nexport class ListPresetListViewModel implements IListPresetListViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isDefault?: boolean;\r\n isExternalAccess?: boolean;\r\n\r\n constructor(data?: IListPresetListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.isDefault = _data[\"isDefault\"];\r\n this.isExternalAccess = _data[\"isExternalAccess\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListPresetListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListPresetListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"isDefault\"] = this.isDefault;\r\n data[\"isExternalAccess\"] = this.isExternalAccess;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListPresetListViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isDefault?: boolean;\r\n isExternalAccess?: boolean;\r\n}\r\n\r\nexport class ListPresetViewModel extends ListPresetListViewModel implements IListPresetViewModel {\r\n listPresetExternalUrl?: string | undefined;\r\n listParameters?: ListParameters | undefined;\r\n\r\n constructor(data?: IListPresetViewModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.listPresetExternalUrl = _data[\"listPresetExternalUrl\"];\r\n this.listParameters = _data[\"listParameters\"] ? ListParameters.fromJS(_data[\"listParameters\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListPresetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListPresetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"listPresetExternalUrl\"] = this.listPresetExternalUrl;\r\n data[\"listParameters\"] = this.listParameters ? this.listParameters.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListPresetViewModel extends IListPresetListViewModel {\r\n listPresetExternalUrl?: string | undefined;\r\n listParameters?: ListParameters | undefined;\r\n}\r\n\r\nexport class StStringSelectListItem implements IStStringSelectListItem {\r\n id?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: IStStringSelectListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StStringSelectListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StStringSelectListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStStringSelectListItem {\r\n id?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class NewsModel implements INewsModel {\r\n url?: string | undefined;\r\n userDisplayText?: string | undefined;\r\n isImportant?: boolean;\r\n\r\n constructor(data?: INewsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n this.userDisplayText = _data[\"userDisplayText\"];\r\n this.isImportant = _data[\"isImportant\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n data[\"userDisplayText\"] = this.userDisplayText;\r\n data[\"isImportant\"] = this.isImportant;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewsModel {\r\n url?: string | undefined;\r\n userDisplayText?: string | undefined;\r\n isImportant?: boolean;\r\n}\r\n\r\nexport class OutgoingInvoiceSettingsViewModel implements IOutgoingInvoiceSettingsViewModel {\r\n id?: number;\r\n useEInvoice?: boolean;\r\n addressFrom?: string | undefined;\r\n companyName?: string | undefined;\r\n contactName?: string | undefined;\r\n contactEmail?: string | undefined;\r\n contactPhone?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n footer?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n prefix?: string | undefined;\r\n prefixDateFormat?: string | undefined;\r\n currentIncrementValue?: number;\r\n incrementNoOfZerosToPad?: number;\r\n defaultPositionText?: string | undefined;\r\n useAutomaticInvoiceNo?: boolean;\r\n useGlobalIncrementValue?: boolean;\r\n customLayoutComponentName?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: IOutgoingInvoiceSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.useEInvoice = _data[\"useEInvoice\"];\r\n this.addressFrom = _data[\"addressFrom\"];\r\n this.companyName = _data[\"companyName\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.contactPhone = _data[\"contactPhone\"];\r\n this.city = _data[\"city\"];\r\n this.zip = _data[\"zip\"];\r\n this.streetAddress = _data[\"streetAddress\"];\r\n this.country = _data[\"country\"];\r\n this.taxNumberDe = _data[\"taxNumberDe\"];\r\n this.vatId = _data[\"vatId\"];\r\n this.footer = _data[\"footer\"];\r\n this.paymentTerms = _data[\"paymentTerms\"];\r\n this.prefix = _data[\"prefix\"];\r\n this.prefixDateFormat = _data[\"prefixDateFormat\"];\r\n this.currentIncrementValue = _data[\"currentIncrementValue\"];\r\n this.incrementNoOfZerosToPad = _data[\"incrementNoOfZerosToPad\"];\r\n this.defaultPositionText = _data[\"defaultPositionText\"];\r\n this.useAutomaticInvoiceNo = _data[\"useAutomaticInvoiceNo\"];\r\n this.useGlobalIncrementValue = _data[\"useGlobalIncrementValue\"];\r\n this.customLayoutComponentName = _data[\"customLayoutComponentName\"];\r\n this.emailText = _data[\"emailText\"];\r\n this.emailSubject = _data[\"emailSubject\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"useEInvoice\"] = this.useEInvoice;\r\n data[\"addressFrom\"] = this.addressFrom;\r\n data[\"companyName\"] = this.companyName;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"contactPhone\"] = this.contactPhone;\r\n data[\"city\"] = this.city;\r\n data[\"zip\"] = this.zip;\r\n data[\"streetAddress\"] = this.streetAddress;\r\n data[\"country\"] = this.country;\r\n data[\"taxNumberDe\"] = this.taxNumberDe;\r\n data[\"vatId\"] = this.vatId;\r\n data[\"footer\"] = this.footer;\r\n data[\"paymentTerms\"] = this.paymentTerms;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"prefixDateFormat\"] = this.prefixDateFormat;\r\n data[\"currentIncrementValue\"] = this.currentIncrementValue;\r\n data[\"incrementNoOfZerosToPad\"] = this.incrementNoOfZerosToPad;\r\n data[\"defaultPositionText\"] = this.defaultPositionText;\r\n data[\"useAutomaticInvoiceNo\"] = this.useAutomaticInvoiceNo;\r\n data[\"useGlobalIncrementValue\"] = this.useGlobalIncrementValue;\r\n data[\"customLayoutComponentName\"] = this.customLayoutComponentName;\r\n data[\"emailText\"] = this.emailText;\r\n data[\"emailSubject\"] = this.emailSubject;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceSettingsViewModel {\r\n id?: number;\r\n useEInvoice?: boolean;\r\n addressFrom?: string | undefined;\r\n companyName?: string | undefined;\r\n contactName?: string | undefined;\r\n contactEmail?: string | undefined;\r\n contactPhone?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n footer?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n prefix?: string | undefined;\r\n prefixDateFormat?: string | undefined;\r\n currentIncrementValue?: number;\r\n incrementNoOfZerosToPad?: number;\r\n defaultPositionText?: string | undefined;\r\n useAutomaticInvoiceNo?: boolean;\r\n useGlobalIncrementValue?: boolean;\r\n customLayoutComponentName?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class OutgoingInvoiceSettingsEditModel implements IOutgoingInvoiceSettingsEditModel {\r\n id?: number;\r\n useEInvoice?: boolean;\r\n addressFrom?: string | undefined;\r\n companyName?: string | undefined;\r\n contactName?: string | undefined;\r\n contactEmail?: string | undefined;\r\n contactPhone?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n footer?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n prefix?: string | undefined;\r\n prefixDateFormat?: string | undefined;\r\n currentIncrementValue?: number;\r\n defaultPositionText?: string | undefined;\r\n incrementNoOfZerosToPad?: number;\r\n useAutomaticInvoiceNo?: boolean;\r\n useGlobalIncrementValue?: boolean;\r\n logoBytes?: string | undefined;\r\n logoMimeType?: string | undefined;\r\n logoFileName?: string | undefined;\r\n logoText?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: IOutgoingInvoiceSettingsEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.useEInvoice = _data[\"useEInvoice\"];\r\n this.addressFrom = _data[\"addressFrom\"];\r\n this.companyName = _data[\"companyName\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.contactPhone = _data[\"contactPhone\"];\r\n this.city = _data[\"city\"];\r\n this.zip = _data[\"zip\"];\r\n this.streetAddress = _data[\"streetAddress\"];\r\n this.country = _data[\"country\"];\r\n this.taxNumberDe = _data[\"taxNumberDe\"];\r\n this.vatId = _data[\"vatId\"];\r\n this.footer = _data[\"footer\"];\r\n this.paymentTerms = _data[\"paymentTerms\"];\r\n this.prefix = _data[\"prefix\"];\r\n this.prefixDateFormat = _data[\"prefixDateFormat\"];\r\n this.currentIncrementValue = _data[\"currentIncrementValue\"];\r\n this.defaultPositionText = _data[\"defaultPositionText\"];\r\n this.incrementNoOfZerosToPad = _data[\"incrementNoOfZerosToPad\"];\r\n this.useAutomaticInvoiceNo = _data[\"useAutomaticInvoiceNo\"];\r\n this.useGlobalIncrementValue = _data[\"useGlobalIncrementValue\"];\r\n this.logoBytes = _data[\"logoBytes\"];\r\n this.logoMimeType = _data[\"logoMimeType\"];\r\n this.logoFileName = _data[\"logoFileName\"];\r\n this.logoText = _data[\"logoText\"];\r\n this.emailText = _data[\"emailText\"];\r\n this.emailSubject = _data[\"emailSubject\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceSettingsEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceSettingsEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"useEInvoice\"] = this.useEInvoice;\r\n data[\"addressFrom\"] = this.addressFrom;\r\n data[\"companyName\"] = this.companyName;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"contactPhone\"] = this.contactPhone;\r\n data[\"city\"] = this.city;\r\n data[\"zip\"] = this.zip;\r\n data[\"streetAddress\"] = this.streetAddress;\r\n data[\"country\"] = this.country;\r\n data[\"taxNumberDe\"] = this.taxNumberDe;\r\n data[\"vatId\"] = this.vatId;\r\n data[\"footer\"] = this.footer;\r\n data[\"paymentTerms\"] = this.paymentTerms;\r\n data[\"prefix\"] = this.prefix;\r\n data[\"prefixDateFormat\"] = this.prefixDateFormat;\r\n data[\"currentIncrementValue\"] = this.currentIncrementValue;\r\n data[\"defaultPositionText\"] = this.defaultPositionText;\r\n data[\"incrementNoOfZerosToPad\"] = this.incrementNoOfZerosToPad;\r\n data[\"useAutomaticInvoiceNo\"] = this.useAutomaticInvoiceNo;\r\n data[\"useGlobalIncrementValue\"] = this.useGlobalIncrementValue;\r\n data[\"logoBytes\"] = this.logoBytes;\r\n data[\"logoMimeType\"] = this.logoMimeType;\r\n data[\"logoFileName\"] = this.logoFileName;\r\n data[\"logoText\"] = this.logoText;\r\n data[\"emailText\"] = this.emailText;\r\n data[\"emailSubject\"] = this.emailSubject;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceSettingsEditModel {\r\n id?: number;\r\n useEInvoice?: boolean;\r\n addressFrom?: string | undefined;\r\n companyName?: string | undefined;\r\n contactName?: string | undefined;\r\n contactEmail?: string | undefined;\r\n contactPhone?: string | undefined;\r\n city?: string | undefined;\r\n zip?: string | undefined;\r\n streetAddress?: string | undefined;\r\n country?: string | undefined;\r\n taxNumberDe?: string | undefined;\r\n vatId?: string | undefined;\r\n footer?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n prefix?: string | undefined;\r\n prefixDateFormat?: string | undefined;\r\n currentIncrementValue?: number;\r\n defaultPositionText?: string | undefined;\r\n incrementNoOfZerosToPad?: number;\r\n useAutomaticInvoiceNo?: boolean;\r\n useGlobalIncrementValue?: boolean;\r\n logoBytes?: string | undefined;\r\n logoMimeType?: string | undefined;\r\n logoFileName?: string | undefined;\r\n logoText?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class OutgoingInvoicePositionEditModel implements IOutgoingInvoicePositionEditModel {\r\n id?: number;\r\n position?: string | undefined;\r\n quantity?: number;\r\n rateAmount?: number;\r\n revenue?: number;\r\n unit?: string | undefined;\r\n outgoingInvoiceId?: number;\r\n isCalculated?: boolean;\r\n\r\n constructor(data?: IOutgoingInvoicePositionEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.position = _data[\"position\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.unit = _data[\"unit\"];\r\n this.outgoingInvoiceId = _data[\"outgoingInvoiceId\"];\r\n this.isCalculated = _data[\"isCalculated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoicePositionEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoicePositionEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"position\"] = this.position;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"unit\"] = this.unit;\r\n data[\"outgoingInvoiceId\"] = this.outgoingInvoiceId;\r\n data[\"isCalculated\"] = this.isCalculated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoicePositionEditModel {\r\n id?: number;\r\n position?: string | undefined;\r\n quantity?: number;\r\n rateAmount?: number;\r\n revenue?: number;\r\n unit?: string | undefined;\r\n outgoingInvoiceId?: number;\r\n isCalculated?: boolean;\r\n}\r\n\r\nexport class OutgoingInvoiceEditModel implements IOutgoingInvoiceEditModel {\r\n id?: number;\r\n invoiceNo?: string | undefined;\r\n invoiceIncrementValue?: number;\r\n invoiceDate?: string;\r\n addressFrom?: string | undefined;\r\n addressTo?: string | undefined;\r\n addressFromCalculated?: string | undefined;\r\n addressToCalculated?: string | undefined;\r\n isEInvoice?: boolean;\r\n fromCompanyName?: string | undefined;\r\n fromContactName?: string | undefined;\r\n fromContactEmail?: string | undefined;\r\n fromContactPhone?: string | undefined;\r\n fromCity?: string | undefined;\r\n fromZip?: string | undefined;\r\n fromStreetAddress?: string | undefined;\r\n fromCountry?: string | undefined;\r\n fromTaxNumberDe?: string | undefined;\r\n fromVatId?: string | undefined;\r\n toCompanyName?: string | undefined;\r\n toContactName?: string | undefined;\r\n toContactEmail?: string | undefined;\r\n toCity?: string | undefined;\r\n toZip?: string | undefined;\r\n toStreetAddress?: string | undefined;\r\n toCountry?: string | undefined;\r\n toVatId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n footer?: string | undefined;\r\n vatRate?: number;\r\n currency?: string | undefined;\r\n filterJson?: string | undefined;\r\n filterTimeFrame?: TimeEntryFilterTimeFrame;\r\n cleared?: boolean;\r\n externalInvoiceId?: number;\r\n timeEntryGrouping?: OutgoingInvoiceTimeEntryGroupEnum;\r\n displayDatesOnGroup?: boolean;\r\n timeEntryIds?: number[] | undefined;\r\n positions?: OutgoingInvoicePositionEditModel[] | undefined;\r\n customerId?: number;\r\n layoutName?: string | undefined;\r\n dateFromPlaceholder?: string | undefined;\r\n dateToPlaceholder?: string | undefined;\r\n emailTo?: string | undefined;\r\n emailCc?: string | undefined;\r\n emailBcc?: string | undefined;\r\n emailReplyTo?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n attachTimeSheet?: boolean;\r\n currentStatus?: OutgoingInvoiceStatusViewModel | undefined;\r\n contactNamePlaceholder?: string | undefined;\r\n\r\n constructor(data?: IOutgoingInvoiceEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.invoiceNo = _data[\"invoiceNo\"];\r\n this.invoiceIncrementValue = _data[\"invoiceIncrementValue\"];\r\n this.invoiceDate = _data[\"invoiceDate\"];\r\n this.addressFrom = _data[\"addressFrom\"];\r\n this.addressTo = _data[\"addressTo\"];\r\n this.addressFromCalculated = _data[\"addressFromCalculated\"];\r\n this.addressToCalculated = _data[\"addressToCalculated\"];\r\n this.isEInvoice = _data[\"isEInvoice\"];\r\n this.fromCompanyName = _data[\"fromCompanyName\"];\r\n this.fromContactName = _data[\"fromContactName\"];\r\n this.fromContactEmail = _data[\"fromContactEmail\"];\r\n this.fromContactPhone = _data[\"fromContactPhone\"];\r\n this.fromCity = _data[\"fromCity\"];\r\n this.fromZip = _data[\"fromZip\"];\r\n this.fromStreetAddress = _data[\"fromStreetAddress\"];\r\n this.fromCountry = _data[\"fromCountry\"];\r\n this.fromTaxNumberDe = _data[\"fromTaxNumberDe\"];\r\n this.fromVatId = _data[\"fromVatId\"];\r\n this.toCompanyName = _data[\"toCompanyName\"];\r\n this.toContactName = _data[\"toContactName\"];\r\n this.toContactEmail = _data[\"toContactEmail\"];\r\n this.toCity = _data[\"toCity\"];\r\n this.toZip = _data[\"toZip\"];\r\n this.toStreetAddress = _data[\"toStreetAddress\"];\r\n this.toCountry = _data[\"toCountry\"];\r\n this.toVatId = _data[\"toVatId\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.paymentTerms = _data[\"paymentTerms\"];\r\n this.footer = _data[\"footer\"];\r\n this.vatRate = _data[\"vatRate\"];\r\n this.currency = _data[\"currency\"];\r\n this.filterJson = _data[\"filterJson\"];\r\n this.filterTimeFrame = _data[\"filterTimeFrame\"];\r\n this.cleared = _data[\"cleared\"];\r\n this.externalInvoiceId = _data[\"externalInvoiceId\"];\r\n this.timeEntryGrouping = _data[\"timeEntryGrouping\"];\r\n this.displayDatesOnGroup = _data[\"displayDatesOnGroup\"];\r\n if (Array.isArray(_data[\"timeEntryIds\"])) {\r\n this.timeEntryIds = [] as any;\r\n for (let item of _data[\"timeEntryIds\"])\r\n this.timeEntryIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"positions\"])) {\r\n this.positions = [] as any;\r\n for (let item of _data[\"positions\"])\r\n this.positions!.push(OutgoingInvoicePositionEditModel.fromJS(item));\r\n }\r\n this.customerId = _data[\"customerId\"];\r\n this.layoutName = _data[\"layoutName\"];\r\n this.dateFromPlaceholder = _data[\"dateFromPlaceholder\"];\r\n this.dateToPlaceholder = _data[\"dateToPlaceholder\"];\r\n this.emailTo = _data[\"emailTo\"];\r\n this.emailCc = _data[\"emailCc\"];\r\n this.emailBcc = _data[\"emailBcc\"];\r\n this.emailReplyTo = _data[\"emailReplyTo\"];\r\n this.emailText = _data[\"emailText\"];\r\n this.emailSubject = _data[\"emailSubject\"];\r\n this.attachTimeSheet = _data[\"attachTimeSheet\"];\r\n this.currentStatus = _data[\"currentStatus\"] ? OutgoingInvoiceStatusViewModel.fromJS(_data[\"currentStatus\"]) : undefined;\r\n this.contactNamePlaceholder = _data[\"contactNamePlaceholder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"invoiceNo\"] = this.invoiceNo;\r\n data[\"invoiceIncrementValue\"] = this.invoiceIncrementValue;\r\n data[\"invoiceDate\"] = this.invoiceDate;\r\n data[\"addressFrom\"] = this.addressFrom;\r\n data[\"addressTo\"] = this.addressTo;\r\n data[\"addressFromCalculated\"] = this.addressFromCalculated;\r\n data[\"addressToCalculated\"] = this.addressToCalculated;\r\n data[\"isEInvoice\"] = this.isEInvoice;\r\n data[\"fromCompanyName\"] = this.fromCompanyName;\r\n data[\"fromContactName\"] = this.fromContactName;\r\n data[\"fromContactEmail\"] = this.fromContactEmail;\r\n data[\"fromContactPhone\"] = this.fromContactPhone;\r\n data[\"fromCity\"] = this.fromCity;\r\n data[\"fromZip\"] = this.fromZip;\r\n data[\"fromStreetAddress\"] = this.fromStreetAddress;\r\n data[\"fromCountry\"] = this.fromCountry;\r\n data[\"fromTaxNumberDe\"] = this.fromTaxNumberDe;\r\n data[\"fromVatId\"] = this.fromVatId;\r\n data[\"toCompanyName\"] = this.toCompanyName;\r\n data[\"toContactName\"] = this.toContactName;\r\n data[\"toContactEmail\"] = this.toContactEmail;\r\n data[\"toCity\"] = this.toCity;\r\n data[\"toZip\"] = this.toZip;\r\n data[\"toStreetAddress\"] = this.toStreetAddress;\r\n data[\"toCountry\"] = this.toCountry;\r\n data[\"toVatId\"] = this.toVatId;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"paymentTerms\"] = this.paymentTerms;\r\n data[\"footer\"] = this.footer;\r\n data[\"vatRate\"] = this.vatRate;\r\n data[\"currency\"] = this.currency;\r\n data[\"filterJson\"] = this.filterJson;\r\n data[\"filterTimeFrame\"] = this.filterTimeFrame;\r\n data[\"cleared\"] = this.cleared;\r\n data[\"externalInvoiceId\"] = this.externalInvoiceId;\r\n data[\"timeEntryGrouping\"] = this.timeEntryGrouping;\r\n data[\"displayDatesOnGroup\"] = this.displayDatesOnGroup;\r\n if (Array.isArray(this.timeEntryIds)) {\r\n data[\"timeEntryIds\"] = [];\r\n for (let item of this.timeEntryIds)\r\n data[\"timeEntryIds\"].push(item);\r\n }\r\n if (Array.isArray(this.positions)) {\r\n data[\"positions\"] = [];\r\n for (let item of this.positions)\r\n data[\"positions\"].push(item.toJSON());\r\n }\r\n data[\"customerId\"] = this.customerId;\r\n data[\"layoutName\"] = this.layoutName;\r\n data[\"dateFromPlaceholder\"] = this.dateFromPlaceholder;\r\n data[\"dateToPlaceholder\"] = this.dateToPlaceholder;\r\n data[\"emailTo\"] = this.emailTo;\r\n data[\"emailCc\"] = this.emailCc;\r\n data[\"emailBcc\"] = this.emailBcc;\r\n data[\"emailReplyTo\"] = this.emailReplyTo;\r\n data[\"emailText\"] = this.emailText;\r\n data[\"emailSubject\"] = this.emailSubject;\r\n data[\"attachTimeSheet\"] = this.attachTimeSheet;\r\n data[\"currentStatus\"] = this.currentStatus ? this.currentStatus.toJSON() : undefined;\r\n data[\"contactNamePlaceholder\"] = this.contactNamePlaceholder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceEditModel {\r\n id?: number;\r\n invoiceNo?: string | undefined;\r\n invoiceIncrementValue?: number;\r\n invoiceDate?: string;\r\n addressFrom?: string | undefined;\r\n addressTo?: string | undefined;\r\n addressFromCalculated?: string | undefined;\r\n addressToCalculated?: string | undefined;\r\n isEInvoice?: boolean;\r\n fromCompanyName?: string | undefined;\r\n fromContactName?: string | undefined;\r\n fromContactEmail?: string | undefined;\r\n fromContactPhone?: string | undefined;\r\n fromCity?: string | undefined;\r\n fromZip?: string | undefined;\r\n fromStreetAddress?: string | undefined;\r\n fromCountry?: string | undefined;\r\n fromTaxNumberDe?: string | undefined;\r\n fromVatId?: string | undefined;\r\n toCompanyName?: string | undefined;\r\n toContactName?: string | undefined;\r\n toContactEmail?: string | undefined;\r\n toCity?: string | undefined;\r\n toZip?: string | undefined;\r\n toStreetAddress?: string | undefined;\r\n toCountry?: string | undefined;\r\n toVatId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n footer?: string | undefined;\r\n vatRate?: number;\r\n currency?: string | undefined;\r\n filterJson?: string | undefined;\r\n filterTimeFrame?: TimeEntryFilterTimeFrame;\r\n cleared?: boolean;\r\n externalInvoiceId?: number;\r\n timeEntryGrouping?: OutgoingInvoiceTimeEntryGroupEnum;\r\n displayDatesOnGroup?: boolean;\r\n timeEntryIds?: number[] | undefined;\r\n positions?: OutgoingInvoicePositionEditModel[] | undefined;\r\n customerId?: number;\r\n layoutName?: string | undefined;\r\n dateFromPlaceholder?: string | undefined;\r\n dateToPlaceholder?: string | undefined;\r\n emailTo?: string | undefined;\r\n emailCc?: string | undefined;\r\n emailBcc?: string | undefined;\r\n emailReplyTo?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n attachTimeSheet?: boolean;\r\n currentStatus?: OutgoingInvoiceStatusViewModel | undefined;\r\n contactNamePlaceholder?: string | undefined;\r\n}\r\n\r\nexport enum OutgoingInvoiceTimeEntryGroupEnum {\r\n ProjectTask = \"ProjectTask\",\r\n Rate = \"Rate\",\r\n Project = \"Project\",\r\n TimeEntry = \"TimeEntry\",\r\n}\r\n\r\nexport class OutgoingInvoiceStatusViewModel implements IOutgoingInvoiceStatusViewModel {\r\n id?: number;\r\n status?: OutgoingInvoiceStatusEnum;\r\n statusDate?: string;\r\n comment?: string | undefined;\r\n statusTranslationString?: string | undefined;\r\n\r\n constructor(data?: IOutgoingInvoiceStatusViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.statusDate = _data[\"statusDate\"];\r\n this.comment = _data[\"comment\"];\r\n this.statusTranslationString = _data[\"statusTranslationString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceStatusViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceStatusViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"statusDate\"] = this.statusDate;\r\n data[\"comment\"] = this.comment;\r\n data[\"statusTranslationString\"] = this.statusTranslationString;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceStatusViewModel {\r\n id?: number;\r\n status?: OutgoingInvoiceStatusEnum;\r\n statusDate?: string;\r\n comment?: string | undefined;\r\n statusTranslationString?: string | undefined;\r\n}\r\n\r\nexport enum OutgoingInvoiceStatusEnum {\r\n Sent = \"Sent\",\r\n Paid = \"Paid\",\r\n Overdue = \"Overdue\",\r\n ReminderSent = \"ReminderSent\",\r\n}\r\n\r\nexport class OutgoingInvoiceTimeEntryGroupFilter implements IOutgoingInvoiceTimeEntryGroupFilter {\r\n timeEntryIds?: number[] | undefined;\r\n group?: OutgoingInvoiceTimeEntryGroupEnum;\r\n displayDatesOnGroup?: boolean;\r\n\r\n constructor(data?: IOutgoingInvoiceTimeEntryGroupFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"timeEntryIds\"])) {\r\n this.timeEntryIds = [] as any;\r\n for (let item of _data[\"timeEntryIds\"])\r\n this.timeEntryIds!.push(item);\r\n }\r\n this.group = _data[\"group\"];\r\n this.displayDatesOnGroup = _data[\"displayDatesOnGroup\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceTimeEntryGroupFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceTimeEntryGroupFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.timeEntryIds)) {\r\n data[\"timeEntryIds\"] = [];\r\n for (let item of this.timeEntryIds)\r\n data[\"timeEntryIds\"].push(item);\r\n }\r\n data[\"group\"] = this.group;\r\n data[\"displayDatesOnGroup\"] = this.displayDatesOnGroup;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceTimeEntryGroupFilter {\r\n timeEntryIds?: number[] | undefined;\r\n group?: OutgoingInvoiceTimeEntryGroupEnum;\r\n displayDatesOnGroup?: boolean;\r\n}\r\n\r\nexport class OutgoingInvoiceTimeEntryModel implements IOutgoingInvoiceTimeEntryModel {\r\n id?: number;\r\n entryDate?: string;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n durationHours?: number;\r\n durationMinutes?: number;\r\n durationMinutesPause?: number;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n rateAmount?: number;\r\n appUserName?: string | undefined;\r\n projectName?: string | undefined;\r\n isFixedPrice?: boolean;\r\n customerName?: string | undefined;\r\n projectTaskName?: string | undefined;\r\n tags?: TagViewModel[] | undefined;\r\n disabledReason?: string | undefined;\r\n isDisabled?: boolean;\r\n\r\n constructor(data?: IOutgoingInvoiceTimeEntryModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.entryDate = _data[\"entryDate\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.durationHours = _data[\"durationHours\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.durationMinutesPause = _data[\"durationMinutesPause\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isCleared = _data[\"isCleared\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.revenueBillable = _data[\"revenueBillable\"];\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.appUserName = _data[\"appUserName\"];\r\n this.projectName = _data[\"projectName\"];\r\n this.isFixedPrice = _data[\"isFixedPrice\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.projectTaskName = _data[\"projectTaskName\"];\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(TagViewModel.fromJS(item));\r\n }\r\n this.disabledReason = _data[\"disabledReason\"];\r\n this.isDisabled = _data[\"isDisabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceTimeEntryModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceTimeEntryModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"entryDate\"] = this.entryDate;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"durationHours\"] = this.durationHours;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"durationMinutesPause\"] = this.durationMinutesPause;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isCleared\"] = this.isCleared;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"revenueBillable\"] = this.revenueBillable;\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"appUserName\"] = this.appUserName;\r\n data[\"projectName\"] = this.projectName;\r\n data[\"isFixedPrice\"] = this.isFixedPrice;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"projectTaskName\"] = this.projectTaskName;\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n data[\"disabledReason\"] = this.disabledReason;\r\n data[\"isDisabled\"] = this.isDisabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceTimeEntryModel {\r\n id?: number;\r\n entryDate?: string;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n durationHours?: number;\r\n durationMinutes?: number;\r\n durationMinutesPause?: number;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n rateAmount?: number;\r\n appUserName?: string | undefined;\r\n projectName?: string | undefined;\r\n isFixedPrice?: boolean;\r\n customerName?: string | undefined;\r\n projectTaskName?: string | undefined;\r\n tags?: TagViewModel[] | undefined;\r\n disabledReason?: string | undefined;\r\n isDisabled?: boolean;\r\n}\r\n\r\nexport class OutgoingInvoiceViewModel implements IOutgoingInvoiceViewModel {\r\n id?: number;\r\n invoiceNo?: string | undefined;\r\n invoiceDate?: string;\r\n addressFromCalculated?: string | undefined;\r\n addressToCalculated?: string | undefined;\r\n addressFrom?: string | undefined;\r\n addressTo?: string | undefined;\r\n isEInvoice?: boolean;\r\n fromCompanyName?: string | undefined;\r\n fromContactName?: string | undefined;\r\n fromContactEmail?: string | undefined;\r\n fromContactPhone?: string | undefined;\r\n fromCity?: string | undefined;\r\n fromZip?: string | undefined;\r\n fromStreetAddress?: string | undefined;\r\n fromCountry?: string | undefined;\r\n fromTaxNumberDe?: string | undefined;\r\n fromVatId?: string | undefined;\r\n toCompanyName?: string | undefined;\r\n toContactName?: string | undefined;\r\n toContactEmail?: string | undefined;\r\n toCity?: string | undefined;\r\n toZip?: string | undefined;\r\n toStreetAddress?: string | undefined;\r\n toCountry?: string | undefined;\r\n toVatId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n footer?: string | undefined;\r\n customerName?: string | undefined;\r\n vatRate?: number;\r\n currency?: string | undefined;\r\n filterJson?: string | undefined;\r\n cleared?: boolean;\r\n externalInvoiceId?: number;\r\n timeEntryGrouping?: OutgoingInvoiceTimeEntryGroupEnum;\r\n displayDatesOnGroup?: boolean;\r\n timeEntryIds?: number[] | undefined;\r\n positions?: OutgoingInvoicePositionViewModel[] | undefined;\r\n netAmount?: number;\r\n vatAmount?: number;\r\n grossAmount?: number;\r\n logoBytes?: string | undefined;\r\n logoMimeType?: string | undefined;\r\n layoutName?: string | undefined;\r\n logoText?: string | undefined;\r\n currentStatus?: OutgoingInvoiceStatusViewModel | undefined;\r\n dateFromPlaceholder?: string | undefined;\r\n dateToPlaceholder?: string | undefined;\r\n contactNamePlaceholder?: string | undefined;\r\n attachTimeSheet?: boolean;\r\n emailTo?: string | undefined;\r\n emailCc?: string | undefined;\r\n emailBcc?: string | undefined;\r\n emailReplyTo?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n\r\n constructor(data?: IOutgoingInvoiceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.invoiceNo = _data[\"invoiceNo\"];\r\n this.invoiceDate = _data[\"invoiceDate\"];\r\n this.addressFromCalculated = _data[\"addressFromCalculated\"];\r\n this.addressToCalculated = _data[\"addressToCalculated\"];\r\n this.addressFrom = _data[\"addressFrom\"];\r\n this.addressTo = _data[\"addressTo\"];\r\n this.isEInvoice = _data[\"isEInvoice\"];\r\n this.fromCompanyName = _data[\"fromCompanyName\"];\r\n this.fromContactName = _data[\"fromContactName\"];\r\n this.fromContactEmail = _data[\"fromContactEmail\"];\r\n this.fromContactPhone = _data[\"fromContactPhone\"];\r\n this.fromCity = _data[\"fromCity\"];\r\n this.fromZip = _data[\"fromZip\"];\r\n this.fromStreetAddress = _data[\"fromStreetAddress\"];\r\n this.fromCountry = _data[\"fromCountry\"];\r\n this.fromTaxNumberDe = _data[\"fromTaxNumberDe\"];\r\n this.fromVatId = _data[\"fromVatId\"];\r\n this.toCompanyName = _data[\"toCompanyName\"];\r\n this.toContactName = _data[\"toContactName\"];\r\n this.toContactEmail = _data[\"toContactEmail\"];\r\n this.toCity = _data[\"toCity\"];\r\n this.toZip = _data[\"toZip\"];\r\n this.toStreetAddress = _data[\"toStreetAddress\"];\r\n this.toCountry = _data[\"toCountry\"];\r\n this.toVatId = _data[\"toVatId\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.paymentTerms = _data[\"paymentTerms\"];\r\n this.footer = _data[\"footer\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.vatRate = _data[\"vatRate\"];\r\n this.currency = _data[\"currency\"];\r\n this.filterJson = _data[\"filterJson\"];\r\n this.cleared = _data[\"cleared\"];\r\n this.externalInvoiceId = _data[\"externalInvoiceId\"];\r\n this.timeEntryGrouping = _data[\"timeEntryGrouping\"];\r\n this.displayDatesOnGroup = _data[\"displayDatesOnGroup\"];\r\n if (Array.isArray(_data[\"timeEntryIds\"])) {\r\n this.timeEntryIds = [] as any;\r\n for (let item of _data[\"timeEntryIds\"])\r\n this.timeEntryIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"positions\"])) {\r\n this.positions = [] as any;\r\n for (let item of _data[\"positions\"])\r\n this.positions!.push(OutgoingInvoicePositionViewModel.fromJS(item));\r\n }\r\n this.netAmount = _data[\"netAmount\"];\r\n this.vatAmount = _data[\"vatAmount\"];\r\n this.grossAmount = _data[\"grossAmount\"];\r\n this.logoBytes = _data[\"logoBytes\"];\r\n this.logoMimeType = _data[\"logoMimeType\"];\r\n this.layoutName = _data[\"layoutName\"];\r\n this.logoText = _data[\"logoText\"];\r\n this.currentStatus = _data[\"currentStatus\"] ? OutgoingInvoiceStatusViewModel.fromJS(_data[\"currentStatus\"]) : undefined;\r\n this.dateFromPlaceholder = _data[\"dateFromPlaceholder\"];\r\n this.dateToPlaceholder = _data[\"dateToPlaceholder\"];\r\n this.contactNamePlaceholder = _data[\"contactNamePlaceholder\"];\r\n this.attachTimeSheet = _data[\"attachTimeSheet\"];\r\n this.emailTo = _data[\"emailTo\"];\r\n this.emailCc = _data[\"emailCc\"];\r\n this.emailBcc = _data[\"emailBcc\"];\r\n this.emailReplyTo = _data[\"emailReplyTo\"];\r\n this.emailText = _data[\"emailText\"];\r\n this.emailSubject = _data[\"emailSubject\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"invoiceNo\"] = this.invoiceNo;\r\n data[\"invoiceDate\"] = this.invoiceDate;\r\n data[\"addressFromCalculated\"] = this.addressFromCalculated;\r\n data[\"addressToCalculated\"] = this.addressToCalculated;\r\n data[\"addressFrom\"] = this.addressFrom;\r\n data[\"addressTo\"] = this.addressTo;\r\n data[\"isEInvoice\"] = this.isEInvoice;\r\n data[\"fromCompanyName\"] = this.fromCompanyName;\r\n data[\"fromContactName\"] = this.fromContactName;\r\n data[\"fromContactEmail\"] = this.fromContactEmail;\r\n data[\"fromContactPhone\"] = this.fromContactPhone;\r\n data[\"fromCity\"] = this.fromCity;\r\n data[\"fromZip\"] = this.fromZip;\r\n data[\"fromStreetAddress\"] = this.fromStreetAddress;\r\n data[\"fromCountry\"] = this.fromCountry;\r\n data[\"fromTaxNumberDe\"] = this.fromTaxNumberDe;\r\n data[\"fromVatId\"] = this.fromVatId;\r\n data[\"toCompanyName\"] = this.toCompanyName;\r\n data[\"toContactName\"] = this.toContactName;\r\n data[\"toContactEmail\"] = this.toContactEmail;\r\n data[\"toCity\"] = this.toCity;\r\n data[\"toZip\"] = this.toZip;\r\n data[\"toStreetAddress\"] = this.toStreetAddress;\r\n data[\"toCountry\"] = this.toCountry;\r\n data[\"toVatId\"] = this.toVatId;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"paymentTerms\"] = this.paymentTerms;\r\n data[\"footer\"] = this.footer;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"vatRate\"] = this.vatRate;\r\n data[\"currency\"] = this.currency;\r\n data[\"filterJson\"] = this.filterJson;\r\n data[\"cleared\"] = this.cleared;\r\n data[\"externalInvoiceId\"] = this.externalInvoiceId;\r\n data[\"timeEntryGrouping\"] = this.timeEntryGrouping;\r\n data[\"displayDatesOnGroup\"] = this.displayDatesOnGroup;\r\n if (Array.isArray(this.timeEntryIds)) {\r\n data[\"timeEntryIds\"] = [];\r\n for (let item of this.timeEntryIds)\r\n data[\"timeEntryIds\"].push(item);\r\n }\r\n if (Array.isArray(this.positions)) {\r\n data[\"positions\"] = [];\r\n for (let item of this.positions)\r\n data[\"positions\"].push(item.toJSON());\r\n }\r\n data[\"netAmount\"] = this.netAmount;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n data[\"grossAmount\"] = this.grossAmount;\r\n data[\"logoBytes\"] = this.logoBytes;\r\n data[\"logoMimeType\"] = this.logoMimeType;\r\n data[\"layoutName\"] = this.layoutName;\r\n data[\"logoText\"] = this.logoText;\r\n data[\"currentStatus\"] = this.currentStatus ? this.currentStatus.toJSON() : undefined;\r\n data[\"dateFromPlaceholder\"] = this.dateFromPlaceholder;\r\n data[\"dateToPlaceholder\"] = this.dateToPlaceholder;\r\n data[\"contactNamePlaceholder\"] = this.contactNamePlaceholder;\r\n data[\"attachTimeSheet\"] = this.attachTimeSheet;\r\n data[\"emailTo\"] = this.emailTo;\r\n data[\"emailCc\"] = this.emailCc;\r\n data[\"emailBcc\"] = this.emailBcc;\r\n data[\"emailReplyTo\"] = this.emailReplyTo;\r\n data[\"emailText\"] = this.emailText;\r\n data[\"emailSubject\"] = this.emailSubject;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceViewModel {\r\n id?: number;\r\n invoiceNo?: string | undefined;\r\n invoiceDate?: string;\r\n addressFromCalculated?: string | undefined;\r\n addressToCalculated?: string | undefined;\r\n addressFrom?: string | undefined;\r\n addressTo?: string | undefined;\r\n isEInvoice?: boolean;\r\n fromCompanyName?: string | undefined;\r\n fromContactName?: string | undefined;\r\n fromContactEmail?: string | undefined;\r\n fromContactPhone?: string | undefined;\r\n fromCity?: string | undefined;\r\n fromZip?: string | undefined;\r\n fromStreetAddress?: string | undefined;\r\n fromCountry?: string | undefined;\r\n fromTaxNumberDe?: string | undefined;\r\n fromVatId?: string | undefined;\r\n toCompanyName?: string | undefined;\r\n toContactName?: string | undefined;\r\n toContactEmail?: string | undefined;\r\n toCity?: string | undefined;\r\n toZip?: string | undefined;\r\n toStreetAddress?: string | undefined;\r\n toCountry?: string | undefined;\r\n toVatId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n paymentTerms?: string | undefined;\r\n footer?: string | undefined;\r\n customerName?: string | undefined;\r\n vatRate?: number;\r\n currency?: string | undefined;\r\n filterJson?: string | undefined;\r\n cleared?: boolean;\r\n externalInvoiceId?: number;\r\n timeEntryGrouping?: OutgoingInvoiceTimeEntryGroupEnum;\r\n displayDatesOnGroup?: boolean;\r\n timeEntryIds?: number[] | undefined;\r\n positions?: OutgoingInvoicePositionViewModel[] | undefined;\r\n netAmount?: number;\r\n vatAmount?: number;\r\n grossAmount?: number;\r\n logoBytes?: string | undefined;\r\n logoMimeType?: string | undefined;\r\n layoutName?: string | undefined;\r\n logoText?: string | undefined;\r\n currentStatus?: OutgoingInvoiceStatusViewModel | undefined;\r\n dateFromPlaceholder?: string | undefined;\r\n dateToPlaceholder?: string | undefined;\r\n contactNamePlaceholder?: string | undefined;\r\n attachTimeSheet?: boolean;\r\n emailTo?: string | undefined;\r\n emailCc?: string | undefined;\r\n emailBcc?: string | undefined;\r\n emailReplyTo?: string | undefined;\r\n emailText?: string | undefined;\r\n emailSubject?: string | undefined;\r\n}\r\n\r\nexport class OutgoingInvoicePositionViewModel implements IOutgoingInvoicePositionViewModel {\r\n id?: number;\r\n position?: string | undefined;\r\n quantity?: number;\r\n rateAmount?: number;\r\n revenue?: number;\r\n unit?: string | undefined;\r\n isCalculated?: boolean;\r\n\r\n constructor(data?: IOutgoingInvoicePositionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.position = _data[\"position\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.unit = _data[\"unit\"];\r\n this.isCalculated = _data[\"isCalculated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoicePositionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoicePositionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"position\"] = this.position;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"unit\"] = this.unit;\r\n data[\"isCalculated\"] = this.isCalculated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoicePositionViewModel {\r\n id?: number;\r\n position?: string | undefined;\r\n quantity?: number;\r\n rateAmount?: number;\r\n revenue?: number;\r\n unit?: string | undefined;\r\n isCalculated?: boolean;\r\n}\r\n\r\nexport class OutgoingInvoiceFilter implements IOutgoingInvoiceFilter {\r\n id?: number | undefined;\r\n year?: number | undefined;\r\n month?: number | undefined;\r\n customerId?: number | undefined;\r\n\r\n constructor(data?: IOutgoingInvoiceFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n this.customerId = _data[\"customerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OutgoingInvoiceFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OutgoingInvoiceFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n data[\"customerId\"] = this.customerId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOutgoingInvoiceFilter {\r\n id?: number | undefined;\r\n year?: number | undefined;\r\n month?: number | undefined;\r\n customerId?: number | undefined;\r\n}\r\n\r\nexport class SetupIntentConfirmationModel implements ISetupIntentConfirmationModel {\r\n isSuccess?: boolean;\r\n\r\n constructor(data?: ISetupIntentConfirmationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isSuccess = _data[\"isSuccess\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SetupIntentConfirmationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SetupIntentConfirmationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isSuccess\"] = this.isSuccess;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISetupIntentConfirmationModel {\r\n isSuccess?: boolean;\r\n}\r\n\r\nexport class AuthorizedProjectList implements IAuthorizedProjectList {\r\n projects?: ProjectViewModel[] | undefined;\r\n canAccessAllProjects?: boolean;\r\n\r\n constructor(data?: IAuthorizedProjectList) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"projects\"])) {\r\n this.projects = [] as any;\r\n for (let item of _data[\"projects\"])\r\n this.projects!.push(ProjectViewModel.fromJS(item));\r\n }\r\n this.canAccessAllProjects = _data[\"canAccessAllProjects\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthorizedProjectList {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthorizedProjectList();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.projects)) {\r\n data[\"projects\"] = [];\r\n for (let item of this.projects)\r\n data[\"projects\"].push(item.toJSON());\r\n }\r\n data[\"canAccessAllProjects\"] = this.canAccessAllProjects;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAuthorizedProjectList {\r\n projects?: ProjectViewModel[] | undefined;\r\n canAccessAllProjects?: boolean;\r\n}\r\n\r\nexport class ProjectTimeEntryViewModel implements IProjectTimeEntryViewModel {\r\n id?: number;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n activeFixedPriceRate?: number;\r\n name?: string | undefined;\r\n hasProjectTasks?: boolean;\r\n preselectedProjectTaskId?: number | undefined;\r\n projectTimeEntryComment?: string | undefined;\r\n customerTimeEntryComment?: string | undefined;\r\n\r\n constructor(data?: IProjectTimeEntryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isFixedPrice = _data[\"isFixedPrice\"];\r\n this.fixedPrice = _data[\"fixedPrice\"];\r\n this.fixedPriceCalcRate = _data[\"fixedPriceCalcRate\"];\r\n this.activeFixedPriceRate = _data[\"activeFixedPriceRate\"];\r\n this.name = _data[\"name\"];\r\n this.hasProjectTasks = _data[\"hasProjectTasks\"];\r\n this.preselectedProjectTaskId = _data[\"preselectedProjectTaskId\"];\r\n this.projectTimeEntryComment = _data[\"projectTimeEntryComment\"];\r\n this.customerTimeEntryComment = _data[\"customerTimeEntryComment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectTimeEntryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectTimeEntryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isFixedPrice\"] = this.isFixedPrice;\r\n data[\"fixedPrice\"] = this.fixedPrice;\r\n data[\"fixedPriceCalcRate\"] = this.fixedPriceCalcRate;\r\n data[\"activeFixedPriceRate\"] = this.activeFixedPriceRate;\r\n data[\"name\"] = this.name;\r\n data[\"hasProjectTasks\"] = this.hasProjectTasks;\r\n data[\"preselectedProjectTaskId\"] = this.preselectedProjectTaskId;\r\n data[\"projectTimeEntryComment\"] = this.projectTimeEntryComment;\r\n data[\"customerTimeEntryComment\"] = this.customerTimeEntryComment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectTimeEntryViewModel {\r\n id?: number;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n fixedPriceCalcRate?: number;\r\n activeFixedPriceRate?: number;\r\n name?: string | undefined;\r\n hasProjectTasks?: boolean;\r\n preselectedProjectTaskId?: number | undefined;\r\n projectTimeEntryComment?: string | undefined;\r\n customerTimeEntryComment?: string | undefined;\r\n}\r\n\r\nexport class ProjectCheckFixedPriceChangeResult implements IProjectCheckFixedPriceChangeResult {\r\n canBeChanged?: boolean;\r\n warningText?: string | undefined;\r\n\r\n constructor(data?: IProjectCheckFixedPriceChangeResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.canBeChanged = _data[\"canBeChanged\"];\r\n this.warningText = _data[\"warningText\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectCheckFixedPriceChangeResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectCheckFixedPriceChangeResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canBeChanged\"] = this.canBeChanged;\r\n data[\"warningText\"] = this.warningText;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectCheckFixedPriceChangeResult {\r\n canBeChanged?: boolean;\r\n warningText?: string | undefined;\r\n}\r\n\r\nexport class ProjectCheckFixedPriceChangeCommand implements IProjectCheckFixedPriceChangeCommand {\r\n id?: number;\r\n changeFixedPriceValueTo?: boolean;\r\n\r\n constructor(data?: IProjectCheckFixedPriceChangeCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.changeFixedPriceValueTo = _data[\"changeFixedPriceValueTo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectCheckFixedPriceChangeCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectCheckFixedPriceChangeCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"changeFixedPriceValueTo\"] = this.changeFixedPriceValueTo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectCheckFixedPriceChangeCommand {\r\n id?: number;\r\n changeFixedPriceValueTo?: boolean;\r\n}\r\n\r\nexport class ProjectFilter implements IProjectFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n customerId?: number | undefined;\r\n customerIds?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n includeViewOnlyProjects?: boolean | undefined;\r\n appUserId?: number | undefined;\r\n isFinished?: boolean | undefined;\r\n onlyShowInTimeTracking?: boolean | undefined;\r\n\r\n constructor(data?: IProjectFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"ids\"])) {\r\n this.ids = [] as any;\r\n for (let item of _data[\"ids\"])\r\n this.ids!.push(item);\r\n }\r\n this.customerId = _data[\"customerId\"];\r\n if (Array.isArray(_data[\"customerIds\"])) {\r\n this.customerIds = [] as any;\r\n for (let item of _data[\"customerIds\"])\r\n this.customerIds!.push(item);\r\n }\r\n this.isArchived = _data[\"isArchived\"];\r\n this.includeViewOnlyProjects = _data[\"includeViewOnlyProjects\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.isFinished = _data[\"isFinished\"];\r\n this.onlyShowInTimeTracking = _data[\"onlyShowInTimeTracking\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.ids)) {\r\n data[\"ids\"] = [];\r\n for (let item of this.ids)\r\n data[\"ids\"].push(item);\r\n }\r\n data[\"customerId\"] = this.customerId;\r\n if (Array.isArray(this.customerIds)) {\r\n data[\"customerIds\"] = [];\r\n for (let item of this.customerIds)\r\n data[\"customerIds\"].push(item);\r\n }\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"includeViewOnlyProjects\"] = this.includeViewOnlyProjects;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"isFinished\"] = this.isFinished;\r\n data[\"onlyShowInTimeTracking\"] = this.onlyShowInTimeTracking;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n customerId?: number | undefined;\r\n customerIds?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n includeViewOnlyProjects?: boolean | undefined;\r\n appUserId?: number | undefined;\r\n isFinished?: boolean | undefined;\r\n onlyShowInTimeTracking?: boolean | undefined;\r\n}\r\n\r\nexport class ProjectBudgetViewModel implements IProjectBudgetViewModel {\r\n projectId?: number;\r\n budget?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n actualValue?: number;\r\n percentage?: number;\r\n percentageOnly?: boolean;\r\n projectName?: string | undefined;\r\n budgetOverrunThresholdPercent?: number;\r\n budgetOverrunNotificationSent?: boolean;\r\n budgetIsOverrun?: boolean;\r\n\r\n constructor(data?: IProjectBudgetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.projectId = _data[\"projectId\"];\r\n this.budget = _data[\"budget\"];\r\n this.budgetUnit = _data[\"budgetUnit\"];\r\n this.budgetTimeFrame = _data[\"budgetTimeFrame\"];\r\n this.actualValue = _data[\"actualValue\"];\r\n this.percentage = _data[\"percentage\"];\r\n this.percentageOnly = _data[\"percentageOnly\"];\r\n this.projectName = _data[\"projectName\"];\r\n this.budgetOverrunThresholdPercent = _data[\"budgetOverrunThresholdPercent\"];\r\n this.budgetOverrunNotificationSent = _data[\"budgetOverrunNotificationSent\"];\r\n this.budgetIsOverrun = _data[\"budgetIsOverrun\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectBudgetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectBudgetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"projectId\"] = this.projectId;\r\n data[\"budget\"] = this.budget;\r\n data[\"budgetUnit\"] = this.budgetUnit;\r\n data[\"budgetTimeFrame\"] = this.budgetTimeFrame;\r\n data[\"actualValue\"] = this.actualValue;\r\n data[\"percentage\"] = this.percentage;\r\n data[\"percentageOnly\"] = this.percentageOnly;\r\n data[\"projectName\"] = this.projectName;\r\n data[\"budgetOverrunThresholdPercent\"] = this.budgetOverrunThresholdPercent;\r\n data[\"budgetOverrunNotificationSent\"] = this.budgetOverrunNotificationSent;\r\n data[\"budgetIsOverrun\"] = this.budgetIsOverrun;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectBudgetViewModel {\r\n projectId?: number;\r\n budget?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n actualValue?: number;\r\n percentage?: number;\r\n percentageOnly?: boolean;\r\n projectName?: string | undefined;\r\n budgetOverrunThresholdPercent?: number;\r\n budgetOverrunNotificationSent?: boolean;\r\n budgetIsOverrun?: boolean;\r\n}\r\n\r\nexport class ProjectFinishToggleCommand implements IProjectFinishToggleCommand {\r\n projectId?: number;\r\n\r\n constructor(data?: IProjectFinishToggleCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.projectId = _data[\"projectId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFinishToggleCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFinishToggleCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"projectId\"] = this.projectId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFinishToggleCommand {\r\n projectId?: number;\r\n}\r\n\r\nexport class ProjectArchiveToggleCommand implements IProjectArchiveToggleCommand {\r\n projectId?: number;\r\n\r\n constructor(data?: IProjectArchiveToggleCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.projectId = _data[\"projectId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectArchiveToggleCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectArchiveToggleCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"projectId\"] = this.projectId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectArchiveToggleCommand {\r\n projectId?: number;\r\n}\r\n\r\nexport class ProjectReportViewModel implements IProjectReportViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n customerName?: string | undefined;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n budget?: number;\r\n plannedStartDate?: string | undefined;\r\n plannedEndDate?: string | undefined;\r\n budgetPercentage?: number;\r\n budgetActualValue?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n hours?: number;\r\n hoursBillable?: number;\r\n hoursNotBillable?: number;\r\n revenueBillable?: number;\r\n revenueNotBillable?: number;\r\n cost?: number;\r\n db1?: number;\r\n allEntriesHaveCost?: boolean;\r\n anyEntryHasCost?: boolean;\r\n isArchived?: boolean;\r\n timeEntries?: TimeEntryReportViewModel[] | undefined;\r\n timeFrameModel?: ReportTimeFrameModel[] | undefined;\r\n userModel?: ProjectReportUserModel[] | undefined;\r\n displayTimeChartDaily?: boolean;\r\n\r\n constructor(data?: IProjectReportViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isFixedPrice = _data[\"isFixedPrice\"];\r\n this.fixedPrice = _data[\"fixedPrice\"];\r\n this.budget = _data[\"budget\"];\r\n this.plannedStartDate = _data[\"plannedStartDate\"];\r\n this.plannedEndDate = _data[\"plannedEndDate\"];\r\n this.budgetPercentage = _data[\"budgetPercentage\"];\r\n this.budgetActualValue = _data[\"budgetActualValue\"];\r\n this.budgetUnit = _data[\"budgetUnit\"];\r\n this.budgetTimeFrame = _data[\"budgetTimeFrame\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.hours = _data[\"hours\"];\r\n this.hoursBillable = _data[\"hoursBillable\"];\r\n this.hoursNotBillable = _data[\"hoursNotBillable\"];\r\n this.revenueBillable = _data[\"revenueBillable\"];\r\n this.revenueNotBillable = _data[\"revenueNotBillable\"];\r\n this.cost = _data[\"cost\"];\r\n this.db1 = _data[\"db1\"];\r\n this.allEntriesHaveCost = _data[\"allEntriesHaveCost\"];\r\n this.anyEntryHasCost = _data[\"anyEntryHasCost\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n if (Array.isArray(_data[\"timeEntries\"])) {\r\n this.timeEntries = [] as any;\r\n for (let item of _data[\"timeEntries\"])\r\n this.timeEntries!.push(TimeEntryReportViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"timeFrameModel\"])) {\r\n this.timeFrameModel = [] as any;\r\n for (let item of _data[\"timeFrameModel\"])\r\n this.timeFrameModel!.push(ReportTimeFrameModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userModel\"])) {\r\n this.userModel = [] as any;\r\n for (let item of _data[\"userModel\"])\r\n this.userModel!.push(ProjectReportUserModel.fromJS(item));\r\n }\r\n this.displayTimeChartDaily = _data[\"displayTimeChartDaily\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectReportViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectReportViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isFixedPrice\"] = this.isFixedPrice;\r\n data[\"fixedPrice\"] = this.fixedPrice;\r\n data[\"budget\"] = this.budget;\r\n data[\"plannedStartDate\"] = this.plannedStartDate;\r\n data[\"plannedEndDate\"] = this.plannedEndDate;\r\n data[\"budgetPercentage\"] = this.budgetPercentage;\r\n data[\"budgetActualValue\"] = this.budgetActualValue;\r\n data[\"budgetUnit\"] = this.budgetUnit;\r\n data[\"budgetTimeFrame\"] = this.budgetTimeFrame;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"hours\"] = this.hours;\r\n data[\"hoursBillable\"] = this.hoursBillable;\r\n data[\"hoursNotBillable\"] = this.hoursNotBillable;\r\n data[\"revenueBillable\"] = this.revenueBillable;\r\n data[\"revenueNotBillable\"] = this.revenueNotBillable;\r\n data[\"cost\"] = this.cost;\r\n data[\"db1\"] = this.db1;\r\n data[\"allEntriesHaveCost\"] = this.allEntriesHaveCost;\r\n data[\"anyEntryHasCost\"] = this.anyEntryHasCost;\r\n data[\"isArchived\"] = this.isArchived;\r\n if (Array.isArray(this.timeEntries)) {\r\n data[\"timeEntries\"] = [];\r\n for (let item of this.timeEntries)\r\n data[\"timeEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.timeFrameModel)) {\r\n data[\"timeFrameModel\"] = [];\r\n for (let item of this.timeFrameModel)\r\n data[\"timeFrameModel\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userModel)) {\r\n data[\"userModel\"] = [];\r\n for (let item of this.userModel)\r\n data[\"userModel\"].push(item.toJSON());\r\n }\r\n data[\"displayTimeChartDaily\"] = this.displayTimeChartDaily;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectReportViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n customerName?: string | undefined;\r\n isBillable?: boolean;\r\n isFixedPrice?: boolean;\r\n fixedPrice?: number;\r\n budget?: number;\r\n plannedStartDate?: string | undefined;\r\n plannedEndDate?: string | undefined;\r\n budgetPercentage?: number;\r\n budgetActualValue?: number;\r\n budgetUnit?: BudgetUnitEnum;\r\n budgetTimeFrame?: BudgetTimeFrameEnum;\r\n startDate?: string | undefined;\r\n endDate?: string | undefined;\r\n hours?: number;\r\n hoursBillable?: number;\r\n hoursNotBillable?: number;\r\n revenueBillable?: number;\r\n revenueNotBillable?: number;\r\n cost?: number;\r\n db1?: number;\r\n allEntriesHaveCost?: boolean;\r\n anyEntryHasCost?: boolean;\r\n isArchived?: boolean;\r\n timeEntries?: TimeEntryReportViewModel[] | undefined;\r\n timeFrameModel?: ReportTimeFrameModel[] | undefined;\r\n userModel?: ProjectReportUserModel[] | undefined;\r\n displayTimeChartDaily?: boolean;\r\n}\r\n\r\nexport class TimeEntryReportViewModel implements ITimeEntryReportViewModel {\r\n id?: number;\r\n entryDate?: string;\r\n projectId?: string | undefined;\r\n projectName?: string | undefined;\r\n projectCustomerId?: string | undefined;\r\n projectCustomerName?: string | undefined;\r\n appUserId?: string | undefined;\r\n appUserName?: string | undefined;\r\n durationMinutes?: number;\r\n durationHours?: number;\r\n durationHoursBillable?: number;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n timeFrom?: string | undefined;\r\n timeTo?: string | undefined;\r\n isInputTimeFromTo?: boolean;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n rateAmount?: number;\r\n rateAmountOverridden?: boolean;\r\n costPerHour?: number;\r\n cost?: number;\r\n projectTaskName?: string | undefined;\r\n tags?: TagViewModel[] | undefined;\r\n\r\n constructor(data?: ITimeEntryReportViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.entryDate = _data[\"entryDate\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.projectName = _data[\"projectName\"];\r\n this.projectCustomerId = _data[\"projectCustomerId\"];\r\n this.projectCustomerName = _data[\"projectCustomerName\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.appUserName = _data[\"appUserName\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.durationHours = _data[\"durationHours\"];\r\n this.durationHoursBillable = _data[\"durationHoursBillable\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.timeFrom = _data[\"timeFrom\"];\r\n this.timeTo = _data[\"timeTo\"];\r\n this.isInputTimeFromTo = _data[\"isInputTimeFromTo\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isCleared = _data[\"isCleared\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.revenueBillable = _data[\"revenueBillable\"];\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.rateAmountOverridden = _data[\"rateAmountOverridden\"];\r\n this.costPerHour = _data[\"costPerHour\"];\r\n this.cost = _data[\"cost\"];\r\n this.projectTaskName = _data[\"projectTaskName\"];\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(TagViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryReportViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryReportViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"entryDate\"] = this.entryDate;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"projectName\"] = this.projectName;\r\n data[\"projectCustomerId\"] = this.projectCustomerId;\r\n data[\"projectCustomerName\"] = this.projectCustomerName;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"appUserName\"] = this.appUserName;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"durationHours\"] = this.durationHours;\r\n data[\"durationHoursBillable\"] = this.durationHoursBillable;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"timeFrom\"] = this.timeFrom;\r\n data[\"timeTo\"] = this.timeTo;\r\n data[\"isInputTimeFromTo\"] = this.isInputTimeFromTo;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isCleared\"] = this.isCleared;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"revenueBillable\"] = this.revenueBillable;\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"rateAmountOverridden\"] = this.rateAmountOverridden;\r\n data[\"costPerHour\"] = this.costPerHour;\r\n data[\"cost\"] = this.cost;\r\n data[\"projectTaskName\"] = this.projectTaskName;\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryReportViewModel {\r\n id?: number;\r\n entryDate?: string;\r\n projectId?: string | undefined;\r\n projectName?: string | undefined;\r\n projectCustomerId?: string | undefined;\r\n projectCustomerName?: string | undefined;\r\n appUserId?: string | undefined;\r\n appUserName?: string | undefined;\r\n durationMinutes?: number;\r\n durationHours?: number;\r\n durationHoursBillable?: number;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n timeFrom?: string | undefined;\r\n timeTo?: string | undefined;\r\n isInputTimeFromTo?: boolean;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n rateAmount?: number;\r\n rateAmountOverridden?: boolean;\r\n costPerHour?: number;\r\n cost?: number;\r\n projectTaskName?: string | undefined;\r\n tags?: TagViewModel[] | undefined;\r\n}\r\n\r\nexport class ReportTimeFrameModel implements IReportTimeFrameModel {\r\n date?: string;\r\n hours?: number;\r\n revenue?: number;\r\n cost?: number;\r\n\r\n constructor(data?: IReportTimeFrameModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.hours = _data[\"hours\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.cost = _data[\"cost\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportTimeFrameModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportTimeFrameModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"hours\"] = this.hours;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"cost\"] = this.cost;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportTimeFrameModel {\r\n date?: string;\r\n hours?: number;\r\n revenue?: number;\r\n cost?: number;\r\n}\r\n\r\nexport class ProjectReportUserModel implements IProjectReportUserModel {\r\n userFullName?: string | undefined;\r\n hours?: number;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n cost?: number;\r\n\r\n constructor(data?: IProjectReportUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userFullName = _data[\"userFullName\"];\r\n this.hours = _data[\"hours\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.revenueBillable = _data[\"revenueBillable\"];\r\n this.cost = _data[\"cost\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectReportUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectReportUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userFullName\"] = this.userFullName;\r\n data[\"hours\"] = this.hours;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"revenueBillable\"] = this.revenueBillable;\r\n data[\"cost\"] = this.cost;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectReportUserModel {\r\n userFullName?: string | undefined;\r\n hours?: number;\r\n revenue?: number;\r\n revenueBillable?: number;\r\n cost?: number;\r\n}\r\n\r\nexport class ProjectFixedPriceUserOverviewModel implements IProjectFixedPriceUserOverviewModel {\r\n appUserName?: string | undefined;\r\n projectRevenue?: number;\r\n projectRevenueFte?: number;\r\n projectRevenueFteInclNotFinished?: number;\r\n\r\n constructor(data?: IProjectFixedPriceUserOverviewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUserName = _data[\"appUserName\"];\r\n this.projectRevenue = _data[\"projectRevenue\"];\r\n this.projectRevenueFte = _data[\"projectRevenueFte\"];\r\n this.projectRevenueFteInclNotFinished = _data[\"projectRevenueFteInclNotFinished\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFixedPriceUserOverviewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFixedPriceUserOverviewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUserName\"] = this.appUserName;\r\n data[\"projectRevenue\"] = this.projectRevenue;\r\n data[\"projectRevenueFte\"] = this.projectRevenueFte;\r\n data[\"projectRevenueFteInclNotFinished\"] = this.projectRevenueFteInclNotFinished;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFixedPriceUserOverviewModel {\r\n appUserName?: string | undefined;\r\n projectRevenue?: number;\r\n projectRevenueFte?: number;\r\n projectRevenueFteInclNotFinished?: number;\r\n}\r\n\r\nexport class ProjectFixedPriceUserOverviewQuery implements IProjectFixedPriceUserOverviewQuery {\r\n entryDateFrom?: string;\r\n entryDateTo?: string;\r\n\r\n constructor(data?: IProjectFixedPriceUserOverviewQuery) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entryDateFrom = _data[\"entryDateFrom\"];\r\n this.entryDateTo = _data[\"entryDateTo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFixedPriceUserOverviewQuery {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFixedPriceUserOverviewQuery();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entryDateFrom\"] = this.entryDateFrom;\r\n data[\"entryDateTo\"] = this.entryDateTo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFixedPriceUserOverviewQuery {\r\n entryDateFrom?: string;\r\n entryDateTo?: string;\r\n}\r\n\r\nexport class ProjectFixedPriceRevenueFteModel implements IProjectFixedPriceRevenueFteModel {\r\n date?: string;\r\n avgRevenueFte?: number;\r\n avgRevenueFteInclNotFinished?: number;\r\n\r\n constructor(data?: IProjectFixedPriceRevenueFteModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.avgRevenueFte = _data[\"avgRevenueFte\"];\r\n this.avgRevenueFteInclNotFinished = _data[\"avgRevenueFteInclNotFinished\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFixedPriceRevenueFteModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFixedPriceRevenueFteModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"avgRevenueFte\"] = this.avgRevenueFte;\r\n data[\"avgRevenueFteInclNotFinished\"] = this.avgRevenueFteInclNotFinished;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFixedPriceRevenueFteModel {\r\n date?: string;\r\n avgRevenueFte?: number;\r\n avgRevenueFteInclNotFinished?: number;\r\n}\r\n\r\nexport class ProjectFixedPriceRevenueFteQuery implements IProjectFixedPriceRevenueFteQuery {\r\n filter?: TimeEntryFilter | undefined;\r\n\r\n constructor(data?: IProjectFixedPriceRevenueFteQuery) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.filter = _data[\"filter\"] ? TimeEntryFilter.fromJS(_data[\"filter\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFixedPriceRevenueFteQuery {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFixedPriceRevenueFteQuery();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"filter\"] = this.filter ? this.filter.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFixedPriceRevenueFteQuery {\r\n filter?: TimeEntryFilter | undefined;\r\n}\r\n\r\nexport class ProjectFixedPriceDailyRateReportModel implements IProjectFixedPriceDailyRateReportModel {\r\n month?: string;\r\n avgDailyRate?: number;\r\n\r\n constructor(data?: IProjectFixedPriceDailyRateReportModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.month = _data[\"month\"];\r\n this.avgDailyRate = _data[\"avgDailyRate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFixedPriceDailyRateReportModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFixedPriceDailyRateReportModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"month\"] = this.month;\r\n data[\"avgDailyRate\"] = this.avgDailyRate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFixedPriceDailyRateReportModel {\r\n month?: string;\r\n avgDailyRate?: number;\r\n}\r\n\r\nexport class ProjectFixedPriceDailyRateReportQuery implements IProjectFixedPriceDailyRateReportQuery {\r\n filter?: TimeEntryFilter | undefined;\r\n\r\n constructor(data?: IProjectFixedPriceDailyRateReportQuery) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.filter = _data[\"filter\"] ? TimeEntryFilter.fromJS(_data[\"filter\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectFixedPriceDailyRateReportQuery {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectFixedPriceDailyRateReportQuery();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"filter\"] = this.filter ? this.filter.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectFixedPriceDailyRateReportQuery {\r\n filter?: TimeEntryFilter | undefined;\r\n}\r\n\r\nexport class ProjectStaffFilter implements IProjectStaffFilter {\r\n projectId?: number | undefined;\r\n appUserId?: number | undefined;\r\n\r\n constructor(data?: IProjectStaffFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.projectId = _data[\"projectId\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectStaffFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectStaffFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"projectId\"] = this.projectId;\r\n data[\"appUserId\"] = this.appUserId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectStaffFilter {\r\n projectId?: number | undefined;\r\n appUserId?: number | undefined;\r\n}\r\n\r\nexport class ProjectStaffAppUserViewModel implements IProjectStaffAppUserViewModel {\r\n appUserId?: number;\r\n appUserName?: string | undefined;\r\n canViewTimeEntriesForEmployees?: boolean;\r\n canEditTimeEntriesForEmployees?: boolean;\r\n canEditTimeEntriesForAllProjects?: boolean;\r\n\r\n constructor(data?: IProjectStaffAppUserViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUserId = _data[\"appUserId\"];\r\n this.appUserName = _data[\"appUserName\"];\r\n this.canViewTimeEntriesForEmployees = _data[\"canViewTimeEntriesForEmployees\"];\r\n this.canEditTimeEntriesForEmployees = _data[\"canEditTimeEntriesForEmployees\"];\r\n this.canEditTimeEntriesForAllProjects = _data[\"canEditTimeEntriesForAllProjects\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectStaffAppUserViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectStaffAppUserViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"appUserName\"] = this.appUserName;\r\n data[\"canViewTimeEntriesForEmployees\"] = this.canViewTimeEntriesForEmployees;\r\n data[\"canEditTimeEntriesForEmployees\"] = this.canEditTimeEntriesForEmployees;\r\n data[\"canEditTimeEntriesForAllProjects\"] = this.canEditTimeEntriesForAllProjects;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectStaffAppUserViewModel {\r\n appUserId?: number;\r\n appUserName?: string | undefined;\r\n canViewTimeEntriesForEmployees?: boolean;\r\n canEditTimeEntriesForEmployees?: boolean;\r\n canEditTimeEntriesForAllProjects?: boolean;\r\n}\r\n\r\nexport class ProjectTaskFilter implements IProjectTaskFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n onlyGlobal?: boolean | undefined;\r\n onlyProject?: boolean | undefined;\r\n projectId?: number | undefined;\r\n projectIds?: number[] | undefined;\r\n\r\n constructor(data?: IProjectTaskFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"ids\"])) {\r\n this.ids = [] as any;\r\n for (let item of _data[\"ids\"])\r\n this.ids!.push(item);\r\n }\r\n this.isArchived = _data[\"isArchived\"];\r\n this.onlyGlobal = _data[\"onlyGlobal\"];\r\n this.onlyProject = _data[\"onlyProject\"];\r\n this.projectId = _data[\"projectId\"];\r\n if (Array.isArray(_data[\"projectIds\"])) {\r\n this.projectIds = [] as any;\r\n for (let item of _data[\"projectIds\"])\r\n this.projectIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectTaskFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectTaskFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.ids)) {\r\n data[\"ids\"] = [];\r\n for (let item of this.ids)\r\n data[\"ids\"].push(item);\r\n }\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"onlyGlobal\"] = this.onlyGlobal;\r\n data[\"onlyProject\"] = this.onlyProject;\r\n data[\"projectId\"] = this.projectId;\r\n if (Array.isArray(this.projectIds)) {\r\n data[\"projectIds\"] = [];\r\n for (let item of this.projectIds)\r\n data[\"projectIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectTaskFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n onlyGlobal?: boolean | undefined;\r\n onlyProject?: boolean | undefined;\r\n projectId?: number | undefined;\r\n projectIds?: number[] | undefined;\r\n}\r\n\r\nexport class ProjectTaskSelectListForProjectQuery implements IProjectTaskSelectListForProjectQuery {\r\n projectId?: number;\r\n\r\n constructor(data?: IProjectTaskSelectListForProjectQuery) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.projectId = _data[\"projectId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectTaskSelectListForProjectQuery {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectTaskSelectListForProjectQuery();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"projectId\"] = this.projectId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectTaskSelectListForProjectQuery {\r\n projectId?: number;\r\n}\r\n\r\nexport class PublicHolidayEditModel implements IPublicHolidayEditModel {\r\n id?: number;\r\n publicHolidayGroupId?: number;\r\n publicHolidayDate?: string;\r\n description?: string | undefined;\r\n isHalfDay?: boolean;\r\n repeatsEveryYearSameDay?: boolean;\r\n isGlobalOverwrite?: boolean;\r\n\r\n constructor(data?: IPublicHolidayEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.publicHolidayGroupId = _data[\"publicHolidayGroupId\"];\r\n this.publicHolidayDate = _data[\"publicHolidayDate\"];\r\n this.description = _data[\"description\"];\r\n this.isHalfDay = _data[\"isHalfDay\"];\r\n this.repeatsEveryYearSameDay = _data[\"repeatsEveryYearSameDay\"];\r\n this.isGlobalOverwrite = _data[\"isGlobalOverwrite\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublicHolidayEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublicHolidayEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"publicHolidayGroupId\"] = this.publicHolidayGroupId;\r\n data[\"publicHolidayDate\"] = this.publicHolidayDate;\r\n data[\"description\"] = this.description;\r\n data[\"isHalfDay\"] = this.isHalfDay;\r\n data[\"repeatsEveryYearSameDay\"] = this.repeatsEveryYearSameDay;\r\n data[\"isGlobalOverwrite\"] = this.isGlobalOverwrite;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublicHolidayEditModel {\r\n id?: number;\r\n publicHolidayGroupId?: number;\r\n publicHolidayDate?: string;\r\n description?: string | undefined;\r\n isHalfDay?: boolean;\r\n repeatsEveryYearSameDay?: boolean;\r\n isGlobalOverwrite?: boolean;\r\n}\r\n\r\nexport class PublicHolidayFilter implements IPublicHolidayFilter {\r\n publicHolidayGroupId?: number;\r\n year?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n onlyUserHolidays?: boolean | undefined;\r\n appUserId?: number | undefined;\r\n\r\n constructor(data?: IPublicHolidayFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.publicHolidayGroupId = _data[\"publicHolidayGroupId\"];\r\n this.year = _data[\"year\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n this.onlyUserHolidays = _data[\"onlyUserHolidays\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublicHolidayFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublicHolidayFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"publicHolidayGroupId\"] = this.publicHolidayGroupId;\r\n data[\"year\"] = this.year;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n data[\"onlyUserHolidays\"] = this.onlyUserHolidays;\r\n data[\"appUserId\"] = this.appUserId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublicHolidayFilter {\r\n publicHolidayGroupId?: number;\r\n year?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n onlyUserHolidays?: boolean | undefined;\r\n appUserId?: number | undefined;\r\n}\r\n\r\nexport class PublicHolidayGroupEditModel implements IPublicHolidayGroupEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isGlobal?: boolean;\r\n publicHolidayGroupId?: number | undefined;\r\n\r\n constructor(data?: IPublicHolidayGroupEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.isGlobal = _data[\"isGlobal\"];\r\n this.publicHolidayGroupId = _data[\"publicHolidayGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublicHolidayGroupEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublicHolidayGroupEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"isGlobal\"] = this.isGlobal;\r\n data[\"publicHolidayGroupId\"] = this.publicHolidayGroupId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublicHolidayGroupEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n isGlobal?: boolean;\r\n publicHolidayGroupId?: number | undefined;\r\n}\r\n\r\nexport class PublicHolidayGroupViewModel implements IPublicHolidayGroupViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n editMode?: boolean;\r\n isGlobal?: boolean;\r\n editModel?: PublicHolidayGroupEditModel | undefined;\r\n\r\n constructor(data?: IPublicHolidayGroupViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.editMode = _data[\"editMode\"];\r\n this.isGlobal = _data[\"isGlobal\"];\r\n this.editModel = _data[\"editModel\"] ? PublicHolidayGroupEditModel.fromJS(_data[\"editModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublicHolidayGroupViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublicHolidayGroupViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"editMode\"] = this.editMode;\r\n data[\"isGlobal\"] = this.isGlobal;\r\n data[\"editModel\"] = this.editModel ? this.editModel.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublicHolidayGroupViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n editMode?: boolean;\r\n isGlobal?: boolean;\r\n editModel?: PublicHolidayGroupEditModel | undefined;\r\n}\r\n\r\nexport class PublicHolidayGroupFilter implements IPublicHolidayGroupFilter {\r\n isGlobal?: boolean | undefined;\r\n id?: number | undefined;\r\n\r\n constructor(data?: IPublicHolidayGroupFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isGlobal = _data[\"isGlobal\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublicHolidayGroupFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublicHolidayGroupFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isGlobal\"] = this.isGlobal;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublicHolidayGroupFilter {\r\n isGlobal?: boolean | undefined;\r\n id?: number | undefined;\r\n}\r\n\r\nexport class RateRuleEditModel implements IRateRuleEditModel {\r\n id?: number;\r\n parentRateRuleId?: number | undefined;\r\n isGlobal?: boolean;\r\n customerIds?: NestedEditModel[] | undefined;\r\n projectTaskIds?: number[] | undefined;\r\n appUserIds?: number[] | undefined;\r\n hasRules?: boolean;\r\n sortOrder?: number;\r\n amount?: number;\r\n\r\n constructor(data?: IRateRuleEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.parentRateRuleId = _data[\"parentRateRuleId\"];\r\n this.isGlobal = _data[\"isGlobal\"];\r\n if (Array.isArray(_data[\"customerIds\"])) {\r\n this.customerIds = [] as any;\r\n for (let item of _data[\"customerIds\"])\r\n this.customerIds!.push(NestedEditModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"projectTaskIds\"])) {\r\n this.projectTaskIds = [] as any;\r\n for (let item of _data[\"projectTaskIds\"])\r\n this.projectTaskIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"appUserIds\"])) {\r\n this.appUserIds = [] as any;\r\n for (let item of _data[\"appUserIds\"])\r\n this.appUserIds!.push(item);\r\n }\r\n this.hasRules = _data[\"hasRules\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n this.amount = _data[\"amount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"parentRateRuleId\"] = this.parentRateRuleId;\r\n data[\"isGlobal\"] = this.isGlobal;\r\n if (Array.isArray(this.customerIds)) {\r\n data[\"customerIds\"] = [];\r\n for (let item of this.customerIds)\r\n data[\"customerIds\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.projectTaskIds)) {\r\n data[\"projectTaskIds\"] = [];\r\n for (let item of this.projectTaskIds)\r\n data[\"projectTaskIds\"].push(item);\r\n }\r\n if (Array.isArray(this.appUserIds)) {\r\n data[\"appUserIds\"] = [];\r\n for (let item of this.appUserIds)\r\n data[\"appUserIds\"].push(item);\r\n }\r\n data[\"hasRules\"] = this.hasRules;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n data[\"amount\"] = this.amount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleEditModel {\r\n id?: number;\r\n parentRateRuleId?: number | undefined;\r\n isGlobal?: boolean;\r\n customerIds?: NestedEditModel[] | undefined;\r\n projectTaskIds?: number[] | undefined;\r\n appUserIds?: number[] | undefined;\r\n hasRules?: boolean;\r\n sortOrder?: number;\r\n amount?: number;\r\n}\r\n\r\nexport class NestedEditModel implements INestedEditModel {\r\n id?: number;\r\n nestedIds?: NestedEditModel[] | undefined;\r\n allSelected?: boolean;\r\n\r\n constructor(data?: INestedEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"nestedIds\"])) {\r\n this.nestedIds = [] as any;\r\n for (let item of _data[\"nestedIds\"])\r\n this.nestedIds!.push(NestedEditModel.fromJS(item));\r\n }\r\n this.allSelected = _data[\"allSelected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NestedEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NestedEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.nestedIds)) {\r\n data[\"nestedIds\"] = [];\r\n for (let item of this.nestedIds)\r\n data[\"nestedIds\"].push(item.toJSON());\r\n }\r\n data[\"allSelected\"] = this.allSelected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INestedEditModel {\r\n id?: number;\r\n nestedIds?: NestedEditModel[] | undefined;\r\n allSelected?: boolean;\r\n}\r\n\r\nexport class RateRuleLookupModel implements IRateRuleLookupModel {\r\n customerProjects?: RateRuleSelectListItem[] | undefined;\r\n projectTasks?: RateRuleSelectListItem[] | undefined;\r\n appUsers?: RateRuleSelectListItem[] | undefined;\r\n\r\n constructor(data?: IRateRuleLookupModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"customerProjects\"])) {\r\n this.customerProjects = [] as any;\r\n for (let item of _data[\"customerProjects\"])\r\n this.customerProjects!.push(RateRuleSelectListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"projectTasks\"])) {\r\n this.projectTasks = [] as any;\r\n for (let item of _data[\"projectTasks\"])\r\n this.projectTasks!.push(RateRuleSelectListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"appUsers\"])) {\r\n this.appUsers = [] as any;\r\n for (let item of _data[\"appUsers\"])\r\n this.appUsers!.push(RateRuleSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleLookupModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleLookupModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.customerProjects)) {\r\n data[\"customerProjects\"] = [];\r\n for (let item of this.customerProjects)\r\n data[\"customerProjects\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.projectTasks)) {\r\n data[\"projectTasks\"] = [];\r\n for (let item of this.projectTasks)\r\n data[\"projectTasks\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.appUsers)) {\r\n data[\"appUsers\"] = [];\r\n for (let item of this.appUsers)\r\n data[\"appUsers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleLookupModel {\r\n customerProjects?: RateRuleSelectListItem[] | undefined;\r\n projectTasks?: RateRuleSelectListItem[] | undefined;\r\n appUsers?: RateRuleSelectListItem[] | undefined;\r\n}\r\n\r\nexport class RateRuleSelectListItem implements IRateRuleSelectListItem {\r\n id?: number;\r\n description?: string | undefined;\r\n isArchived?: boolean;\r\n disabledChildSelected?: boolean;\r\n disabledParentNotSelected?: boolean;\r\n isDisabled?: boolean;\r\n childItems?: RateRuleSelectListItem[] | undefined;\r\n\r\n constructor(data?: IRateRuleSelectListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n this.disabledChildSelected = _data[\"disabledChildSelected\"];\r\n this.disabledParentNotSelected = _data[\"disabledParentNotSelected\"];\r\n this.isDisabled = _data[\"isDisabled\"];\r\n if (Array.isArray(_data[\"childItems\"])) {\r\n this.childItems = [] as any;\r\n for (let item of _data[\"childItems\"])\r\n this.childItems!.push(RateRuleSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleSelectListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleSelectListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"isArchived\"] = this.isArchived;\r\n data[\"disabledChildSelected\"] = this.disabledChildSelected;\r\n data[\"disabledParentNotSelected\"] = this.disabledParentNotSelected;\r\n data[\"isDisabled\"] = this.isDisabled;\r\n if (Array.isArray(this.childItems)) {\r\n data[\"childItems\"] = [];\r\n for (let item of this.childItems)\r\n data[\"childItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleSelectListItem {\r\n id?: number;\r\n description?: string | undefined;\r\n isArchived?: boolean;\r\n disabledChildSelected?: boolean;\r\n disabledParentNotSelected?: boolean;\r\n isDisabled?: boolean;\r\n childItems?: RateRuleSelectListItem[] | undefined;\r\n}\r\n\r\nexport class RateRuleViewModel implements IRateRuleViewModel {\r\n id?: number;\r\n isGlobal?: boolean;\r\n customerNames?: RateRuleNestedViewModel[] | undefined;\r\n projectTaskNames?: string[] | undefined;\r\n appUserNames?: string[] | undefined;\r\n amount?: number;\r\n childRateRules?: RateRuleViewModel[] | undefined;\r\n isDisabled?: boolean;\r\n disabledReason?: string | undefined;\r\n editMode?: boolean;\r\n editModel?: RateRuleEditModel | undefined;\r\n newRateRuleEditMode?: boolean;\r\n newRateRuleEditModel?: RateRuleEditModel | undefined;\r\n sortOrder?: number;\r\n\r\n constructor(data?: IRateRuleViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isGlobal = _data[\"isGlobal\"];\r\n if (Array.isArray(_data[\"customerNames\"])) {\r\n this.customerNames = [] as any;\r\n for (let item of _data[\"customerNames\"])\r\n this.customerNames!.push(RateRuleNestedViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"projectTaskNames\"])) {\r\n this.projectTaskNames = [] as any;\r\n for (let item of _data[\"projectTaskNames\"])\r\n this.projectTaskNames!.push(item);\r\n }\r\n if (Array.isArray(_data[\"appUserNames\"])) {\r\n this.appUserNames = [] as any;\r\n for (let item of _data[\"appUserNames\"])\r\n this.appUserNames!.push(item);\r\n }\r\n this.amount = _data[\"amount\"];\r\n if (Array.isArray(_data[\"childRateRules\"])) {\r\n this.childRateRules = [] as any;\r\n for (let item of _data[\"childRateRules\"])\r\n this.childRateRules!.push(RateRuleViewModel.fromJS(item));\r\n }\r\n this.isDisabled = _data[\"isDisabled\"];\r\n this.disabledReason = _data[\"disabledReason\"];\r\n this.editMode = _data[\"editMode\"];\r\n this.editModel = _data[\"editModel\"] ? RateRuleEditModel.fromJS(_data[\"editModel\"]) : undefined;\r\n this.newRateRuleEditMode = _data[\"newRateRuleEditMode\"];\r\n this.newRateRuleEditModel = _data[\"newRateRuleEditModel\"] ? RateRuleEditModel.fromJS(_data[\"newRateRuleEditModel\"]) : undefined;\r\n this.sortOrder = _data[\"sortOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isGlobal\"] = this.isGlobal;\r\n if (Array.isArray(this.customerNames)) {\r\n data[\"customerNames\"] = [];\r\n for (let item of this.customerNames)\r\n data[\"customerNames\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.projectTaskNames)) {\r\n data[\"projectTaskNames\"] = [];\r\n for (let item of this.projectTaskNames)\r\n data[\"projectTaskNames\"].push(item);\r\n }\r\n if (Array.isArray(this.appUserNames)) {\r\n data[\"appUserNames\"] = [];\r\n for (let item of this.appUserNames)\r\n data[\"appUserNames\"].push(item);\r\n }\r\n data[\"amount\"] = this.amount;\r\n if (Array.isArray(this.childRateRules)) {\r\n data[\"childRateRules\"] = [];\r\n for (let item of this.childRateRules)\r\n data[\"childRateRules\"].push(item.toJSON());\r\n }\r\n data[\"isDisabled\"] = this.isDisabled;\r\n data[\"disabledReason\"] = this.disabledReason;\r\n data[\"editMode\"] = this.editMode;\r\n data[\"editModel\"] = this.editModel ? this.editModel.toJSON() : undefined;\r\n data[\"newRateRuleEditMode\"] = this.newRateRuleEditMode;\r\n data[\"newRateRuleEditModel\"] = this.newRateRuleEditModel ? this.newRateRuleEditModel.toJSON() : undefined;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleViewModel {\r\n id?: number;\r\n isGlobal?: boolean;\r\n customerNames?: RateRuleNestedViewModel[] | undefined;\r\n projectTaskNames?: string[] | undefined;\r\n appUserNames?: string[] | undefined;\r\n amount?: number;\r\n childRateRules?: RateRuleViewModel[] | undefined;\r\n isDisabled?: boolean;\r\n disabledReason?: string | undefined;\r\n editMode?: boolean;\r\n editModel?: RateRuleEditModel | undefined;\r\n newRateRuleEditMode?: boolean;\r\n newRateRuleEditModel?: RateRuleEditModel | undefined;\r\n sortOrder?: number;\r\n}\r\n\r\nexport class RateRuleNestedViewModel implements IRateRuleNestedViewModel {\r\n name?: string | undefined;\r\n nestedNames?: RateRuleNestedViewModel[] | undefined;\r\n allSelected?: boolean;\r\n\r\n constructor(data?: IRateRuleNestedViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"nestedNames\"])) {\r\n this.nestedNames = [] as any;\r\n for (let item of _data[\"nestedNames\"])\r\n this.nestedNames!.push(RateRuleNestedViewModel.fromJS(item));\r\n }\r\n this.allSelected = _data[\"allSelected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleNestedViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleNestedViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.nestedNames)) {\r\n data[\"nestedNames\"] = [];\r\n for (let item of this.nestedNames)\r\n data[\"nestedNames\"].push(item.toJSON());\r\n }\r\n data[\"allSelected\"] = this.allSelected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleNestedViewModel {\r\n name?: string | undefined;\r\n nestedNames?: RateRuleNestedViewModel[] | undefined;\r\n allSelected?: boolean;\r\n}\r\n\r\nexport class RateRuleAmountListModel implements IRateRuleAmountListModel {\r\n customerId?: number | undefined;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n globalProjectTaskId?: number | undefined;\r\n isGlobalRule?: boolean;\r\n amount?: number;\r\n overrideAmount?: boolean;\r\n parentAmount?: number | undefined;\r\n sourceRule?: RateRuleEnum;\r\n\r\n constructor(data?: IRateRuleAmountListModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.customerId = _data[\"customerId\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.projectTaskId = _data[\"projectTaskId\"];\r\n this.globalProjectTaskId = _data[\"globalProjectTaskId\"];\r\n this.isGlobalRule = _data[\"isGlobalRule\"];\r\n this.amount = _data[\"amount\"];\r\n this.overrideAmount = _data[\"overrideAmount\"];\r\n this.parentAmount = _data[\"parentAmount\"];\r\n this.sourceRule = _data[\"sourceRule\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleAmountListModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleAmountListModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"customerId\"] = this.customerId;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"projectTaskId\"] = this.projectTaskId;\r\n data[\"globalProjectTaskId\"] = this.globalProjectTaskId;\r\n data[\"isGlobalRule\"] = this.isGlobalRule;\r\n data[\"amount\"] = this.amount;\r\n data[\"overrideAmount\"] = this.overrideAmount;\r\n data[\"parentAmount\"] = this.parentAmount;\r\n data[\"sourceRule\"] = this.sourceRule;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleAmountListModel {\r\n customerId?: number | undefined;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n globalProjectTaskId?: number | undefined;\r\n isGlobalRule?: boolean;\r\n amount?: number;\r\n overrideAmount?: boolean;\r\n parentAmount?: number | undefined;\r\n sourceRule?: RateRuleEnum;\r\n}\r\n\r\nexport class RateRuleAmountFilter implements IRateRuleAmountFilter {\r\n customerId?: number | undefined;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n appUserId?: number | undefined;\r\n isGlobalRule?: boolean;\r\n\r\n constructor(data?: IRateRuleAmountFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.customerId = _data[\"customerId\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.projectTaskId = _data[\"projectTaskId\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.isGlobalRule = _data[\"isGlobalRule\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleAmountFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleAmountFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"customerId\"] = this.customerId;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"projectTaskId\"] = this.projectTaskId;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"isGlobalRule\"] = this.isGlobalRule;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleAmountFilter {\r\n customerId?: number | undefined;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n appUserId?: number | undefined;\r\n isGlobalRule?: boolean;\r\n}\r\n\r\nexport class RateRuleSortOrderEditModel implements IRateRuleSortOrderEditModel {\r\n id?: number;\r\n sortOrder?: number;\r\n\r\n constructor(data?: IRateRuleSortOrderEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RateRuleSortOrderEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RateRuleSortOrderEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRateRuleSortOrderEditModel {\r\n id?: number;\r\n sortOrder?: number;\r\n}\r\n\r\nexport class ReportViewModel implements IReportViewModel {\r\n duration?: ReportComparisonViewModel | undefined;\r\n revenue?: ReportComparisonViewModel | undefined;\r\n billable?: ReportComparisonViewModel | undefined;\r\n timeFrameModel?: ReportTimeFrameModel[] | undefined;\r\n customerPieData?: PieChartPoint[] | undefined;\r\n displayTimeChartDaily?: boolean;\r\n projectPieData?: PieChartPoint[] | undefined;\r\n tagsPieData?: PieChartPoint[] | undefined;\r\n\r\n constructor(data?: IReportViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.duration = _data[\"duration\"] ? ReportComparisonViewModel.fromJS(_data[\"duration\"]) : undefined;\r\n this.revenue = _data[\"revenue\"] ? ReportComparisonViewModel.fromJS(_data[\"revenue\"]) : undefined;\r\n this.billable = _data[\"billable\"] ? ReportComparisonViewModel.fromJS(_data[\"billable\"]) : undefined;\r\n if (Array.isArray(_data[\"timeFrameModel\"])) {\r\n this.timeFrameModel = [] as any;\r\n for (let item of _data[\"timeFrameModel\"])\r\n this.timeFrameModel!.push(ReportTimeFrameModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"customerPieData\"])) {\r\n this.customerPieData = [] as any;\r\n for (let item of _data[\"customerPieData\"])\r\n this.customerPieData!.push(PieChartPoint.fromJS(item));\r\n }\r\n this.displayTimeChartDaily = _data[\"displayTimeChartDaily\"];\r\n if (Array.isArray(_data[\"projectPieData\"])) {\r\n this.projectPieData = [] as any;\r\n for (let item of _data[\"projectPieData\"])\r\n this.projectPieData!.push(PieChartPoint.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tagsPieData\"])) {\r\n this.tagsPieData = [] as any;\r\n for (let item of _data[\"tagsPieData\"])\r\n this.tagsPieData!.push(PieChartPoint.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"duration\"] = this.duration ? this.duration.toJSON() : undefined;\r\n data[\"revenue\"] = this.revenue ? this.revenue.toJSON() : undefined;\r\n data[\"billable\"] = this.billable ? this.billable.toJSON() : undefined;\r\n if (Array.isArray(this.timeFrameModel)) {\r\n data[\"timeFrameModel\"] = [];\r\n for (let item of this.timeFrameModel)\r\n data[\"timeFrameModel\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.customerPieData)) {\r\n data[\"customerPieData\"] = [];\r\n for (let item of this.customerPieData)\r\n data[\"customerPieData\"].push(item.toJSON());\r\n }\r\n data[\"displayTimeChartDaily\"] = this.displayTimeChartDaily;\r\n if (Array.isArray(this.projectPieData)) {\r\n data[\"projectPieData\"] = [];\r\n for (let item of this.projectPieData)\r\n data[\"projectPieData\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tagsPieData)) {\r\n data[\"tagsPieData\"] = [];\r\n for (let item of this.tagsPieData)\r\n data[\"tagsPieData\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportViewModel {\r\n duration?: ReportComparisonViewModel | undefined;\r\n revenue?: ReportComparisonViewModel | undefined;\r\n billable?: ReportComparisonViewModel | undefined;\r\n timeFrameModel?: ReportTimeFrameModel[] | undefined;\r\n customerPieData?: PieChartPoint[] | undefined;\r\n displayTimeChartDaily?: boolean;\r\n projectPieData?: PieChartPoint[] | undefined;\r\n tagsPieData?: PieChartPoint[] | undefined;\r\n}\r\n\r\nexport class ReportComparisonViewModel implements IReportComparisonViewModel {\r\n value?: number;\r\n previousValue?: number;\r\n isPercentage?: boolean;\r\n isPositive?: boolean;\r\n comparisonValue?: number;\r\n comparisonPercentage?: number;\r\n previousPeriodFrom?: string | undefined;\r\n previousPeriodTo?: string | undefined;\r\n\r\n constructor(data?: IReportComparisonViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.previousValue = _data[\"previousValue\"];\r\n this.isPercentage = _data[\"isPercentage\"];\r\n this.isPositive = _data[\"isPositive\"];\r\n this.comparisonValue = _data[\"comparisonValue\"];\r\n this.comparisonPercentage = _data[\"comparisonPercentage\"];\r\n this.previousPeriodFrom = _data[\"previousPeriodFrom\"];\r\n this.previousPeriodTo = _data[\"previousPeriodTo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportComparisonViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportComparisonViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"previousValue\"] = this.previousValue;\r\n data[\"isPercentage\"] = this.isPercentage;\r\n data[\"isPositive\"] = this.isPositive;\r\n data[\"comparisonValue\"] = this.comparisonValue;\r\n data[\"comparisonPercentage\"] = this.comparisonPercentage;\r\n data[\"previousPeriodFrom\"] = this.previousPeriodFrom;\r\n data[\"previousPeriodTo\"] = this.previousPeriodTo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportComparisonViewModel {\r\n value?: number;\r\n previousValue?: number;\r\n isPercentage?: boolean;\r\n isPositive?: boolean;\r\n comparisonValue?: number;\r\n comparisonPercentage?: number;\r\n previousPeriodFrom?: string | undefined;\r\n previousPeriodTo?: string | undefined;\r\n}\r\n\r\nexport class PieChartPoint implements IPieChartPoint {\r\n label?: string | undefined;\r\n value?: number;\r\n\r\n constructor(data?: IPieChartPoint) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.label = _data[\"label\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PieChartPoint {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PieChartPoint();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"label\"] = this.label;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPieChartPoint {\r\n label?: string | undefined;\r\n value?: number;\r\n}\r\n\r\nexport class BillableTargetReportModel implements IBillableTargetReportModel {\r\n year?: number;\r\n months?: string[] | undefined;\r\n appUserModels?: BillableTargetAppUserModel[] | undefined;\r\n\r\n constructor(data?: IBillableTargetReportModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n if (Array.isArray(_data[\"months\"])) {\r\n this.months = [] as any;\r\n for (let item of _data[\"months\"])\r\n this.months!.push(item);\r\n }\r\n if (Array.isArray(_data[\"appUserModels\"])) {\r\n this.appUserModels = [] as any;\r\n for (let item of _data[\"appUserModels\"])\r\n this.appUserModels!.push(BillableTargetAppUserModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BillableTargetReportModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BillableTargetReportModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n if (Array.isArray(this.months)) {\r\n data[\"months\"] = [];\r\n for (let item of this.months)\r\n data[\"months\"].push(item);\r\n }\r\n if (Array.isArray(this.appUserModels)) {\r\n data[\"appUserModels\"] = [];\r\n for (let item of this.appUserModels)\r\n data[\"appUserModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBillableTargetReportModel {\r\n year?: number;\r\n months?: string[] | undefined;\r\n appUserModels?: BillableTargetAppUserModel[] | undefined;\r\n}\r\n\r\nexport class BillableTargetAppUserModel implements IBillableTargetAppUserModel {\r\n appUser?: AppUserViewModel | undefined;\r\n monthData?: BillableTargetAppUserMonthModel[] | undefined;\r\n\r\n constructor(data?: IBillableTargetAppUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUser = _data[\"appUser\"] ? AppUserViewModel.fromJS(_data[\"appUser\"]) : undefined;\r\n if (Array.isArray(_data[\"monthData\"])) {\r\n this.monthData = [] as any;\r\n for (let item of _data[\"monthData\"])\r\n this.monthData!.push(BillableTargetAppUserMonthModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BillableTargetAppUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BillableTargetAppUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUser\"] = this.appUser ? this.appUser.toJSON() : undefined;\r\n if (Array.isArray(this.monthData)) {\r\n data[\"monthData\"] = [];\r\n for (let item of this.monthData)\r\n data[\"monthData\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBillableTargetAppUserModel {\r\n appUser?: AppUserViewModel | undefined;\r\n monthData?: BillableTargetAppUserMonthModel[] | undefined;\r\n}\r\n\r\nexport class BillableTargetAppUserMonthModel implements IBillableTargetAppUserMonthModel {\r\n month?: string;\r\n targetMinutes?: number;\r\n durationMinutes?: number;\r\n durationMinutesBillable?: number;\r\n billableTargetPercentage?: number;\r\n billableTargetMinutes?: number;\r\n targetAchievment?: number;\r\n hasBillableTargetPercentage?: boolean;\r\n isAverage?: boolean;\r\n\r\n constructor(data?: IBillableTargetAppUserMonthModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.month = _data[\"month\"];\r\n this.targetMinutes = _data[\"targetMinutes\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.durationMinutesBillable = _data[\"durationMinutesBillable\"];\r\n this.billableTargetPercentage = _data[\"billableTargetPercentage\"];\r\n this.billableTargetMinutes = _data[\"billableTargetMinutes\"];\r\n this.targetAchievment = _data[\"targetAchievment\"];\r\n this.hasBillableTargetPercentage = _data[\"hasBillableTargetPercentage\"];\r\n this.isAverage = _data[\"isAverage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BillableTargetAppUserMonthModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BillableTargetAppUserMonthModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"month\"] = this.month;\r\n data[\"targetMinutes\"] = this.targetMinutes;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"durationMinutesBillable\"] = this.durationMinutesBillable;\r\n data[\"billableTargetPercentage\"] = this.billableTargetPercentage;\r\n data[\"billableTargetMinutes\"] = this.billableTargetMinutes;\r\n data[\"targetAchievment\"] = this.targetAchievment;\r\n data[\"hasBillableTargetPercentage\"] = this.hasBillableTargetPercentage;\r\n data[\"isAverage\"] = this.isAverage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBillableTargetAppUserMonthModel {\r\n month?: string;\r\n targetMinutes?: number;\r\n durationMinutes?: number;\r\n durationMinutesBillable?: number;\r\n billableTargetPercentage?: number;\r\n billableTargetMinutes?: number;\r\n targetAchievment?: number;\r\n hasBillableTargetPercentage?: boolean;\r\n isAverage?: boolean;\r\n}\r\n\r\nexport class RoleViewModel implements IRoleViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n hasAppUserRights?: boolean;\r\n\r\n constructor(data?: IRoleViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.hasAppUserRights = _data[\"hasAppUserRights\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"hasAppUserRights\"] = this.hasAppUserRights;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleViewModel {\r\n id?: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n hasAppUserRights?: boolean;\r\n}\r\n\r\nexport class StopwatchViewModel implements IStopwatchViewModel {\r\n id?: number;\r\n description?: string | undefined;\r\n stopwatchStartDateTimeUtc?: string;\r\n isBillable?: boolean;\r\n projectName?: string | undefined;\r\n customerName?: string | undefined;\r\n projectTaskName?: string | undefined;\r\n rateAmount?: number;\r\n timeEntryType?: TimeEntryTypeViewModel | undefined;\r\n pausedTimeEntryId?: number;\r\n tags?: TagViewModel[] | undefined;\r\n invalidReason?: string | undefined;\r\n timeEntryExtraFields?: TimeEntryExtraFieldViewModel[] | undefined;\r\n\r\n constructor(data?: IStopwatchViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.stopwatchStartDateTimeUtc = _data[\"stopwatchStartDateTimeUtc\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.projectName = _data[\"projectName\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.projectTaskName = _data[\"projectTaskName\"];\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.timeEntryType = _data[\"timeEntryType\"] ? TimeEntryTypeViewModel.fromJS(_data[\"timeEntryType\"]) : undefined;\r\n this.pausedTimeEntryId = _data[\"pausedTimeEntryId\"];\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(TagViewModel.fromJS(item));\r\n }\r\n this.invalidReason = _data[\"invalidReason\"];\r\n if (Array.isArray(_data[\"timeEntryExtraFields\"])) {\r\n this.timeEntryExtraFields = [] as any;\r\n for (let item of _data[\"timeEntryExtraFields\"])\r\n this.timeEntryExtraFields!.push(TimeEntryExtraFieldViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StopwatchViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StopwatchViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"stopwatchStartDateTimeUtc\"] = this.stopwatchStartDateTimeUtc;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"projectName\"] = this.projectName;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"projectTaskName\"] = this.projectTaskName;\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"timeEntryType\"] = this.timeEntryType ? this.timeEntryType.toJSON() : undefined;\r\n data[\"pausedTimeEntryId\"] = this.pausedTimeEntryId;\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n data[\"invalidReason\"] = this.invalidReason;\r\n if (Array.isArray(this.timeEntryExtraFields)) {\r\n data[\"timeEntryExtraFields\"] = [];\r\n for (let item of this.timeEntryExtraFields)\r\n data[\"timeEntryExtraFields\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStopwatchViewModel {\r\n id?: number;\r\n description?: string | undefined;\r\n stopwatchStartDateTimeUtc?: string;\r\n isBillable?: boolean;\r\n projectName?: string | undefined;\r\n customerName?: string | undefined;\r\n projectTaskName?: string | undefined;\r\n rateAmount?: number;\r\n timeEntryType?: TimeEntryTypeViewModel | undefined;\r\n pausedTimeEntryId?: number;\r\n tags?: TagViewModel[] | undefined;\r\n invalidReason?: string | undefined;\r\n timeEntryExtraFields?: TimeEntryExtraFieldViewModel[] | undefined;\r\n}\r\n\r\nexport class StopwatchEditModel implements IStopwatchEditModel {\r\n id?: number;\r\n description?: string | undefined;\r\n isBillable?: boolean;\r\n projectId?: number;\r\n projectTaskId?: number | undefined;\r\n isInputTimeFromTo?: boolean;\r\n appUserId?: number | undefined;\r\n pausedTimeEntryId?: number;\r\n tagIds?: number[] | undefined;\r\n rateAmount?: number | undefined;\r\n useCurrentRateAmount?: boolean;\r\n timeEntryExtraFields?: TimeEntryExtraFieldEditModel[] | undefined;\r\n isBasicTimeEntry?: boolean;\r\n\r\n constructor(data?: IStopwatchEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.projectTaskId = _data[\"projectTaskId\"];\r\n this.isInputTimeFromTo = _data[\"isInputTimeFromTo\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.pausedTimeEntryId = _data[\"pausedTimeEntryId\"];\r\n if (Array.isArray(_data[\"tagIds\"])) {\r\n this.tagIds = [] as any;\r\n for (let item of _data[\"tagIds\"])\r\n this.tagIds!.push(item);\r\n }\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.useCurrentRateAmount = _data[\"useCurrentRateAmount\"];\r\n if (Array.isArray(_data[\"timeEntryExtraFields\"])) {\r\n this.timeEntryExtraFields = [] as any;\r\n for (let item of _data[\"timeEntryExtraFields\"])\r\n this.timeEntryExtraFields!.push(TimeEntryExtraFieldEditModel.fromJS(item));\r\n }\r\n this.isBasicTimeEntry = _data[\"isBasicTimeEntry\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StopwatchEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StopwatchEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"projectTaskId\"] = this.projectTaskId;\r\n data[\"isInputTimeFromTo\"] = this.isInputTimeFromTo;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"pausedTimeEntryId\"] = this.pausedTimeEntryId;\r\n if (Array.isArray(this.tagIds)) {\r\n data[\"tagIds\"] = [];\r\n for (let item of this.tagIds)\r\n data[\"tagIds\"].push(item);\r\n }\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"useCurrentRateAmount\"] = this.useCurrentRateAmount;\r\n if (Array.isArray(this.timeEntryExtraFields)) {\r\n data[\"timeEntryExtraFields\"] = [];\r\n for (let item of this.timeEntryExtraFields)\r\n data[\"timeEntryExtraFields\"].push(item.toJSON());\r\n }\r\n data[\"isBasicTimeEntry\"] = this.isBasicTimeEntry;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStopwatchEditModel {\r\n id?: number;\r\n description?: string | undefined;\r\n isBillable?: boolean;\r\n projectId?: number;\r\n projectTaskId?: number | undefined;\r\n isInputTimeFromTo?: boolean;\r\n appUserId?: number | undefined;\r\n pausedTimeEntryId?: number;\r\n tagIds?: number[] | undefined;\r\n rateAmount?: number | undefined;\r\n useCurrentRateAmount?: boolean;\r\n timeEntryExtraFields?: TimeEntryExtraFieldEditModel[] | undefined;\r\n isBasicTimeEntry?: boolean;\r\n}\r\n\r\nexport class TimeEntryExtraFieldEditModel implements ITimeEntryExtraFieldEditModel {\r\n id?: number;\r\n timeEntryId?: number;\r\n timeEntryExtraFieldMetadataId?: number;\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n dataTypeDescription?: string | undefined;\r\n isRequired?: boolean;\r\n selectionValues?: string[] | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n toolTip?: string | undefined;\r\n\r\n constructor(data?: ITimeEntryExtraFieldEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.timeEntryId = _data[\"timeEntryId\"];\r\n this.timeEntryExtraFieldMetadataId = _data[\"timeEntryExtraFieldMetadataId\"];\r\n this.value = _data[\"value\"];\r\n this.description = _data[\"description\"];\r\n this.dataTypeDescription = _data[\"dataTypeDescription\"];\r\n this.isRequired = _data[\"isRequired\"];\r\n if (Array.isArray(_data[\"selectionValues\"])) {\r\n this.selectionValues = [] as any;\r\n for (let item of _data[\"selectionValues\"])\r\n this.selectionValues!.push(item);\r\n }\r\n this.dataType = _data[\"dataType\"];\r\n this.toolTip = _data[\"toolTip\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryExtraFieldEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryExtraFieldEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"timeEntryId\"] = this.timeEntryId;\r\n data[\"timeEntryExtraFieldMetadataId\"] = this.timeEntryExtraFieldMetadataId;\r\n data[\"value\"] = this.value;\r\n data[\"description\"] = this.description;\r\n data[\"dataTypeDescription\"] = this.dataTypeDescription;\r\n data[\"isRequired\"] = this.isRequired;\r\n if (Array.isArray(this.selectionValues)) {\r\n data[\"selectionValues\"] = [];\r\n for (let item of this.selectionValues)\r\n data[\"selectionValues\"].push(item);\r\n }\r\n data[\"dataType\"] = this.dataType;\r\n data[\"toolTip\"] = this.toolTip;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryExtraFieldEditModel {\r\n id?: number;\r\n timeEntryId?: number;\r\n timeEntryExtraFieldMetadataId?: number;\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n dataTypeDescription?: string | undefined;\r\n isRequired?: boolean;\r\n selectionValues?: string[] | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n toolTip?: string | undefined;\r\n}\r\n\r\nexport class TimeEntryEditModel implements ITimeEntryEditModel {\r\n id?: number;\r\n entryDate?: string;\r\n durationMinutes?: number;\r\n durationMinutesPause?: number;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n timeFrom?: string | undefined;\r\n timeTo?: string | undefined;\r\n isInputTimeFromTo?: boolean;\r\n timeEntryTypeId?: number;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n rateAmount?: number | undefined;\r\n useCurrentRateAmount?: boolean;\r\n appUserId?: number | undefined;\r\n tagIds?: number[] | undefined;\r\n isMigratedTimeEntryWithPause?: boolean;\r\n timeEntryExtraFields?: TimeEntryExtraFieldEditModel[] | undefined;\r\n insertDateTime?: string | undefined;\r\n lastUpdateDateTime?: string | undefined;\r\n isTwoDayEntry?: boolean;\r\n additionalInsertAppUserIds?: number[] | undefined;\r\n isBasicTimeEntry?: boolean;\r\n\r\n constructor(data?: ITimeEntryEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.entryDate = _data[\"entryDate\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.durationMinutesPause = _data[\"durationMinutesPause\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.timeFrom = _data[\"timeFrom\"];\r\n this.timeTo = _data[\"timeTo\"];\r\n this.isInputTimeFromTo = _data[\"isInputTimeFromTo\"];\r\n this.timeEntryTypeId = _data[\"timeEntryTypeId\"];\r\n this.isBillable = _data[\"isBillable\"];\r\n this.isCleared = _data[\"isCleared\"];\r\n this.projectId = _data[\"projectId\"];\r\n this.projectTaskId = _data[\"projectTaskId\"];\r\n this.rateAmount = _data[\"rateAmount\"];\r\n this.useCurrentRateAmount = _data[\"useCurrentRateAmount\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n if (Array.isArray(_data[\"tagIds\"])) {\r\n this.tagIds = [] as any;\r\n for (let item of _data[\"tagIds\"])\r\n this.tagIds!.push(item);\r\n }\r\n this.isMigratedTimeEntryWithPause = _data[\"isMigratedTimeEntryWithPause\"];\r\n if (Array.isArray(_data[\"timeEntryExtraFields\"])) {\r\n this.timeEntryExtraFields = [] as any;\r\n for (let item of _data[\"timeEntryExtraFields\"])\r\n this.timeEntryExtraFields!.push(TimeEntryExtraFieldEditModel.fromJS(item));\r\n }\r\n this.insertDateTime = _data[\"insertDateTime\"];\r\n this.lastUpdateDateTime = _data[\"lastUpdateDateTime\"];\r\n this.isTwoDayEntry = _data[\"isTwoDayEntry\"];\r\n if (Array.isArray(_data[\"additionalInsertAppUserIds\"])) {\r\n this.additionalInsertAppUserIds = [] as any;\r\n for (let item of _data[\"additionalInsertAppUserIds\"])\r\n this.additionalInsertAppUserIds!.push(item);\r\n }\r\n this.isBasicTimeEntry = _data[\"isBasicTimeEntry\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"entryDate\"] = this.entryDate;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"durationMinutesPause\"] = this.durationMinutesPause;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"timeFrom\"] = this.timeFrom;\r\n data[\"timeTo\"] = this.timeTo;\r\n data[\"isInputTimeFromTo\"] = this.isInputTimeFromTo;\r\n data[\"timeEntryTypeId\"] = this.timeEntryTypeId;\r\n data[\"isBillable\"] = this.isBillable;\r\n data[\"isCleared\"] = this.isCleared;\r\n data[\"projectId\"] = this.projectId;\r\n data[\"projectTaskId\"] = this.projectTaskId;\r\n data[\"rateAmount\"] = this.rateAmount;\r\n data[\"useCurrentRateAmount\"] = this.useCurrentRateAmount;\r\n data[\"appUserId\"] = this.appUserId;\r\n if (Array.isArray(this.tagIds)) {\r\n data[\"tagIds\"] = [];\r\n for (let item of this.tagIds)\r\n data[\"tagIds\"].push(item);\r\n }\r\n data[\"isMigratedTimeEntryWithPause\"] = this.isMigratedTimeEntryWithPause;\r\n if (Array.isArray(this.timeEntryExtraFields)) {\r\n data[\"timeEntryExtraFields\"] = [];\r\n for (let item of this.timeEntryExtraFields)\r\n data[\"timeEntryExtraFields\"].push(item.toJSON());\r\n }\r\n data[\"insertDateTime\"] = this.insertDateTime;\r\n data[\"lastUpdateDateTime\"] = this.lastUpdateDateTime;\r\n data[\"isTwoDayEntry\"] = this.isTwoDayEntry;\r\n if (Array.isArray(this.additionalInsertAppUserIds)) {\r\n data[\"additionalInsertAppUserIds\"] = [];\r\n for (let item of this.additionalInsertAppUserIds)\r\n data[\"additionalInsertAppUserIds\"].push(item);\r\n }\r\n data[\"isBasicTimeEntry\"] = this.isBasicTimeEntry;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryEditModel {\r\n id?: number;\r\n entryDate?: string;\r\n durationMinutes?: number;\r\n durationMinutesPause?: number;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n timeFrom?: string | undefined;\r\n timeTo?: string | undefined;\r\n isInputTimeFromTo?: boolean;\r\n timeEntryTypeId?: number;\r\n isBillable?: boolean;\r\n isCleared?: boolean;\r\n projectId?: number | undefined;\r\n projectTaskId?: number | undefined;\r\n rateAmount?: number | undefined;\r\n useCurrentRateAmount?: boolean;\r\n appUserId?: number | undefined;\r\n tagIds?: number[] | undefined;\r\n isMigratedTimeEntryWithPause?: boolean;\r\n timeEntryExtraFields?: TimeEntryExtraFieldEditModel[] | undefined;\r\n insertDateTime?: string | undefined;\r\n lastUpdateDateTime?: string | undefined;\r\n isTwoDayEntry?: boolean;\r\n additionalInsertAppUserIds?: number[] | undefined;\r\n isBasicTimeEntry?: boolean;\r\n}\r\n\r\nexport class SupportRequestModel implements ISupportRequestModel {\r\n email?: string | undefined;\r\n subject?: string | undefined;\r\n text?: string | undefined;\r\n\r\n constructor(data?: ISupportRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.subject = _data[\"subject\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"subject\"] = this.subject;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportRequestModel {\r\n email?: string | undefined;\r\n subject?: string | undefined;\r\n text?: string | undefined;\r\n}\r\n\r\nexport class TagEditModel implements ITagEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n colorClass?: string | undefined;\r\n isArchived?: boolean;\r\n\r\n constructor(data?: ITagEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.colorClass = _data[\"colorClass\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TagEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TagEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"colorClass\"] = this.colorClass;\r\n data[\"isArchived\"] = this.isArchived;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITagEditModel {\r\n id?: number;\r\n name?: string | undefined;\r\n colorClass?: string | undefined;\r\n isArchived?: boolean;\r\n}\r\n\r\nexport class TagFilter implements ITagFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n\r\n constructor(data?: ITagFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"ids\"])) {\r\n this.ids = [] as any;\r\n for (let item of _data[\"ids\"])\r\n this.ids!.push(item);\r\n }\r\n this.isArchived = _data[\"isArchived\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TagFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TagFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.ids)) {\r\n data[\"ids\"] = [];\r\n for (let item of this.ids)\r\n data[\"ids\"].push(item);\r\n }\r\n data[\"isArchived\"] = this.isArchived;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITagFilter {\r\n id?: number | undefined;\r\n ids?: number[] | undefined;\r\n isArchived?: boolean | undefined;\r\n}\r\n\r\nexport class TeamOverviewTimeValidationModel implements ITeamOverviewTimeValidationModel {\r\n months?: TeamOverviewTimeValidationMonthModel[] | undefined;\r\n timeEntrySummaryLastSent?: string | undefined;\r\n\r\n constructor(data?: ITeamOverviewTimeValidationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"months\"])) {\r\n this.months = [] as any;\r\n for (let item of _data[\"months\"])\r\n this.months!.push(TeamOverviewTimeValidationMonthModel.fromJS(item));\r\n }\r\n this.timeEntrySummaryLastSent = _data[\"timeEntrySummaryLastSent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamOverviewTimeValidationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamOverviewTimeValidationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.months)) {\r\n data[\"months\"] = [];\r\n for (let item of this.months)\r\n data[\"months\"].push(item.toJSON());\r\n }\r\n data[\"timeEntrySummaryLastSent\"] = this.timeEntrySummaryLastSent;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamOverviewTimeValidationModel {\r\n months?: TeamOverviewTimeValidationMonthModel[] | undefined;\r\n timeEntrySummaryLastSent?: string | undefined;\r\n}\r\n\r\nexport class TeamOverviewTimeValidationMonthModel implements ITeamOverviewTimeValidationMonthModel {\r\n year?: number;\r\n month?: number;\r\n appUserIntervalModels?: TeamOverviewTimeValidationAppUserIntervalModel[] | undefined;\r\n\r\n constructor(data?: ITeamOverviewTimeValidationMonthModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n if (Array.isArray(_data[\"appUserIntervalModels\"])) {\r\n this.appUserIntervalModels = [] as any;\r\n for (let item of _data[\"appUserIntervalModels\"])\r\n this.appUserIntervalModels!.push(TeamOverviewTimeValidationAppUserIntervalModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamOverviewTimeValidationMonthModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamOverviewTimeValidationMonthModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n if (Array.isArray(this.appUserIntervalModels)) {\r\n data[\"appUserIntervalModels\"] = [];\r\n for (let item of this.appUserIntervalModels)\r\n data[\"appUserIntervalModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamOverviewTimeValidationMonthModel {\r\n year?: number;\r\n month?: number;\r\n appUserIntervalModels?: TeamOverviewTimeValidationAppUserIntervalModel[] | undefined;\r\n}\r\n\r\nexport class TeamOverviewTimeValidationAppUserIntervalModel implements ITeamOverviewTimeValidationAppUserIntervalModel {\r\n appUser?: AppUserViewModel | undefined;\r\n dateIntervalFrom?: string;\r\n dateIntervalTo?: string;\r\n useTargetMinutes?: boolean;\r\n overallDurationMinutesBalance?: number;\r\n appUserDayModels?: TeamOverviewTimeValidationAppUserDayModel[] | undefined;\r\n\r\n constructor(data?: ITeamOverviewTimeValidationAppUserIntervalModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUser = _data[\"appUser\"] ? AppUserViewModel.fromJS(_data[\"appUser\"]) : undefined;\r\n this.dateIntervalFrom = _data[\"dateIntervalFrom\"];\r\n this.dateIntervalTo = _data[\"dateIntervalTo\"];\r\n this.useTargetMinutes = _data[\"useTargetMinutes\"];\r\n this.overallDurationMinutesBalance = _data[\"overallDurationMinutesBalance\"];\r\n if (Array.isArray(_data[\"appUserDayModels\"])) {\r\n this.appUserDayModels = [] as any;\r\n for (let item of _data[\"appUserDayModels\"])\r\n this.appUserDayModels!.push(TeamOverviewTimeValidationAppUserDayModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamOverviewTimeValidationAppUserIntervalModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamOverviewTimeValidationAppUserIntervalModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUser\"] = this.appUser ? this.appUser.toJSON() : undefined;\r\n data[\"dateIntervalFrom\"] = this.dateIntervalFrom;\r\n data[\"dateIntervalTo\"] = this.dateIntervalTo;\r\n data[\"useTargetMinutes\"] = this.useTargetMinutes;\r\n data[\"overallDurationMinutesBalance\"] = this.overallDurationMinutesBalance;\r\n if (Array.isArray(this.appUserDayModels)) {\r\n data[\"appUserDayModels\"] = [];\r\n for (let item of this.appUserDayModels)\r\n data[\"appUserDayModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamOverviewTimeValidationAppUserIntervalModel {\r\n appUser?: AppUserViewModel | undefined;\r\n dateIntervalFrom?: string;\r\n dateIntervalTo?: string;\r\n useTargetMinutes?: boolean;\r\n overallDurationMinutesBalance?: number;\r\n appUserDayModels?: TeamOverviewTimeValidationAppUserDayModel[] | undefined;\r\n}\r\n\r\nexport class TeamOverviewTimeValidationAppUserDayModel implements ITeamOverviewTimeValidationAppUserDayModel {\r\n date?: string;\r\n appUserDay?: AppUserDayViewModel | undefined;\r\n\r\n constructor(data?: ITeamOverviewTimeValidationAppUserDayModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.appUserDay = _data[\"appUserDay\"] ? AppUserDayViewModel.fromJS(_data[\"appUserDay\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamOverviewTimeValidationAppUserDayModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamOverviewTimeValidationAppUserDayModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"appUserDay\"] = this.appUserDay ? this.appUserDay.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamOverviewTimeValidationAppUserDayModel {\r\n date?: string;\r\n appUserDay?: AppUserDayViewModel | undefined;\r\n}\r\n\r\nexport class AppUserDayViewModel implements IAppUserDayViewModel {\r\n appUserCountryIsoCode?: string | undefined;\r\n date?: string;\r\n absence?: AbsenceViewModel | undefined;\r\n publicHoliday?: PublicHolidayViewModel | undefined;\r\n useTargetMinutes?: boolean;\r\n targetMinutes?: number;\r\n targetMinutesEffective?: number;\r\n durationMinutes?: number;\r\n vacationDays?: number;\r\n isPublicHoliday?: boolean;\r\n isAbsence?: boolean;\r\n isApprovedAbsence?: boolean;\r\n isVacation?: boolean;\r\n isSick?: boolean;\r\n effectiveTargetMinutesEnteredPercentage?: number;\r\n isWeekend?: boolean;\r\n dayDescription?: DayModifier | undefined;\r\n timeEntryDayApproval?: TimeEntryDayApprovalViewModel | undefined;\r\n dayLockedApproval?: boolean;\r\n dayLockedApprovalComment?: string | undefined;\r\n dayCanBeSubmitted?: boolean;\r\n violatedValidationRules?: AppUserDayValidationRule[] | undefined;\r\n hasViolatedValidationRules?: boolean;\r\n\r\n constructor(data?: IAppUserDayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUserCountryIsoCode = _data[\"appUserCountryIsoCode\"];\r\n this.date = _data[\"date\"];\r\n this.absence = _data[\"absence\"] ? AbsenceViewModel.fromJS(_data[\"absence\"]) : undefined;\r\n this.publicHoliday = _data[\"publicHoliday\"] ? PublicHolidayViewModel.fromJS(_data[\"publicHoliday\"]) : undefined;\r\n this.useTargetMinutes = _data[\"useTargetMinutes\"];\r\n this.targetMinutes = _data[\"targetMinutes\"];\r\n this.targetMinutesEffective = _data[\"targetMinutesEffective\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.vacationDays = _data[\"vacationDays\"];\r\n this.isPublicHoliday = _data[\"isPublicHoliday\"];\r\n this.isAbsence = _data[\"isAbsence\"];\r\n this.isApprovedAbsence = _data[\"isApprovedAbsence\"];\r\n this.isVacation = _data[\"isVacation\"];\r\n this.isSick = _data[\"isSick\"];\r\n this.effectiveTargetMinutesEnteredPercentage = _data[\"effectiveTargetMinutesEnteredPercentage\"];\r\n this.isWeekend = _data[\"isWeekend\"];\r\n this.dayDescription = _data[\"dayDescription\"] ? DayModifier.fromJS(_data[\"dayDescription\"]) : undefined;\r\n this.timeEntryDayApproval = _data[\"timeEntryDayApproval\"] ? TimeEntryDayApprovalViewModel.fromJS(_data[\"timeEntryDayApproval\"]) : undefined;\r\n this.dayLockedApproval = _data[\"dayLockedApproval\"];\r\n this.dayLockedApprovalComment = _data[\"dayLockedApprovalComment\"];\r\n this.dayCanBeSubmitted = _data[\"dayCanBeSubmitted\"];\r\n if (Array.isArray(_data[\"violatedValidationRules\"])) {\r\n this.violatedValidationRules = [] as any;\r\n for (let item of _data[\"violatedValidationRules\"])\r\n this.violatedValidationRules!.push(AppUserDayValidationRule.fromJS(item));\r\n }\r\n this.hasViolatedValidationRules = _data[\"hasViolatedValidationRules\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserDayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserDayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUserCountryIsoCode\"] = this.appUserCountryIsoCode;\r\n data[\"date\"] = this.date;\r\n data[\"absence\"] = this.absence ? this.absence.toJSON() : undefined;\r\n data[\"publicHoliday\"] = this.publicHoliday ? this.publicHoliday.toJSON() : undefined;\r\n data[\"useTargetMinutes\"] = this.useTargetMinutes;\r\n data[\"targetMinutes\"] = this.targetMinutes;\r\n data[\"targetMinutesEffective\"] = this.targetMinutesEffective;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"vacationDays\"] = this.vacationDays;\r\n data[\"isPublicHoliday\"] = this.isPublicHoliday;\r\n data[\"isAbsence\"] = this.isAbsence;\r\n data[\"isApprovedAbsence\"] = this.isApprovedAbsence;\r\n data[\"isVacation\"] = this.isVacation;\r\n data[\"isSick\"] = this.isSick;\r\n data[\"effectiveTargetMinutesEnteredPercentage\"] = this.effectiveTargetMinutesEnteredPercentage;\r\n data[\"isWeekend\"] = this.isWeekend;\r\n data[\"dayDescription\"] = this.dayDescription ? this.dayDescription.toJSON() : undefined;\r\n data[\"timeEntryDayApproval\"] = this.timeEntryDayApproval ? this.timeEntryDayApproval.toJSON() : undefined;\r\n data[\"dayLockedApproval\"] = this.dayLockedApproval;\r\n data[\"dayLockedApprovalComment\"] = this.dayLockedApprovalComment;\r\n data[\"dayCanBeSubmitted\"] = this.dayCanBeSubmitted;\r\n if (Array.isArray(this.violatedValidationRules)) {\r\n data[\"violatedValidationRules\"] = [];\r\n for (let item of this.violatedValidationRules)\r\n data[\"violatedValidationRules\"].push(item.toJSON());\r\n }\r\n data[\"hasViolatedValidationRules\"] = this.hasViolatedValidationRules;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserDayViewModel {\r\n appUserCountryIsoCode?: string | undefined;\r\n date?: string;\r\n absence?: AbsenceViewModel | undefined;\r\n publicHoliday?: PublicHolidayViewModel | undefined;\r\n useTargetMinutes?: boolean;\r\n targetMinutes?: number;\r\n targetMinutesEffective?: number;\r\n durationMinutes?: number;\r\n vacationDays?: number;\r\n isPublicHoliday?: boolean;\r\n isAbsence?: boolean;\r\n isApprovedAbsence?: boolean;\r\n isVacation?: boolean;\r\n isSick?: boolean;\r\n effectiveTargetMinutesEnteredPercentage?: number;\r\n isWeekend?: boolean;\r\n dayDescription?: DayModifier | undefined;\r\n timeEntryDayApproval?: TimeEntryDayApprovalViewModel | undefined;\r\n dayLockedApproval?: boolean;\r\n dayLockedApprovalComment?: string | undefined;\r\n dayCanBeSubmitted?: boolean;\r\n violatedValidationRules?: AppUserDayValidationRule[] | undefined;\r\n hasViolatedValidationRules?: boolean;\r\n}\r\n\r\nexport class DayModifier implements IDayModifier {\r\n description?: string | undefined;\r\n badgeText?: string | undefined;\r\n isWorkDay?: boolean;\r\n\r\n constructor(data?: IDayModifier) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.badgeText = _data[\"badgeText\"];\r\n this.isWorkDay = _data[\"isWorkDay\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DayModifier {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DayModifier();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"badgeText\"] = this.badgeText;\r\n data[\"isWorkDay\"] = this.isWorkDay;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDayModifier {\r\n description?: string | undefined;\r\n badgeText?: string | undefined;\r\n isWorkDay?: boolean;\r\n}\r\n\r\nexport class TimeEntryDayApprovalViewModel implements ITimeEntryDayApprovalViewModel {\r\n date?: string;\r\n appUser?: AppUserViewModel | undefined;\r\n approvalAppUser?: AppUserViewModel | undefined;\r\n approvalEnum?: TimeEntryDayApprovalEnum;\r\n comment?: string | undefined;\r\n\r\n constructor(data?: ITimeEntryDayApprovalViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.appUser = _data[\"appUser\"] ? AppUserViewModel.fromJS(_data[\"appUser\"]) : undefined;\r\n this.approvalAppUser = _data[\"approvalAppUser\"] ? AppUserViewModel.fromJS(_data[\"approvalAppUser\"]) : undefined;\r\n this.approvalEnum = _data[\"approvalEnum\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryDayApprovalViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryDayApprovalViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"appUser\"] = this.appUser ? this.appUser.toJSON() : undefined;\r\n data[\"approvalAppUser\"] = this.approvalAppUser ? this.approvalAppUser.toJSON() : undefined;\r\n data[\"approvalEnum\"] = this.approvalEnum;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryDayApprovalViewModel {\r\n date?: string;\r\n appUser?: AppUserViewModel | undefined;\r\n approvalAppUser?: AppUserViewModel | undefined;\r\n approvalEnum?: TimeEntryDayApprovalEnum;\r\n comment?: string | undefined;\r\n}\r\n\r\nexport enum TimeEntryDayApprovalEnum {\r\n None = \"None\",\r\n IsSubmitted = \"IsSubmitted\",\r\n IsSubmittedImplicitly = \"IsSubmittedImplicitly\",\r\n IsApproved = \"IsApproved\",\r\n IsDeclined = \"IsDeclined\",\r\n}\r\n\r\nexport class AppUserDayValidationRule implements IAppUserDayValidationRule {\r\n date?: string;\r\n ruleEnum?: AppUserDayValidationRuleEnum;\r\n severity?: TimeEntryWarningSeverity;\r\n ruleDescription?: string | undefined;\r\n\r\n constructor(data?: IAppUserDayValidationRule) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.ruleEnum = _data[\"ruleEnum\"];\r\n this.severity = _data[\"severity\"];\r\n this.ruleDescription = _data[\"ruleDescription\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserDayValidationRule {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserDayValidationRule();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"ruleEnum\"] = this.ruleEnum;\r\n data[\"severity\"] = this.severity;\r\n data[\"ruleDescription\"] = this.ruleDescription;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserDayValidationRule {\r\n date?: string;\r\n ruleEnum?: AppUserDayValidationRuleEnum;\r\n severity?: TimeEntryWarningSeverity;\r\n ruleDescription?: string | undefined;\r\n}\r\n\r\nexport enum AppUserDayValidationRuleEnum {\r\n TimeEntriesOnFreeDay = \"TimeEntriesOnFreeDay\",\r\n TimeEntriesOnSundayOrPublicHoliday = \"TimeEntriesOnSundayOrPublicHoliday\",\r\n TimeEntriesOnAbsenceDay = \"TimeEntriesOnAbsenceDay\",\r\n MaxDailyHoursExceeded = \"MaxDailyHoursExceeded\",\r\n RestTimeUndershot = \"RestTimeUndershot\",\r\n RestTimeValidationNotPossible = \"RestTimeValidationNotPossible\",\r\n NoTimeEntries = \"NoTimeEntries\",\r\n ConflictingTimeEntries = \"ConflictingTimeEntries\",\r\n PauseRuleViolated = \"PauseRuleViolated\",\r\n PauseValidationNotPossible = \"PauseValidationNotPossible\",\r\n}\r\n\r\nexport class TimeAccountYearViewModel implements ITimeAccountYearViewModel {\r\n hasTargetHoursGlobal?: boolean;\r\n year?: number;\r\n appUserMinYear?: number;\r\n timeAccountMonthly?: TimeAccountMonthly[] | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n\r\n constructor(data?: ITimeAccountYearViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hasTargetHoursGlobal = _data[\"hasTargetHoursGlobal\"];\r\n this.year = _data[\"year\"];\r\n this.appUserMinYear = _data[\"appUserMinYear\"];\r\n if (Array.isArray(_data[\"timeAccountMonthly\"])) {\r\n this.timeAccountMonthly = [] as any;\r\n for (let item of _data[\"timeAccountMonthly\"])\r\n this.timeAccountMonthly!.push(TimeAccountMonthly.fromJS(item));\r\n }\r\n this.targetMinutes = _data[\"targetMinutes\"];\r\n this.workingMinutes = _data[\"workingMinutes\"];\r\n this.adjustmentMinutes = _data[\"adjustmentMinutes\"];\r\n this.balanceMinutes = _data[\"balanceMinutes\"];\r\n this.hasTargetHours = _data[\"hasTargetHours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountYearViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountYearViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasTargetHoursGlobal\"] = this.hasTargetHoursGlobal;\r\n data[\"year\"] = this.year;\r\n data[\"appUserMinYear\"] = this.appUserMinYear;\r\n if (Array.isArray(this.timeAccountMonthly)) {\r\n data[\"timeAccountMonthly\"] = [];\r\n for (let item of this.timeAccountMonthly)\r\n data[\"timeAccountMonthly\"].push(item.toJSON());\r\n }\r\n data[\"targetMinutes\"] = this.targetMinutes;\r\n data[\"workingMinutes\"] = this.workingMinutes;\r\n data[\"adjustmentMinutes\"] = this.adjustmentMinutes;\r\n data[\"balanceMinutes\"] = this.balanceMinutes;\r\n data[\"hasTargetHours\"] = this.hasTargetHours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountYearViewModel {\r\n hasTargetHoursGlobal?: boolean;\r\n year?: number;\r\n appUserMinYear?: number;\r\n timeAccountMonthly?: TimeAccountMonthly[] | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n}\r\n\r\nexport class TimeAccountMonthly implements ITimeAccountMonthly {\r\n month?: number;\r\n timeAccountWeekly?: TimeAccountWeekly[] | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n\r\n constructor(data?: ITimeAccountMonthly) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.month = _data[\"month\"];\r\n if (Array.isArray(_data[\"timeAccountWeekly\"])) {\r\n this.timeAccountWeekly = [] as any;\r\n for (let item of _data[\"timeAccountWeekly\"])\r\n this.timeAccountWeekly!.push(TimeAccountWeekly.fromJS(item));\r\n }\r\n this.targetMinutes = _data[\"targetMinutes\"];\r\n this.workingMinutes = _data[\"workingMinutes\"];\r\n this.adjustmentMinutes = _data[\"adjustmentMinutes\"];\r\n this.balanceMinutes = _data[\"balanceMinutes\"];\r\n this.hasTargetHours = _data[\"hasTargetHours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountMonthly {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountMonthly();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"month\"] = this.month;\r\n if (Array.isArray(this.timeAccountWeekly)) {\r\n data[\"timeAccountWeekly\"] = [];\r\n for (let item of this.timeAccountWeekly)\r\n data[\"timeAccountWeekly\"].push(item.toJSON());\r\n }\r\n data[\"targetMinutes\"] = this.targetMinutes;\r\n data[\"workingMinutes\"] = this.workingMinutes;\r\n data[\"adjustmentMinutes\"] = this.adjustmentMinutes;\r\n data[\"balanceMinutes\"] = this.balanceMinutes;\r\n data[\"hasTargetHours\"] = this.hasTargetHours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountMonthly {\r\n month?: number;\r\n timeAccountWeekly?: TimeAccountWeekly[] | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n}\r\n\r\nexport class TimeAccountWeekly implements ITimeAccountWeekly {\r\n weekNumber?: number;\r\n timeAccountDaily?: TimeAccountDaily[] | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n isVirtual?: boolean;\r\n\r\n constructor(data?: ITimeAccountWeekly) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.weekNumber = _data[\"weekNumber\"];\r\n if (Array.isArray(_data[\"timeAccountDaily\"])) {\r\n this.timeAccountDaily = [] as any;\r\n for (let item of _data[\"timeAccountDaily\"])\r\n this.timeAccountDaily!.push(TimeAccountDaily.fromJS(item));\r\n }\r\n this.targetMinutes = _data[\"targetMinutes\"];\r\n this.workingMinutes = _data[\"workingMinutes\"];\r\n this.adjustmentMinutes = _data[\"adjustmentMinutes\"];\r\n this.balanceMinutes = _data[\"balanceMinutes\"];\r\n this.hasTargetHours = _data[\"hasTargetHours\"];\r\n this.isVirtual = _data[\"isVirtual\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountWeekly {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountWeekly();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"weekNumber\"] = this.weekNumber;\r\n if (Array.isArray(this.timeAccountDaily)) {\r\n data[\"timeAccountDaily\"] = [];\r\n for (let item of this.timeAccountDaily)\r\n data[\"timeAccountDaily\"].push(item.toJSON());\r\n }\r\n data[\"targetMinutes\"] = this.targetMinutes;\r\n data[\"workingMinutes\"] = this.workingMinutes;\r\n data[\"adjustmentMinutes\"] = this.adjustmentMinutes;\r\n data[\"balanceMinutes\"] = this.balanceMinutes;\r\n data[\"hasTargetHours\"] = this.hasTargetHours;\r\n data[\"isVirtual\"] = this.isVirtual;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountWeekly {\r\n weekNumber?: number;\r\n timeAccountDaily?: TimeAccountDaily[] | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n isVirtual?: boolean;\r\n}\r\n\r\nexport class TimeAccountDaily implements ITimeAccountDaily {\r\n date?: string;\r\n dayInMonth?: number;\r\n month?: number;\r\n dayOfWeek?: number;\r\n timeAdjustments?: TimeAdjustmentViewModel[] | undefined;\r\n isVirtual?: boolean;\r\n dayDescription?: DayModifier | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n\r\n constructor(data?: ITimeAccountDaily) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.dayInMonth = _data[\"dayInMonth\"];\r\n this.month = _data[\"month\"];\r\n this.dayOfWeek = _data[\"dayOfWeek\"];\r\n if (Array.isArray(_data[\"timeAdjustments\"])) {\r\n this.timeAdjustments = [] as any;\r\n for (let item of _data[\"timeAdjustments\"])\r\n this.timeAdjustments!.push(TimeAdjustmentViewModel.fromJS(item));\r\n }\r\n this.isVirtual = _data[\"isVirtual\"];\r\n this.dayDescription = _data[\"dayDescription\"] ? DayModifier.fromJS(_data[\"dayDescription\"]) : undefined;\r\n this.targetMinutes = _data[\"targetMinutes\"];\r\n this.workingMinutes = _data[\"workingMinutes\"];\r\n this.adjustmentMinutes = _data[\"adjustmentMinutes\"];\r\n this.balanceMinutes = _data[\"balanceMinutes\"];\r\n this.hasTargetHours = _data[\"hasTargetHours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountDaily {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountDaily();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"dayInMonth\"] = this.dayInMonth;\r\n data[\"month\"] = this.month;\r\n data[\"dayOfWeek\"] = this.dayOfWeek;\r\n if (Array.isArray(this.timeAdjustments)) {\r\n data[\"timeAdjustments\"] = [];\r\n for (let item of this.timeAdjustments)\r\n data[\"timeAdjustments\"].push(item.toJSON());\r\n }\r\n data[\"isVirtual\"] = this.isVirtual;\r\n data[\"dayDescription\"] = this.dayDescription ? this.dayDescription.toJSON() : undefined;\r\n data[\"targetMinutes\"] = this.targetMinutes;\r\n data[\"workingMinutes\"] = this.workingMinutes;\r\n data[\"adjustmentMinutes\"] = this.adjustmentMinutes;\r\n data[\"balanceMinutes\"] = this.balanceMinutes;\r\n data[\"hasTargetHours\"] = this.hasTargetHours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountDaily {\r\n date?: string;\r\n dayInMonth?: number;\r\n month?: number;\r\n dayOfWeek?: number;\r\n timeAdjustments?: TimeAdjustmentViewModel[] | undefined;\r\n isVirtual?: boolean;\r\n dayDescription?: DayModifier | undefined;\r\n targetMinutes?: number;\r\n workingMinutes?: number;\r\n adjustmentMinutes?: number;\r\n balanceMinutes?: number;\r\n hasTargetHours?: boolean;\r\n}\r\n\r\nexport class TimeAdjustmentViewModel implements ITimeAdjustmentViewModel {\r\n id?: number;\r\n entryDate?: string;\r\n durationMinutes?: number;\r\n comment?: string | undefined;\r\n\r\n constructor(data?: ITimeAdjustmentViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.entryDate = _data[\"entryDate\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAdjustmentViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAdjustmentViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"entryDate\"] = this.entryDate;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAdjustmentViewModel {\r\n id?: number;\r\n entryDate?: string;\r\n durationMinutes?: number;\r\n comment?: string | undefined;\r\n}\r\n\r\nexport class TimeAccountSummaryModel implements ITimeAccountSummaryModel {\r\n hasTargetHoursGlobal?: boolean;\r\n balanceOverall?: TimeAccountBalance | undefined;\r\n\r\n constructor(data?: ITimeAccountSummaryModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hasTargetHoursGlobal = _data[\"hasTargetHoursGlobal\"];\r\n this.balanceOverall = _data[\"balanceOverall\"] ? TimeAccountBalance.fromJS(_data[\"balanceOverall\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountSummaryModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountSummaryModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasTargetHoursGlobal\"] = this.hasTargetHoursGlobal;\r\n data[\"balanceOverall\"] = this.balanceOverall ? this.balanceOverall.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountSummaryModel {\r\n hasTargetHoursGlobal?: boolean;\r\n balanceOverall?: TimeAccountBalance | undefined;\r\n}\r\n\r\nexport class TimeAccountBalance implements ITimeAccountBalance {\r\n durationMinutesTarget?: number;\r\n durationMinutesWork?: number;\r\n durationMinutesAdjustment?: number;\r\n durationMinutesBalance?: number;\r\n\r\n constructor(data?: ITimeAccountBalance) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.durationMinutesTarget = _data[\"durationMinutesTarget\"];\r\n this.durationMinutesWork = _data[\"durationMinutesWork\"];\r\n this.durationMinutesAdjustment = _data[\"durationMinutesAdjustment\"];\r\n this.durationMinutesBalance = _data[\"durationMinutesBalance\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountBalance {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountBalance();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"durationMinutesTarget\"] = this.durationMinutesTarget;\r\n data[\"durationMinutesWork\"] = this.durationMinutesWork;\r\n data[\"durationMinutesAdjustment\"] = this.durationMinutesAdjustment;\r\n data[\"durationMinutesBalance\"] = this.durationMinutesBalance;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountBalance {\r\n durationMinutesTarget?: number;\r\n durationMinutesWork?: number;\r\n durationMinutesAdjustment?: number;\r\n durationMinutesBalance?: number;\r\n}\r\n\r\nexport class TimeAccountUserViewModel implements ITimeAccountUserViewModel {\r\n name?: string | undefined;\r\n useTargetHours?: boolean;\r\n currentHistoryEntry?: AppUserHistoryViewModel | undefined;\r\n\r\n constructor(data?: ITimeAccountUserViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.useTargetHours = _data[\"useTargetHours\"];\r\n this.currentHistoryEntry = _data[\"currentHistoryEntry\"] ? AppUserHistoryViewModel.fromJS(_data[\"currentHistoryEntry\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountUserViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountUserViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"useTargetHours\"] = this.useTargetHours;\r\n data[\"currentHistoryEntry\"] = this.currentHistoryEntry ? this.currentHistoryEntry.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountUserViewModel {\r\n name?: string | undefined;\r\n useTargetHours?: boolean;\r\n currentHistoryEntry?: AppUserHistoryViewModel | undefined;\r\n}\r\n\r\nexport class AppUserHistoryViewModel implements IAppUserHistoryViewModel {\r\n id?: string;\r\n weeklyWorkHours?: number;\r\n dailyWorkHours?: WorkHoursDay[] | undefined;\r\n validFrom?: string;\r\n\r\n constructor(data?: IAppUserHistoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.weeklyWorkHours = _data[\"weeklyWorkHours\"];\r\n if (Array.isArray(_data[\"dailyWorkHours\"])) {\r\n this.dailyWorkHours = [] as any;\r\n for (let item of _data[\"dailyWorkHours\"])\r\n this.dailyWorkHours!.push(WorkHoursDay.fromJS(item));\r\n }\r\n this.validFrom = _data[\"validFrom\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppUserHistoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppUserHistoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"weeklyWorkHours\"] = this.weeklyWorkHours;\r\n if (Array.isArray(this.dailyWorkHours)) {\r\n data[\"dailyWorkHours\"] = [];\r\n for (let item of this.dailyWorkHours)\r\n data[\"dailyWorkHours\"].push(item.toJSON());\r\n }\r\n data[\"validFrom\"] = this.validFrom;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppUserHistoryViewModel {\r\n id?: string;\r\n weeklyWorkHours?: number;\r\n dailyWorkHours?: WorkHoursDay[] | undefined;\r\n validFrom?: string;\r\n}\r\n\r\nexport class TimeAccountSummaryTimeEntryPageModel implements ITimeAccountSummaryTimeEntryPageModel {\r\n dateTo?: string;\r\n balanceWeek?: TimeAccountBalance | undefined;\r\n balanceOverall?: TimeAccountBalance | undefined;\r\n hasTargetHoursGlobal?: boolean;\r\n displayOvertimeIsNotApprovedWarning?: boolean;\r\n overtimeIsApproved?: boolean;\r\n overtimeIsApprovedComment?: string | undefined;\r\n currentWeekAppUserDays?: WeekAppUserDay[] | undefined;\r\n\r\n constructor(data?: ITimeAccountSummaryTimeEntryPageModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dateTo = _data[\"dateTo\"];\r\n this.balanceWeek = _data[\"balanceWeek\"] ? TimeAccountBalance.fromJS(_data[\"balanceWeek\"]) : undefined;\r\n this.balanceOverall = _data[\"balanceOverall\"] ? TimeAccountBalance.fromJS(_data[\"balanceOverall\"]) : undefined;\r\n this.hasTargetHoursGlobal = _data[\"hasTargetHoursGlobal\"];\r\n this.displayOvertimeIsNotApprovedWarning = _data[\"displayOvertimeIsNotApprovedWarning\"];\r\n this.overtimeIsApproved = _data[\"overtimeIsApproved\"];\r\n this.overtimeIsApprovedComment = _data[\"overtimeIsApprovedComment\"];\r\n if (Array.isArray(_data[\"currentWeekAppUserDays\"])) {\r\n this.currentWeekAppUserDays = [] as any;\r\n for (let item of _data[\"currentWeekAppUserDays\"])\r\n this.currentWeekAppUserDays!.push(WeekAppUserDay.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountSummaryTimeEntryPageModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountSummaryTimeEntryPageModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dateTo\"] = this.dateTo;\r\n data[\"balanceWeek\"] = this.balanceWeek ? this.balanceWeek.toJSON() : undefined;\r\n data[\"balanceOverall\"] = this.balanceOverall ? this.balanceOverall.toJSON() : undefined;\r\n data[\"hasTargetHoursGlobal\"] = this.hasTargetHoursGlobal;\r\n data[\"displayOvertimeIsNotApprovedWarning\"] = this.displayOvertimeIsNotApprovedWarning;\r\n data[\"overtimeIsApproved\"] = this.overtimeIsApproved;\r\n data[\"overtimeIsApprovedComment\"] = this.overtimeIsApprovedComment;\r\n if (Array.isArray(this.currentWeekAppUserDays)) {\r\n data[\"currentWeekAppUserDays\"] = [];\r\n for (let item of this.currentWeekAppUserDays)\r\n data[\"currentWeekAppUserDays\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountSummaryTimeEntryPageModel {\r\n dateTo?: string;\r\n balanceWeek?: TimeAccountBalance | undefined;\r\n balanceOverall?: TimeAccountBalance | undefined;\r\n hasTargetHoursGlobal?: boolean;\r\n displayOvertimeIsNotApprovedWarning?: boolean;\r\n overtimeIsApproved?: boolean;\r\n overtimeIsApprovedComment?: string | undefined;\r\n currentWeekAppUserDays?: WeekAppUserDay[] | undefined;\r\n}\r\n\r\nexport class WeekAppUserDay implements IWeekAppUserDay {\r\n date?: string;\r\n balanceMinutes?: number;\r\n targetMinutes?: number;\r\n durationMinutes?: number;\r\n\r\n constructor(data?: IWeekAppUserDay) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.balanceMinutes = _data[\"balanceMinutes\"];\r\n this.targetMinutes = _data[\"targetMinutes\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WeekAppUserDay {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WeekAppUserDay();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"balanceMinutes\"] = this.balanceMinutes;\r\n data[\"targetMinutes\"] = this.targetMinutes;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWeekAppUserDay {\r\n date?: string;\r\n balanceMinutes?: number;\r\n targetMinutes?: number;\r\n durationMinutes?: number;\r\n}\r\n\r\nexport class TimeAccountSummaryQuery implements ITimeAccountSummaryQuery {\r\n date?: string;\r\n appUserId?: number | undefined;\r\n\r\n constructor(data?: ITimeAccountSummaryQuery) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountSummaryQuery {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountSummaryQuery();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"appUserId\"] = this.appUserId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountSummaryQuery {\r\n date?: string;\r\n appUserId?: number | undefined;\r\n}\r\n\r\nexport class TimeAccountTeamWeeklyOverviewModel implements ITimeAccountTeamWeeklyOverviewModel {\r\n appUserModels?: TimeAccountTeamAppUserModel[] | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n weeks?: WeekModel[] | undefined;\r\n\r\n constructor(data?: ITimeAccountTeamWeeklyOverviewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"appUserModels\"])) {\r\n this.appUserModels = [] as any;\r\n for (let item of _data[\"appUserModels\"])\r\n this.appUserModels!.push(TimeAccountTeamAppUserModel.fromJS(item));\r\n }\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n if (Array.isArray(_data[\"weeks\"])) {\r\n this.weeks = [] as any;\r\n for (let item of _data[\"weeks\"])\r\n this.weeks!.push(WeekModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountTeamWeeklyOverviewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountTeamWeeklyOverviewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.appUserModels)) {\r\n data[\"appUserModels\"] = [];\r\n for (let item of this.appUserModels)\r\n data[\"appUserModels\"].push(item.toJSON());\r\n }\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n if (Array.isArray(this.weeks)) {\r\n data[\"weeks\"] = [];\r\n for (let item of this.weeks)\r\n data[\"weeks\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountTeamWeeklyOverviewModel {\r\n appUserModels?: TimeAccountTeamAppUserModel[] | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n weeks?: WeekModel[] | undefined;\r\n}\r\n\r\nexport class TimeAccountTeamAppUserModel implements ITimeAccountTeamAppUserModel {\r\n appUser?: AppUserViewModel | undefined;\r\n weeks?: TimeAccountTeamWeeklyOverviewWeekModel[] | undefined;\r\n overallBalance?: TimeAccountBalance | undefined;\r\n\r\n constructor(data?: ITimeAccountTeamAppUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUser = _data[\"appUser\"] ? AppUserViewModel.fromJS(_data[\"appUser\"]) : undefined;\r\n if (Array.isArray(_data[\"weeks\"])) {\r\n this.weeks = [] as any;\r\n for (let item of _data[\"weeks\"])\r\n this.weeks!.push(TimeAccountTeamWeeklyOverviewWeekModel.fromJS(item));\r\n }\r\n this.overallBalance = _data[\"overallBalance\"] ? TimeAccountBalance.fromJS(_data[\"overallBalance\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountTeamAppUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountTeamAppUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUser\"] = this.appUser ? this.appUser.toJSON() : undefined;\r\n if (Array.isArray(this.weeks)) {\r\n data[\"weeks\"] = [];\r\n for (let item of this.weeks)\r\n data[\"weeks\"].push(item.toJSON());\r\n }\r\n data[\"overallBalance\"] = this.overallBalance ? this.overallBalance.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountTeamAppUserModel {\r\n appUser?: AppUserViewModel | undefined;\r\n weeks?: TimeAccountTeamWeeklyOverviewWeekModel[] | undefined;\r\n overallBalance?: TimeAccountBalance | undefined;\r\n}\r\n\r\nexport class TimeAccountTeamWeeklyOverviewWeekModel implements ITimeAccountTeamWeeklyOverviewWeekModel {\r\n weekName?: string | undefined;\r\n balance?: TimeAccountBalance | undefined;\r\n overtimeIsApproved?: boolean;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n hasWeekData?: boolean;\r\n overtimeIsApprovedComment?: string | undefined;\r\n displayOvertimeIsNotApprovedWarning?: boolean;\r\n\r\n constructor(data?: ITimeAccountTeamWeeklyOverviewWeekModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.weekName = _data[\"weekName\"];\r\n this.balance = _data[\"balance\"] ? TimeAccountBalance.fromJS(_data[\"balance\"]) : undefined;\r\n this.overtimeIsApproved = _data[\"overtimeIsApproved\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n this.hasWeekData = _data[\"hasWeekData\"];\r\n this.overtimeIsApprovedComment = _data[\"overtimeIsApprovedComment\"];\r\n this.displayOvertimeIsNotApprovedWarning = _data[\"displayOvertimeIsNotApprovedWarning\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountTeamWeeklyOverviewWeekModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountTeamWeeklyOverviewWeekModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"weekName\"] = this.weekName;\r\n data[\"balance\"] = this.balance ? this.balance.toJSON() : undefined;\r\n data[\"overtimeIsApproved\"] = this.overtimeIsApproved;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n data[\"hasWeekData\"] = this.hasWeekData;\r\n data[\"overtimeIsApprovedComment\"] = this.overtimeIsApprovedComment;\r\n data[\"displayOvertimeIsNotApprovedWarning\"] = this.displayOvertimeIsNotApprovedWarning;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountTeamWeeklyOverviewWeekModel {\r\n weekName?: string | undefined;\r\n balance?: TimeAccountBalance | undefined;\r\n overtimeIsApproved?: boolean;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n hasWeekData?: boolean;\r\n overtimeIsApprovedComment?: string | undefined;\r\n displayOvertimeIsNotApprovedWarning?: boolean;\r\n}\r\n\r\nexport class WeekModel implements IWeekModel {\r\n weekStart?: string;\r\n weekEnd?: string;\r\n weekName?: string | undefined;\r\n\r\n constructor(data?: IWeekModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.weekStart = _data[\"weekStart\"];\r\n this.weekEnd = _data[\"weekEnd\"];\r\n this.weekName = _data[\"weekName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WeekModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WeekModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"weekStart\"] = this.weekStart;\r\n data[\"weekEnd\"] = this.weekEnd;\r\n data[\"weekName\"] = this.weekName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWeekModel {\r\n weekStart?: string;\r\n weekEnd?: string;\r\n weekName?: string | undefined;\r\n}\r\n\r\nexport class TimeAccountTeamWeeklyOverviewQuery implements ITimeAccountTeamWeeklyOverviewQuery {\r\n date?: string;\r\n\r\n constructor(data?: ITimeAccountTeamWeeklyOverviewQuery) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountTeamWeeklyOverviewQuery {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountTeamWeeklyOverviewQuery();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountTeamWeeklyOverviewQuery {\r\n date?: string;\r\n}\r\n\r\nexport class TimeAccountWeekOvertimeApproveCommand implements ITimeAccountWeekOvertimeApproveCommand {\r\n weekStartDate?: string;\r\n appUserId?: number;\r\n comment?: string | undefined;\r\n\r\n constructor(data?: ITimeAccountWeekOvertimeApproveCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.weekStartDate = _data[\"weekStartDate\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAccountWeekOvertimeApproveCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAccountWeekOvertimeApproveCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"weekStartDate\"] = this.weekStartDate;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAccountWeekOvertimeApproveCommand {\r\n weekStartDate?: string;\r\n appUserId?: number;\r\n comment?: string | undefined;\r\n}\r\n\r\nexport class TimeAdjustmentEditModel implements ITimeAdjustmentEditModel {\r\n id?: number;\r\n entryDate?: string;\r\n durationMinutes?: number;\r\n comment?: string | undefined;\r\n appUserId?: number;\r\n\r\n constructor(data?: ITimeAdjustmentEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.entryDate = _data[\"entryDate\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.comment = _data[\"comment\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAdjustmentEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAdjustmentEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"entryDate\"] = this.entryDate;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"comment\"] = this.comment;\r\n data[\"appUserId\"] = this.appUserId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAdjustmentEditModel {\r\n id?: number;\r\n entryDate?: string;\r\n durationMinutes?: number;\r\n comment?: string | undefined;\r\n appUserId?: number;\r\n}\r\n\r\nexport class TimeAdjustmentFilter implements ITimeAdjustmentFilter {\r\n id?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n ids?: number[] | undefined;\r\n appUserIds?: number[] | undefined;\r\n\r\n constructor(data?: ITimeAdjustmentFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n if (Array.isArray(_data[\"ids\"])) {\r\n this.ids = [] as any;\r\n for (let item of _data[\"ids\"])\r\n this.ids!.push(item);\r\n }\r\n if (Array.isArray(_data[\"appUserIds\"])) {\r\n this.appUserIds = [] as any;\r\n for (let item of _data[\"appUserIds\"])\r\n this.appUserIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeAdjustmentFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeAdjustmentFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n if (Array.isArray(this.ids)) {\r\n data[\"ids\"] = [];\r\n for (let item of this.ids)\r\n data[\"ids\"].push(item);\r\n }\r\n if (Array.isArray(this.appUserIds)) {\r\n data[\"appUserIds\"] = [];\r\n for (let item of this.appUserIds)\r\n data[\"appUserIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeAdjustmentFilter {\r\n id?: number | undefined;\r\n dateFrom?: string | undefined;\r\n dateTo?: string | undefined;\r\n ids?: number[] | undefined;\r\n appUserIds?: number[] | undefined;\r\n}\r\n\r\nexport class TimeEntrySelectLists implements ITimeEntrySelectLists {\r\n projects?: TimeEntrySelectListItemGroup[] | undefined;\r\n projectTasks?: TimeEntrySelectListItem[] | undefined;\r\n userRates?: StSelectListItem[] | undefined;\r\n globalRates?: StSelectListItem[] | undefined;\r\n\r\n constructor(data?: ITimeEntrySelectLists) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"projects\"])) {\r\n this.projects = [] as any;\r\n for (let item of _data[\"projects\"])\r\n this.projects!.push(TimeEntrySelectListItemGroup.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"projectTasks\"])) {\r\n this.projectTasks = [] as any;\r\n for (let item of _data[\"projectTasks\"])\r\n this.projectTasks!.push(TimeEntrySelectListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userRates\"])) {\r\n this.userRates = [] as any;\r\n for (let item of _data[\"userRates\"])\r\n this.userRates!.push(StSelectListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"globalRates\"])) {\r\n this.globalRates = [] as any;\r\n for (let item of _data[\"globalRates\"])\r\n this.globalRates!.push(StSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntrySelectLists {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntrySelectLists();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.projects)) {\r\n data[\"projects\"] = [];\r\n for (let item of this.projects)\r\n data[\"projects\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.projectTasks)) {\r\n data[\"projectTasks\"] = [];\r\n for (let item of this.projectTasks)\r\n data[\"projectTasks\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userRates)) {\r\n data[\"userRates\"] = [];\r\n for (let item of this.userRates)\r\n data[\"userRates\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.globalRates)) {\r\n data[\"globalRates\"] = [];\r\n for (let item of this.globalRates)\r\n data[\"globalRates\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntrySelectLists {\r\n projects?: TimeEntrySelectListItemGroup[] | undefined;\r\n projectTasks?: TimeEntrySelectListItem[] | undefined;\r\n userRates?: StSelectListItem[] | undefined;\r\n globalRates?: StSelectListItem[] | undefined;\r\n}\r\n\r\nexport class TimeEntrySelectListItemGroup implements ITimeEntrySelectListItemGroup {\r\n groupName?: string | undefined;\r\n items?: TimeEntrySelectListItem[] | undefined;\r\n\r\n constructor(data?: ITimeEntrySelectListItemGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.groupName = _data[\"groupName\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(TimeEntrySelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntrySelectListItemGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntrySelectListItemGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"groupName\"] = this.groupName;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntrySelectListItemGroup {\r\n groupName?: string | undefined;\r\n items?: TimeEntrySelectListItem[] | undefined;\r\n}\r\n\r\nexport class TimeEntrySelectListItem implements ITimeEntrySelectListItem {\r\n id?: number;\r\n description?: string | undefined;\r\n rates?: StSelectListItem[] | undefined;\r\n\r\n constructor(data?: ITimeEntrySelectListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n if (Array.isArray(_data[\"rates\"])) {\r\n this.rates = [] as any;\r\n for (let item of _data[\"rates\"])\r\n this.rates!.push(StSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntrySelectListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntrySelectListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n if (Array.isArray(this.rates)) {\r\n data[\"rates\"] = [];\r\n for (let item of this.rates)\r\n data[\"rates\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntrySelectListItem {\r\n id?: number;\r\n description?: string | undefined;\r\n rates?: StSelectListItem[] | undefined;\r\n}\r\n\r\nexport class TimeEntryPauseRuleModel implements ITimeEntryPauseRuleModel {\r\n appUserId?: number;\r\n maxDurationMinutesPerDay?: number;\r\n pauseSingleRules?: TimeEntryPauseSingleRule[] | undefined;\r\n\r\n constructor(data?: ITimeEntryPauseRuleModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUserId = _data[\"appUserId\"];\r\n this.maxDurationMinutesPerDay = _data[\"maxDurationMinutesPerDay\"];\r\n if (Array.isArray(_data[\"pauseSingleRules\"])) {\r\n this.pauseSingleRules = [] as any;\r\n for (let item of _data[\"pauseSingleRules\"])\r\n this.pauseSingleRules!.push(TimeEntryPauseSingleRule.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryPauseRuleModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryPauseRuleModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"maxDurationMinutesPerDay\"] = this.maxDurationMinutesPerDay;\r\n if (Array.isArray(this.pauseSingleRules)) {\r\n data[\"pauseSingleRules\"] = [];\r\n for (let item of this.pauseSingleRules)\r\n data[\"pauseSingleRules\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryPauseRuleModel {\r\n appUserId?: number;\r\n maxDurationMinutesPerDay?: number;\r\n pauseSingleRules?: TimeEntryPauseSingleRule[] | undefined;\r\n}\r\n\r\nexport class TimeEntryPauseSingleRule implements ITimeEntryPauseSingleRule {\r\n durationMinutesFrom?: number;\r\n durationMinutesTo?: number;\r\n durationMinutesMinPause?: number;\r\n\r\n constructor(data?: ITimeEntryPauseSingleRule) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.durationMinutesFrom = _data[\"durationMinutesFrom\"];\r\n this.durationMinutesTo = _data[\"durationMinutesTo\"];\r\n this.durationMinutesMinPause = _data[\"durationMinutesMinPause\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryPauseSingleRule {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryPauseSingleRule();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"durationMinutesFrom\"] = this.durationMinutesFrom;\r\n data[\"durationMinutesTo\"] = this.durationMinutesTo;\r\n data[\"durationMinutesMinPause\"] = this.durationMinutesMinPause;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryPauseSingleRule {\r\n durationMinutesFrom?: number;\r\n durationMinutesTo?: number;\r\n durationMinutesMinPause?: number;\r\n}\r\n\r\nexport class TimeEntryDay implements ITimeEntryDay {\r\n entryDay?: string;\r\n durationMinutes?: number;\r\n revenue?: number;\r\n revenueNotBillable?: number;\r\n timeEntries?: TimeEntryViewModel[] | undefined;\r\n disabledReason?: string | undefined;\r\n isDisabled?: boolean;\r\n appUserDay?: AppUserDayViewModel | undefined;\r\n\r\n constructor(data?: ITimeEntryDay) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.entryDay = _data[\"entryDay\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.revenue = _data[\"revenue\"];\r\n this.revenueNotBillable = _data[\"revenueNotBillable\"];\r\n if (Array.isArray(_data[\"timeEntries\"])) {\r\n this.timeEntries = [] as any;\r\n for (let item of _data[\"timeEntries\"])\r\n this.timeEntries!.push(TimeEntryViewModel.fromJS(item));\r\n }\r\n this.disabledReason = _data[\"disabledReason\"];\r\n this.isDisabled = _data[\"isDisabled\"];\r\n this.appUserDay = _data[\"appUserDay\"] ? AppUserDayViewModel.fromJS(_data[\"appUserDay\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryDay {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryDay();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"entryDay\"] = this.entryDay;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"revenue\"] = this.revenue;\r\n data[\"revenueNotBillable\"] = this.revenueNotBillable;\r\n if (Array.isArray(this.timeEntries)) {\r\n data[\"timeEntries\"] = [];\r\n for (let item of this.timeEntries)\r\n data[\"timeEntries\"].push(item.toJSON());\r\n }\r\n data[\"disabledReason\"] = this.disabledReason;\r\n data[\"isDisabled\"] = this.isDisabled;\r\n data[\"appUserDay\"] = this.appUserDay ? this.appUserDay.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryDay {\r\n entryDay?: string;\r\n durationMinutes?: number;\r\n revenue?: number;\r\n revenueNotBillable?: number;\r\n timeEntries?: TimeEntryViewModel[] | undefined;\r\n disabledReason?: string | undefined;\r\n isDisabled?: boolean;\r\n appUserDay?: AppUserDayViewModel | undefined;\r\n}\r\n\r\nexport class TeamOverviewApprovalModel implements ITeamOverviewApprovalModel {\r\n appUserModels?: TeamOverviewApprovalAppUserModel[] | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n\r\n constructor(data?: ITeamOverviewApprovalModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"appUserModels\"])) {\r\n this.appUserModels = [] as any;\r\n for (let item of _data[\"appUserModels\"])\r\n this.appUserModels!.push(TeamOverviewApprovalAppUserModel.fromJS(item));\r\n }\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamOverviewApprovalModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamOverviewApprovalModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.appUserModels)) {\r\n data[\"appUserModels\"] = [];\r\n for (let item of this.appUserModels)\r\n data[\"appUserModels\"].push(item.toJSON());\r\n }\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamOverviewApprovalModel {\r\n appUserModels?: TeamOverviewApprovalAppUserModel[] | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n}\r\n\r\nexport class TeamOverviewApprovalAppUserModel implements ITeamOverviewApprovalAppUserModel {\r\n appUser?: AppUserViewModel | undefined;\r\n timeFrameModels?: TeamOverviewApprovalAppUserTimeFrameModel[] | undefined;\r\n\r\n constructor(data?: ITeamOverviewApprovalAppUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appUser = _data[\"appUser\"] ? AppUserViewModel.fromJS(_data[\"appUser\"]) : undefined;\r\n if (Array.isArray(_data[\"timeFrameModels\"])) {\r\n this.timeFrameModels = [] as any;\r\n for (let item of _data[\"timeFrameModels\"])\r\n this.timeFrameModels!.push(TeamOverviewApprovalAppUserTimeFrameModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamOverviewApprovalAppUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamOverviewApprovalAppUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appUser\"] = this.appUser ? this.appUser.toJSON() : undefined;\r\n if (Array.isArray(this.timeFrameModels)) {\r\n data[\"timeFrameModels\"] = [];\r\n for (let item of this.timeFrameModels)\r\n data[\"timeFrameModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamOverviewApprovalAppUserModel {\r\n appUser?: AppUserViewModel | undefined;\r\n timeFrameModels?: TeamOverviewApprovalAppUserTimeFrameModel[] | undefined;\r\n}\r\n\r\nexport class TeamOverviewApprovalAppUserTimeFrameModel implements ITeamOverviewApprovalAppUserTimeFrameModel {\r\n timeFrameName?: string | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n appUserDays?: AppUserDayViewModel[] | undefined;\r\n\r\n constructor(data?: ITeamOverviewApprovalAppUserTimeFrameModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timeFrameName = _data[\"timeFrameName\"];\r\n this.dateFrom = _data[\"dateFrom\"];\r\n this.dateTo = _data[\"dateTo\"];\r\n if (Array.isArray(_data[\"appUserDays\"])) {\r\n this.appUserDays = [] as any;\r\n for (let item of _data[\"appUserDays\"])\r\n this.appUserDays!.push(AppUserDayViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamOverviewApprovalAppUserTimeFrameModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamOverviewApprovalAppUserTimeFrameModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timeFrameName\"] = this.timeFrameName;\r\n data[\"dateFrom\"] = this.dateFrom;\r\n data[\"dateTo\"] = this.dateTo;\r\n if (Array.isArray(this.appUserDays)) {\r\n data[\"appUserDays\"] = [];\r\n for (let item of this.appUserDays)\r\n data[\"appUserDays\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamOverviewApprovalAppUserTimeFrameModel {\r\n timeFrameName?: string | undefined;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n appUserDays?: AppUserDayViewModel[] | undefined;\r\n}\r\n\r\nexport class TimeEntryDayApprovalEditModel implements ITimeEntryDayApprovalEditModel {\r\n date?: string;\r\n appUserId?: number;\r\n approvalEnum?: TimeEntryDayApprovalEnum;\r\n comment?: string | undefined;\r\n approvalMode?: string | undefined;\r\n\r\n constructor(data?: ITimeEntryDayApprovalEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.appUserId = _data[\"appUserId\"];\r\n this.approvalEnum = _data[\"approvalEnum\"];\r\n this.comment = _data[\"comment\"];\r\n this.approvalMode = _data[\"approvalMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryDayApprovalEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryDayApprovalEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"appUserId\"] = this.appUserId;\r\n data[\"approvalEnum\"] = this.approvalEnum;\r\n data[\"comment\"] = this.comment;\r\n data[\"approvalMode\"] = this.approvalMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryDayApprovalEditModel {\r\n date?: string;\r\n appUserId?: number;\r\n approvalEnum?: TimeEntryDayApprovalEnum;\r\n comment?: string | undefined;\r\n approvalMode?: string | undefined;\r\n}\r\n\r\nexport class TimeEntryExtraFieldDataTypeSelectItem implements ITimeEntryExtraFieldDataTypeSelectItem {\r\n enumVal?: TimeEntryExtraFieldDataTypeEnum;\r\n description?: string | undefined;\r\n\r\n constructor(data?: ITimeEntryExtraFieldDataTypeSelectItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enumVal = _data[\"enumVal\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryExtraFieldDataTypeSelectItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryExtraFieldDataTypeSelectItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enumVal\"] = this.enumVal;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryExtraFieldDataTypeSelectItem {\r\n enumVal?: TimeEntryExtraFieldDataTypeEnum;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class TimeEntryExtraFieldMetadataEditModel implements ITimeEntryExtraFieldMetadataEditModel {\r\n id?: number;\r\n isActive?: boolean;\r\n description?: string | undefined;\r\n toolTip?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n isRequired?: boolean;\r\n selectionValues?: string | undefined;\r\n hideInDayView?: boolean;\r\n\r\n constructor(data?: ITimeEntryExtraFieldMetadataEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.description = _data[\"description\"];\r\n this.toolTip = _data[\"toolTip\"];\r\n this.dataType = _data[\"dataType\"];\r\n this.isRequired = _data[\"isRequired\"];\r\n this.selectionValues = _data[\"selectionValues\"];\r\n this.hideInDayView = _data[\"hideInDayView\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryExtraFieldMetadataEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryExtraFieldMetadataEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"description\"] = this.description;\r\n data[\"toolTip\"] = this.toolTip;\r\n data[\"dataType\"] = this.dataType;\r\n data[\"isRequired\"] = this.isRequired;\r\n data[\"selectionValues\"] = this.selectionValues;\r\n data[\"hideInDayView\"] = this.hideInDayView;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryExtraFieldMetadataEditModel {\r\n id?: number;\r\n isActive?: boolean;\r\n description?: string | undefined;\r\n toolTip?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n isRequired?: boolean;\r\n selectionValues?: string | undefined;\r\n hideInDayView?: boolean;\r\n}\r\n\r\nexport class TimeEntryExtraFieldMetadataViewModel implements ITimeEntryExtraFieldMetadataViewModel {\r\n id?: number;\r\n isActive?: boolean;\r\n description?: string | undefined;\r\n toolTip?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n dataTypeDescription?: string | undefined;\r\n isRequired?: boolean;\r\n hideInDayView?: boolean;\r\n\r\n constructor(data?: ITimeEntryExtraFieldMetadataViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.description = _data[\"description\"];\r\n this.toolTip = _data[\"toolTip\"];\r\n this.dataType = _data[\"dataType\"];\r\n this.dataTypeDescription = _data[\"dataTypeDescription\"];\r\n this.isRequired = _data[\"isRequired\"];\r\n this.hideInDayView = _data[\"hideInDayView\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeEntryExtraFieldMetadataViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeEntryExtraFieldMetadataViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"description\"] = this.description;\r\n data[\"toolTip\"] = this.toolTip;\r\n data[\"dataType\"] = this.dataType;\r\n data[\"dataTypeDescription\"] = this.dataTypeDescription;\r\n data[\"isRequired\"] = this.isRequired;\r\n data[\"hideInDayView\"] = this.hideInDayView;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeEntryExtraFieldMetadataViewModel {\r\n id?: number;\r\n isActive?: boolean;\r\n description?: string | undefined;\r\n toolTip?: string | undefined;\r\n dataType?: TimeEntryExtraFieldDataTypeEnum;\r\n dataTypeDescription?: string | undefined;\r\n isRequired?: boolean;\r\n hideInDayView?: boolean;\r\n}\r\n\r\nexport class TransferAccountModel implements ITransferAccountModel {\r\n guid?: string;\r\n final?: boolean;\r\n\r\n constructor(data?: ITransferAccountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.guid = _data[\"guid\"];\r\n this.final = _data[\"final\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TransferAccountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TransferAccountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"guid\"] = this.guid;\r\n data[\"final\"] = this.final;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITransferAccountModel {\r\n guid?: string;\r\n final?: boolean;\r\n}\r\n\r\nexport class LogModel implements ILogModel {\r\n logLevel?: string | undefined;\r\n message?: string | undefined;\r\n\r\n constructor(data?: ILogModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.logLevel = _data[\"logLevel\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LogModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LogModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"logLevel\"] = this.logLevel;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILogModel {\r\n logLevel?: string | undefined;\r\n message?: string | undefined;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}"],"sourceRoot":""}