feat(planner): implement cancellation for planning calculations
- Refactor leave-planner.worker.ts to support cancellation of ongoing calculations. - Introduce `calculatePlanningAsyncInternal` for asynchronous planning calculations. - Add cancellation handling in the worker message event. - Update planning-date.ts with new utility functions for date manipulation. - Extend translation-service.ts and translation files (en.json, de.json, es.json, fr.json) to include new strings related to planning horizon and cancellation. - Create documentation for the cancellation feature in planner-cancellation.md. - Add unit tests for cancellation functionality in leave-planner-cancellation.spec.ts and leave-planner.worker.spec.ts. #57 #58
This commit is contained in:
1 parent
5c35a59805
commit
2edf2004f5
31 files changed
+2275
-304
No files matched your search
@@ -9,6 +9,7 @@ import {
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatSlideToggle } from '@angular/material/slide-toggle';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { CalendarSettingsService } from '../../services/calendar-settings-service';
|
||||
import { ThemeService } from '../../services/theme-service';
|
||||
import { TranslationService } from '../../services/translation-service';
|
||||
@@ -24,6 +25,7 @@ import { TranslationService } from '../../services/translation-service';
|
||||
MatFormFieldModule,
|
||||
MatSelectModule,
|
||||
MatSlideToggle,
|
||||
MatInputModule,
|
||||
],
|
||||
templateUrl: './user-settings.html',
|
||||
styleUrl: './user-settings.scss',
|
||||
@@ -32,7 +34,8 @@ import { TranslationService } from '../../services/translation-service';
|
||||
export class UserSettings {
|
||||
protected readonly themeService = inject(ThemeService);
|
||||
protected readonly translationService = inject(TranslationService);
|
||||
protected readonly showWeekNumbers = inject(CalendarSettingsService).get('showWeekNumbers');
|
||||
protected readonly calendarSettings = inject(CalendarSettingsService);
|
||||
protected readonly showWeekNumbers = this.calendarSettings.get('showWeekNumbers');
|
||||
protected readonly tr = this.translationService.tr;
|
||||
protected readonly themePreferences = ['system', 'light', 'dark'] as const;
|
||||
}
|
||||
Reference in new issue
Block a user