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
@@ -2,6 +2,53 @@
|
||||
<mat-dialog-content>
|
||||
<p>{{ tr().settings.description }}</p>
|
||||
<div class="settings-controls">
|
||||
<fieldset class="planning-dates">
|
||||
<legend>{{ tr().settings.planningHorizon }}</legend>
|
||||
<p id="planning-dates-help">{{ tr().settings.planningDatesHelp }}</p>
|
||||
<mat-form-field appearance="outline">
|
||||
<mat-label>{{ tr().settings.planningStart }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
type="date"
|
||||
name="planningStart"
|
||||
required
|
||||
#planningStart
|
||||
[value]="calendarSettings.planningDates().start"
|
||||
[attr.aria-invalid]="!!calendarSettings.planningHorizonError()"
|
||||
aria-describedby="planning-dates-help planning-dates-error"
|
||||
(input)="
|
||||
calendarSettings.setPlanningDates(
|
||||
planningStart.value,
|
||||
lastPlanningDate.value
|
||||
)
|
||||
"
|
||||
/>
|
||||
</mat-form-field>
|
||||
<mat-form-field appearance="outline">
|
||||
<mat-label>{{ tr().settings.lastPlanningDate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
type="date"
|
||||
name="lastPlanningDate"
|
||||
required
|
||||
#lastPlanningDate
|
||||
[value]="calendarSettings.planningDates().lastPlanningDate"
|
||||
[attr.aria-invalid]="!!calendarSettings.planningHorizonError()"
|
||||
aria-describedby="planning-dates-help planning-dates-error"
|
||||
(input)="
|
||||
calendarSettings.setPlanningDates(
|
||||
planningStart.value,
|
||||
lastPlanningDate.value
|
||||
)
|
||||
"
|
||||
/>
|
||||
</mat-form-field>
|
||||
@if (calendarSettings.planningHorizonError(); as error) {
|
||||
<p id="planning-dates-error" class="validation-error" role="alert">
|
||||
{{ tr().settings[error] }}
|
||||
</p>
|
||||
}
|
||||
</fieldset>
|
||||
<mat-form-field appearance="outline">
|
||||
<mat-label>{{ tr().settings.selectTheme }}</mat-label>
|
||||
<mat-select
|
||||
|
||||
Reference in new issue
Block a user