{{ tr().loading }}
+{{ isCancelling() ? tr().planning.cancelling : tr().loading }}
+ }@@ -42,7 +53,7 @@ - {{ hasPlannerError() ? tr().planning.error : tr().planning.incomplete }} + {{ outcomeLabel(planningOutcome()!) }}
} @else if (planningOutcome()?.kind === 'Plan') {
diff --git a/src/app/components/calendar-year/calendar-year.scss b/src/app/components/calendar-year/calendar-year.scss
index e2aec7f..522267e 100644
--- a/src/app/components/calendar-year/calendar-year.scss
+++ b/src/app/components/calendar-year/calendar-year.scss
@@ -526,6 +526,9 @@ output {
justify-items: center;
gap: 1rem;
}
+.cancel-calculation {
+ min-height: 44px;
+}
.spinner-container {
position: relative;
}
diff --git a/src/app/components/calendar-year/calendar-year.ts b/src/app/components/calendar-year/calendar-year.ts
index 0ed78e1..8fb9eed 100644
--- a/src/app/components/calendar-year/calendar-year.ts
+++ b/src/app/components/calendar-year/calendar-year.ts
@@ -17,6 +17,7 @@ import { DateAdapter } from '@angular/material/core';
import { MatDatepickerModule, MatDatepickerInputEvent } from '@angular/material/datepicker';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
+import { MatButton } from '@angular/material/button';
import dayjs from 'dayjs';
import { DAY_FIRST_DATE_PROVIDERS } from '../../shared/day-first-date-adapter';
import { MatProgressSpinner } from '@angular/material/progress-spinner';
@@ -32,6 +33,7 @@ import {
import { RuleService } from '../../services/rule-service';
import { TranslationService } from '../../services/translation-service';
import { UserInputService } from '../../services/user-input-service';
+import { CalendarSettingsService } from '../../services/calendar-settings-service';
import {
applyReplayDeltas,
CounterfactualAnalysis,
@@ -64,6 +66,7 @@ type TraceTransition = Readonly<{ before: PlanningTraceState; after: PlanningTra
MatDatepickerModule,
MatFormFieldModule,
MatInputModule,
+ MatButton,
MatCard,
CalendarMonth,
MatCardContent,
@@ -78,6 +81,7 @@ export class CalendarYear {
private readonly userInput = inject(UserInputService);
private readonly calendarService = inject(CalendarService);
private readonly ruleService = inject(RuleService);
+ private readonly calendarSettings = inject(CalendarSettingsService);
private readonly dialog = inject(MatDialog);
private readonly dateAdapter = inject {{ tr().settings.invalidHorizon }} {{ tr().settings.description }}