@bimetal/calendar-angular-components 0.35.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/binding/controller.d.ts +10 -1
  2. package/dist/binding/controller.d.ts.map +1 -1
  3. package/dist/binding/controller.js +11 -1
  4. package/dist/binding/controller.js.map +1 -1
  5. package/dist/binding/index.d.ts +4 -2
  6. package/dist/binding/index.d.ts.map +1 -1
  7. package/dist/binding/index.js +5 -2
  8. package/dist/binding/index.js.map +1 -1
  9. package/dist/binding/services/pointer-gesture.service.d.ts +26 -0
  10. package/dist/binding/services/pointer-gesture.service.d.ts.map +1 -0
  11. package/dist/binding/services/pointer-gesture.service.js +37 -0
  12. package/dist/binding/services/pointer-gesture.service.js.map +1 -0
  13. package/dist/components/Calendar.d.ts +21 -4
  14. package/dist/components/Calendar.d.ts.map +1 -1
  15. package/dist/components/Calendar.js +121 -30
  16. package/dist/components/Calendar.js.map +1 -1
  17. package/dist/components/CalendarHeader.d.ts +3 -0
  18. package/dist/components/CalendarHeader.d.ts.map +1 -1
  19. package/dist/components/CalendarHeader.js +10 -4
  20. package/dist/components/CalendarHeader.js.map +1 -1
  21. package/dist/components/CategoryFilter.d.ts +3 -0
  22. package/dist/components/CategoryFilter.d.ts.map +1 -1
  23. package/dist/components/CategoryFilter.js +9 -5
  24. package/dist/components/CategoryFilter.js.map +1 -1
  25. package/dist/components/EventBar.d.ts +11 -4
  26. package/dist/components/EventBar.d.ts.map +1 -1
  27. package/dist/components/EventBar.js +87 -32
  28. package/dist/components/EventBar.js.map +1 -1
  29. package/dist/components/EventDialog.d.ts +6 -4
  30. package/dist/components/EventDialog.d.ts.map +1 -1
  31. package/dist/components/EventDialog.js +81 -44
  32. package/dist/components/EventDialog.js.map +1 -1
  33. package/dist/components/EventHistory.d.ts +14 -10
  34. package/dist/components/EventHistory.d.ts.map +1 -1
  35. package/dist/components/EventHistory.js +59 -56
  36. package/dist/components/EventHistory.js.map +1 -1
  37. package/dist/styles/index.css.d.ts +3 -0
  38. package/dist/views/day/DayView.d.ts +26 -4
  39. package/dist/views/day/DayView.d.ts.map +1 -1
  40. package/dist/views/day/DayView.js +56 -17
  41. package/dist/views/day/DayView.js.map +1 -1
  42. package/dist/views/month/MonthView.d.ts +14 -3
  43. package/dist/views/month/MonthView.d.ts.map +1 -1
  44. package/dist/views/month/MonthView.js +55 -7
  45. package/dist/views/month/MonthView.js.map +1 -1
  46. package/dist/views/month/WeekRow.d.ts +19 -3
  47. package/dist/views/month/WeekRow.d.ts.map +1 -1
  48. package/dist/views/month/WeekRow.js +73 -34
  49. package/dist/views/month/WeekRow.js.map +1 -1
  50. package/dist/views/resource/ResourceView.d.ts +28 -1
  51. package/dist/views/resource/ResourceView.d.ts.map +1 -1
  52. package/dist/views/resource/ResourceView.js +78 -21
  53. package/dist/views/resource/ResourceView.js.map +1 -1
  54. package/dist/views/timeline/TimelineView.d.ts +25 -3
  55. package/dist/views/timeline/TimelineView.d.ts.map +1 -1
  56. package/dist/views/timeline/TimelineView.js +77 -16
  57. package/dist/views/timeline/TimelineView.js.map +1 -1
  58. package/dist/views/week/AllDayRow.d.ts +16 -3
  59. package/dist/views/week/AllDayRow.d.ts.map +1 -1
  60. package/dist/views/week/AllDayRow.js +47 -10
  61. package/dist/views/week/AllDayRow.js.map +1 -1
  62. package/dist/views/week/TimeEvent.d.ts +11 -4
  63. package/dist/views/week/TimeEvent.d.ts.map +1 -1
  64. package/dist/views/week/TimeEvent.js +76 -26
  65. package/dist/views/week/TimeEvent.js.map +1 -1
  66. package/dist/views/week/WeekView.d.ts +16 -1
  67. package/dist/views/week/WeekView.d.ts.map +1 -1
  68. package/dist/views/week/WeekView.js +53 -18
  69. package/dist/views/week/WeekView.js.map +1 -1
  70. package/dist/views/year/YearView.d.ts +2 -0
  71. package/dist/views/year/YearView.d.ts.map +1 -1
  72. package/dist/views/year/YearView.js +17 -1
  73. package/dist/views/year/YearView.js.map +1 -1
  74. package/package.json +15 -12
@@ -1,7 +1,7 @@
1
1
  import { Component, Input, NgZone, TemplateRef, Optional, signal } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { getYear, getMonth, monthIndex } from '@bimetal/temporal';
4
- import { parseDragInfo } from '@bimetal/calendar-headless';
4
+ import { parseDragInfo, reportUnroutedCalendarError } from '@bimetal/calendar-headless';
5
5
  import { isEditableTarget } from '@bimetal/a11y-dom';
6
6
  import { createCalendarControllerBinding, EventRenderService, ZERO_RECT, } from '../binding/index.js';
7
7
  import { CalendarHeaderComponent } from './CalendarHeader.js';
@@ -48,7 +48,7 @@ function CalendarComponent_cal_year_view_4_Template(rf, ctx) { if (rf & 1) {
48
48
  function CalendarComponent_cal_month_view_5_Template(rf, ctx) { if (rf & 1) {
49
49
  const _r5 = i0.ɵɵgetCurrentView();
50
50
  i0.ɵɵelementStart(0, "cal-month-view", 16);
51
- i0.ɵɵlistener("eventClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_month_view_5_Template_cal_month_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dragOverDate", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); })("expandMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_expandMonthCell_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.expandMonthCell($event)); })("collapseMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_collapseMonthCell_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.collapseMonthCell()); });
51
+ i0.ɵɵlistener("eventClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_month_view_5_Template_cal_month_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dropDayInfo", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dropDayInfo_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropAllDay($event.info, $event.date)); })("dragOverDate", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); })("expandMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_expandMonthCell_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.expandMonthCell($event)); })("collapseMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_collapseMonthCell_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.collapseMonthCell()); });
52
52
  i0.ɵɵelementEnd();
53
53
  } if (rf & 2) {
54
54
  const ctx_r1 = i0.ɵɵnextContext();
@@ -57,7 +57,7 @@ function CalendarComponent_cal_month_view_5_Template(rf, ctx) { if (rf & 1) {
57
57
  function CalendarComponent_cal_week_view_6_Template(rf, ctx) { if (rf & 1) {
58
58
  const _r6 = i0.ɵɵgetCurrentView();
59
59
  i0.ɵɵelementStart(0, "cal-week-view", 17);
60
- i0.ɵɵlistener("eventClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_week_view_6_Template_cal_week_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dropTimedEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dragOverDate", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("dragOverDateTime", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
60
+ i0.ɵɵlistener("eventClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_week_view_6_Template_cal_week_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dropTimedEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dropTimedInfo", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropTimedInfo_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropTimed($event.info, $event.date, $event.time)); })("dropDayInfo", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropDayInfo_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropAllDay($event.info, $event.date)); })("dragOverDate", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("dragOverDateTime", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
61
61
  i0.ɵɵelementEnd();
62
62
  } if (rf & 2) {
63
63
  const ctx_r1 = i0.ɵɵnextContext();
@@ -66,7 +66,7 @@ function CalendarComponent_cal_week_view_6_Template(rf, ctx) { if (rf & 1) {
66
66
  function CalendarComponent_cal_day_view_7_Template(rf, ctx) { if (rf & 1) {
67
67
  const _r7 = i0.ɵɵgetCurrentView();
68
68
  i0.ɵɵelementStart(0, "cal-day-view", 18);
69
- i0.ɵɵlistener("eventClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_day_view_7_Template_cal_day_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropTimedEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dragOverDateTime", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
69
+ i0.ɵɵlistener("eventClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_day_view_7_Template_cal_day_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropTimedEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dropTimedInfo", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dropTimedInfo_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropTimed($event.info, $event.date, $event.time)); })("dragOverDateTime", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
70
70
  i0.ɵɵelementEnd();
71
71
  } if (rf & 2) {
72
72
  const ctx_r1 = i0.ɵɵnextContext();
@@ -75,7 +75,7 @@ function CalendarComponent_cal_day_view_7_Template(rf, ctx) { if (rf & 1) {
75
75
  function CalendarComponent_cal_timeline_view_8_Template(rf, ctx) { if (rf & 1) {
76
76
  const _r8 = i0.ɵɵgetCurrentView();
77
77
  i0.ɵɵelementStart(0, "cal-timeline-view", 19);
78
- i0.ɵɵlistener("eventClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("timelineCellClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineCellClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineCellClick($event)); })("timelineDrop", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineDrop_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineDrop($event)); })("dragOverDate", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
78
+ i0.ɵɵlistener("eventClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("timelineCellClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineCellClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineCellClick($event)); })("timelineDrop", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineDrop_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineDrop($event)); })("timelineDropInfo", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineDropInfo_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropTimeline($event.info, $event.date, $event.resourceId)); })("dragOverDate", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
79
79
  i0.ɵɵelementEnd();
80
80
  } if (rf & 2) {
81
81
  const ctx_r1 = i0.ɵɵnextContext();
@@ -84,7 +84,7 @@ function CalendarComponent_cal_timeline_view_8_Template(rf, ctx) { if (rf & 1) {
84
84
  function CalendarComponent_cal_resource_view_9_Template(rf, ctx) { if (rf & 1) {
85
85
  const _r9 = i0.ɵɵgetCurrentView();
86
86
  i0.ɵɵelementStart(0, "cal-resource-view", 20);
87
- i0.ɵɵlistener("eventClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("resourceCellClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceCellClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceCellClick($event)); })("resourceDrop", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceDrop_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceDrop($event)); })("dragOverDateTime", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
87
+ i0.ɵɵlistener("eventClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("resourceCellClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceCellClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceCellClick($event)); })("resourceDrop", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceDrop_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceDrop($event)); })("resourceDropInfo", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceDropInfo_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropResource($event.info, $event.date, $event.time, $event.resourceId)); })("dragOverDateTime", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
88
88
  i0.ɵɵelementEnd();
89
89
  } if (rf & 2) {
90
90
  const ctx_r1 = i0.ɵɵnextContext();
@@ -115,7 +115,7 @@ function CalendarComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
115
115
  function CalendarComponent_cal_event_dialog_12_Template(rf, ctx) { if (rf & 1) {
116
116
  const _r12 = i0.ɵɵgetCurrentView();
117
117
  i0.ɵɵelementStart(0, "cal-event-dialog", 23);
118
- i0.ɵɵlistener("setDraft", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_setDraft_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.setDraft($event)); })("save", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_save_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveDialogFromInput()); })("deleteEvent", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_deleteEvent_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.deleteDialog($event)); })("close", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_close_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.closeDialog()); });
118
+ i0.ɵɵlistener("setDraft", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_setDraft_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.setDraft($event)); })("save", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_save_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveDialogFromInput()); })("deleteEvent", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_deleteEvent_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDeleteDialog($event)); })("editSeries", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_editSeries_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEditSeries($event)); })("close", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_close_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.closeDialog()); });
119
119
  i0.ɵɵelementEnd();
120
120
  } if (rf & 2) {
121
121
  const ctx_r1 = i0.ɵɵnextContext();
@@ -133,6 +133,9 @@ function CalendarComponent_ng_container_13_Template(rf, ctx) { if (rf & 1) {
133
133
  i0.ɵɵadvance();
134
134
  i0.ɵɵproperty("ngComponentOutlet", ctx_r1.customDialogComponent)("ngComponentOutletInputs", ctx_r1.eventDialogInputs);
135
135
  } }
136
+ // bimetal-131 M2: stable empty — a literal `[]` in the getter would mint a fresh
137
+ // identity per CD pass and defeat OnPush in the history consumer.
138
+ const EMPTY_HISTORY = [];
136
139
  /**
137
140
  * Root calendar component: renders header, filters, the active view, and the
138
141
  * event dialog, wiring them all to the calendar controller.
@@ -191,6 +194,15 @@ export class CalendarComponent {
191
194
  * `locked` for all-off). The controller enforces it AND exposes it so the views drop
192
195
  * the matching affordance. Read at controller creation — pass a stable function. */
193
196
  eventInteraction;
197
+ /** bimetal-147: macht aus der Audit-Id `event.metadata.userId` den in der
198
+ * eingebauten Historie angezeigten Text. Ohne den Hook zeigt die Historie die
199
+ * Id roh — sie erfindet nie einen Namen. Nur auf dem STANDALONE-Pfad ein Input;
200
+ * wer den Controller selbst besitzt, setzt ihn dort als Option. Wie
201
+ * `eventInteraction` bei der Controller-Erzeugung gelesen — eine STABILE
202
+ * Funktion übergeben; ein späterer `@Input()`-Wechsel wird NICHT nachgezogen
203
+ * (kein `ngOnChanges`-Pfad), auch wenn ein Input sonst Reaktivität erwarten
204
+ * lässt. */
205
+ resolveActor;
194
206
  /** STANDALONE only — the bound path leaves the owned controller untouched. */
195
207
  binding;
196
208
  bound = false;
@@ -221,19 +233,55 @@ export class CalendarComponent {
221
233
  * child's `[setViewport]` reference doesn't churn. */
222
234
  setViewport = (scrollTop, viewportHeight) => this.ctrl.setViewport(scrollTop, viewportHeight);
223
235
  /** Builtin dialog save: the controller assembles + mints + validates + saves. */
224
- saveDialogFromInput() { void this.ctrl.saveDialogFromInput(); }
236
+ saveDialogFromInput() { this.ctrl.voidSaveDialogFromInput(); }
225
237
  // ── Snapshot-derived convenience accessors (template + tests) ──
226
238
  get mergedConfig() { return this.snapshot.config; }
227
239
  // Angular's strict template binder rejects readonly arrays into the views'
228
240
  // mutable @Inputs, so spread into fresh mutable arrays at the binding edge.
229
- get viewConfigList() { return [...this.snapshot.viewConfigList]; }
230
- get filteredEvents() { return [...this.snapshot.events]; }
241
+ //
242
+ // CACHED PER SNAPSHOT, not per call. A getter runs on EVERY change-detection
243
+ // pass, and Zone.js runs change detection after every DOM event — so a bare
244
+ // `[...]` handed the views a NEW array identity on every mousedown/keydown/
245
+ // dragstart. That fired the views' ngOnChanges, rebuilt their layout wrappers,
246
+ // and the un-trackBy'd *ngFor re-created every event bar mid-gesture. Chromium
247
+ // cancels a native HTML5 drag whose source node is destroyed in the dragstart
248
+ // task: month/week/day event-bar drag was therefore DEAD on Angular only —
249
+ // React never re-renders here, because `startDrag` is deliberately transient
250
+ // (no snapshot change). Same array while the snapshot is the same ⇒ no input
251
+ // change ⇒ the dragged node survives its own dragstart.
252
+ eventsCopy = null;
253
+ get filteredEvents() {
254
+ const src = this.snapshot.events;
255
+ if (this.eventsCopy?.src !== src)
256
+ this.eventsCopy = { src, copy: [...src] };
257
+ return this.eventsCopy.copy;
258
+ }
259
+ viewConfigCopy = null;
260
+ get viewConfigList() {
261
+ const src = this.snapshot.viewConfigList;
262
+ if (this.viewConfigCopy?.src !== src)
263
+ this.viewConfigCopy = { src, copy: [...src] };
264
+ return this.viewConfigCopy.copy;
265
+ }
231
266
  get visibleResources() { return this.snapshot.visibleResources; }
232
267
  get selectedEventId() { return this.snapshot.selectedEvent?.eventId ?? null; }
233
268
  get selectedInstanceDate() { return this.snapshot.selectedEvent?.instanceDate; }
269
+ // CACHED PER (SNAPSHOT, EVENT) — bimetal-131 M2. As a bare getter this ran
270
+ // ctrl.getHistory() on EVERY change-detection pass while any dialog was open:
271
+ // a full-stream filter + structuredClone per keystroke, growing linearly with
272
+ // stream length, and the fresh identities rebuilt the history timeline DOM
273
+ // each time. History can only change when the store notifies (= new snapshot),
274
+ // so the snapshot identity is the complete invalidation key.
275
+ historyCache = null;
234
276
  get dialogHistory() {
235
277
  const ev = this.snapshot.dialog?.event;
236
- return ev ? this.ctrl.getHistory(ev.id) : [];
278
+ if (!ev)
279
+ return EMPTY_HISTORY;
280
+ const c = this.historyCache;
281
+ if (!c || c.snap !== this.snapshot || c.eventId !== ev.id) {
282
+ this.historyCache = { snap: this.snapshot, eventId: ev.id, value: this.ctrl.getHistoryEntries(ev.id) };
283
+ }
284
+ return this.historyCache.value;
237
285
  }
238
286
  syncEventRenderService() {
239
287
  if (!this.eventRenderService)
@@ -268,21 +316,28 @@ export class CalendarComponent {
268
316
  this.snapshotSig = sig;
269
317
  }
270
318
  else {
271
- this.binding = createCalendarControllerBinding({
319
+ // bimetal-181: roh standen hier `eventInteraction` und `resolveActor` — zwei
320
+ // FUNKTIONEN, die der Getter jetzt bei jedem Aufruf neu von `this` liest.
321
+ // R1-Korrektur: `eventDialogKind` gehörte NICHT in diese Aufzählung. Es ist ein
322
+ // String, also ein Nicht-Funktions-Feld — `liveOptions` friert es am Aufbau ein,
323
+ // genau wie vorher. Geändert wird es über `ctrl.setEventDialogKind` (unten in
324
+ // `ngOnChanges`), in allen drei Stacks; der Getter heilt daran nichts.
325
+ this.binding = createCalendarControllerBinding(() => ({
272
326
  store: this.store,
273
327
  config: this.config,
274
328
  rules: this.rules,
275
329
  customViews: this.customViews,
276
330
  eventInteraction: this.eventInteraction,
331
+ resolveActor: this.resolveActor,
277
332
  eventDialogKind: this.eventDialog.kind,
278
333
  onEventClickExternal: (id, rect, inst) => this.onEventClick?.(id, rect, inst),
279
334
  onNewEventRequestedExternal: (date, rect, rid) => this.onNewEventRequested?.(date, rect, rid),
280
335
  // OBSERVE: fires on selection state change (separate from `none` delegation).
281
336
  onSelectionChange: (sel) => this.onSelectionChange?.(sel),
282
- onError: (err) => this.onError?.(err),
337
+ onError: (err) => (this.onError ?? reportUnroutedCalendarError)(err),
283
338
  onHistoryChange: (change) => this.onHistoryChange?.(change),
284
339
  onWarning: (warnings) => this.onWarning?.(warnings),
285
- }, this.zone);
340
+ }), this.zone);
286
341
  this.ctrlRef = this.binding.ctrl;
287
342
  this.snapshotSig = this.binding.snapshot;
288
343
  // Mirror the current view onto the render service after every update so
@@ -324,8 +379,19 @@ export class CalendarComponent {
324
379
  getCustomView(id) {
325
380
  return this.customViews?.find(v => v.id === id);
326
381
  }
382
+ // CACHED PER SNAPSHOT — bimetal-131 M3. Bound via *ngComponentOutlet's
383
+ // `inputs:`, and ngComponentOutlet diffs the inputs OBJECT by reference: a
384
+ // bare getter handed it a fresh object with fresh callback closures on every
385
+ // CD pass, so the consumer's custom view took a setInput/ngOnChanges storm on
386
+ // every DOM event. If that view has draggable content in an un-trackBy'd
387
+ // ngFor, this reproduces mcp-129 AT THE CONSUMER — with the framework as the
388
+ // cause. Every value below derives from the snapshot; the callbacks close
389
+ // only over `this.ctrl` (stable) — snapshot identity is the complete key.
390
+ customViewInputsCache = null;
327
391
  get customViewInputs() {
328
- return {
392
+ if (this.customViewInputsCache?.snap === this.snapshot)
393
+ return this.customViewInputsCache.value;
394
+ const value = {
329
395
  currentDate: this.snapshot.currentDate,
330
396
  events: this.snapshot.events,
331
397
  config: this.mergedConfig,
@@ -336,31 +402,47 @@ export class CalendarComponent {
336
402
  onSelectEvent: (eventId, instanceDate) => this.ctrl.selectEvent(eventId, instanceDate),
337
403
  onClearSelection: () => this.ctrl.clearSelection(),
338
404
  };
405
+ this.customViewInputsCache = { snap: this.snapshot, value };
406
+ return value;
339
407
  }
340
408
  /** Component class for the custom dialog (template binding helper). */
341
409
  get customDialogComponent() {
342
410
  return this.eventDialog.kind === 'custom' ? this.eventDialog.component : null;
343
411
  }
344
412
  /** Inputs passed to the custom dialog via *ngComponentOutlet. */
413
+ // CACHED PER SNAPSHOT — bimetal-131 M3, same class as customViewInputs above.
414
+ eventDialogInputsCache = null;
345
415
  get eventDialogInputs() {
346
416
  const dialog = this.snapshot.dialog;
347
417
  if (!dialog)
348
418
  return undefined;
349
- return {
419
+ if (this.eventDialogInputsCache?.snap === this.snapshot)
420
+ return this.eventDialogInputsCache.value;
421
+ const value = {
350
422
  event: dialog.event,
351
423
  defaultDate: dialog.defaultDate,
352
424
  anchorRect: dialog.anchorRect,
353
425
  defaultResourceId: dialog.defaultResourceId,
354
426
  config: this.mergedConfig,
355
427
  onClose: () => this.ctrl.closeDialog(),
356
- onSave: (ev) => { void this.ctrl.saveDialog(ev); },
357
- onDelete: (id) => { void this.ctrl.deleteDialog(id); },
428
+ onSave: (ev) => { this.ctrl.voidSaveDialog(ev); },
429
+ onDelete: (id) => { this.ctrl.voidDeleteDialog(id); },
358
430
  };
431
+ this.eventDialogInputsCache = { snap: this.snapshot, value };
432
+ return value;
359
433
  }
360
434
  // ── DOM-event → controller-intent bindings ──────────────────────
361
435
  handleEventClick(ev) {
362
436
  this.ctrl.openEdit(ev.eventId, ev.rect, ev.instanceDate);
363
437
  }
438
+ /** mcp-116: re-open the dialog on the series master behind the shown occurrence.
439
+ * The anchor stays the one the dialog already sits on — the user is not moving. */
440
+ handleEditSeries(eventId) {
441
+ const anchorRect = this.snapshot.dialog?.anchorRect;
442
+ if (!anchorRect)
443
+ return;
444
+ this.ctrl.openEditSeries(eventId, anchorRect);
445
+ }
364
446
  handleDayCellClick(ev) {
365
447
  this.ctrl.openCreate(ev.date, ev.rect);
366
448
  }
@@ -373,25 +455,25 @@ export class CalendarComponent {
373
455
  handleDropEvent(ev) {
374
456
  const info = parseDragInfo(ev.event.dataTransfer);
375
457
  if (info)
376
- void this.ctrl.dropAllDay(info, ev.date);
458
+ this.ctrl.voidDropAllDay(info, ev.date);
377
459
  }
378
460
  handleDropTimedEvent(ev) {
379
461
  const info = parseDragInfo(ev.event.dataTransfer);
380
462
  if (info)
381
- void this.ctrl.dropTimed(info, ev.date, ev.time);
463
+ this.ctrl.voidDropTimed(info, ev.date, ev.time);
382
464
  }
383
465
  handleResourceDrop(ev) {
384
466
  const info = parseDragInfo(ev.event.dataTransfer);
385
467
  if (info)
386
- void this.ctrl.dropResource(info, ev.date, ev.time, ev.resourceId);
468
+ this.ctrl.voidDropResource(info, ev.date, ev.time, ev.resourceId);
387
469
  }
388
470
  handleTimelineDrop(ev) {
389
471
  const info = parseDragInfo(ev.event.dataTransfer);
390
472
  if (info)
391
- void this.ctrl.dropTimeline(info, ev.date, ev.resourceId);
473
+ this.ctrl.voidDropTimeline(info, ev.date, ev.resourceId);
392
474
  }
393
475
  static ɵfac = function CalendarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalendarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8), i0.ɵɵdirectiveInject(i0.NgZone)); };
394
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarComponent, selectors: [["cal-calendar"]], inputs: { controller: "controller", store: "store", rules: "rules", config: "config", darkMode: "darkMode", dir: "dir", showCategoryFilter: "showCategoryFilter", showResourceFilter: "showResourceFilter", showUndoRedo: "showUndoRedo", customViews: "customViews", eventDialog: "eventDialog", onEventClick: "onEventClick", onNewEventRequested: "onNewEventRequested", onSelectionChange: "onSelectionChange", onError: "onError", onHistoryChange: "onHistoryChange", onWarning: "onWarning", eventBadgesTpl: "eventBadgesTpl", eventContentTpl: "eventContentTpl", eventClassName: "eventClassName", eventStyle: "eventStyle", eventTitle: "eventTitle", eventInteraction: "eventInteraction" }, features: [i0.ɵɵProvidersFeature([EventRenderService]), i0.ɵɵNgOnChangesFeature], decls: 14, vars: 21, consts: [[1, "bm-cal", 3, "keydown"], [3, "prev", "next", "today", "viewChange", "undo", "redo", "title", "currentView", "viewConfigs", "locale", "showUndoRedo", "canUndo", "canRedo"], [3, "categories", "hiddenCategories", "toggle", 4, "ngIf"], [3, "resources", "hiddenResources", "toggle", 4, "ngIf"], [3, "year", "events", "config", "monthClick", "dayCellClick", 4, "ngIf"], [3, "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "agenda", "config", "setViewport", "eventClick", "selectEvent", 4, "ngIf"], [4, "ngIf"], [3, "dialog", "config", "history", "setDraft", "save", "deleteEvent", "close", 4, "ngIf"], [3, "toggle", "categories", "hiddenCategories"], [3, "toggle", "resources", "hiddenResources"], [3, "monthClick", "dayCellClick", "year", "events", "config"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "agenda", "config", "setViewport"], [4, "ngComponentOutlet", "ngComponentOutletInputs"], [3, "setDraft", "save", "deleteEvent", "close", "dialog", "config", "history"]], template: function CalendarComponent_Template(rf, ctx) { if (rf & 1) {
476
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarComponent, selectors: [["cal-calendar"]], inputs: { controller: "controller", store: "store", rules: "rules", config: "config", darkMode: "darkMode", dir: "dir", showCategoryFilter: "showCategoryFilter", showResourceFilter: "showResourceFilter", showUndoRedo: "showUndoRedo", customViews: "customViews", eventDialog: "eventDialog", onEventClick: "onEventClick", onNewEventRequested: "onNewEventRequested", onSelectionChange: "onSelectionChange", onError: "onError", onHistoryChange: "onHistoryChange", onWarning: "onWarning", eventBadgesTpl: "eventBadgesTpl", eventContentTpl: "eventContentTpl", eventClassName: "eventClassName", eventStyle: "eventStyle", eventTitle: "eventTitle", eventInteraction: "eventInteraction", resolveActor: "resolveActor" }, features: [i0.ɵɵProvidersFeature([EventRenderService]), i0.ɵɵNgOnChangesFeature], decls: 14, vars: 22, consts: [[1, "bm-cal", 3, "keydown"], [3, "prev", "next", "today", "viewChange", "undo", "redo", "title", "currentView", "viewConfigs", "locale", "showUndoRedo", "canUndo", "canRedo"], [3, "categories", "hiddenCategories", "toggle", 4, "ngIf"], [3, "resources", "hiddenResources", "toggle", 4, "ngIf"], [3, "year", "events", "config", "monthClick", "dayCellClick", 4, "ngIf"], [3, "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropDayInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dropTimedInfo", "dropDayInfo", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dropTimedInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "timelineDropInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "resourceDropInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "agenda", "config", "setViewport", "eventClick", "selectEvent", 4, "ngIf"], [4, "ngIf"], [3, "dialog", "config", "history", "setDraft", "save", "deleteEvent", "editSeries", "close", 4, "ngIf"], [3, "toggle", "categories", "hiddenCategories"], [3, "toggle", "resources", "hiddenResources"], [3, "monthClick", "dayCellClick", "year", "events", "config"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropDayInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dropTimedInfo", "dropDayInfo", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dropTimedInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "timelineDropInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "resourceDropInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "agenda", "config", "setViewport"], [4, "ngComponentOutlet", "ngComponentOutletInputs"], [3, "setDraft", "save", "deleteEvent", "editSeries", "close", "dialog", "config", "history"]], template: function CalendarComponent_Template(rf, ctx) { if (rf & 1) {
395
477
  i0.ɵɵelementStart(0, "div", 0);
396
478
  i0.ɵɵlistener("keydown", function CalendarComponent_Template_div_keydown_0_listener($event) { return ctx.keyHandler($event); });
397
479
  i0.ɵɵelementStart(1, "cal-header", 1);
@@ -400,10 +482,10 @@ export class CalendarComponent {
400
482
  i0.ɵɵtemplate(2, CalendarComponent_cal_category_filter_2_Template, 1, 2, "cal-category-filter", 2)(3, CalendarComponent_cal_resource_filter_3_Template, 1, 2, "cal-resource-filter", 3)(4, CalendarComponent_cal_year_view_4_Template, 1, 3, "cal-year-view", 4)(5, CalendarComponent_cal_month_view_5_Template, 1, 8, "cal-month-view", 5)(6, CalendarComponent_cal_week_view_6_Template, 1, 6, "cal-week-view", 6)(7, CalendarComponent_cal_day_view_7_Template, 1, 6, "cal-day-view", 7)(8, CalendarComponent_cal_timeline_view_8_Template, 1, 8, "cal-timeline-view", 8)(9, CalendarComponent_cal_resource_view_9_Template, 1, 7, "cal-resource-view", 9)(10, CalendarComponent_cal_agenda_view_10_Template, 1, 3, "cal-agenda-view", 10)(11, CalendarComponent_ng_container_11_Template, 2, 2, "ng-container", 11)(12, CalendarComponent_cal_event_dialog_12_Template, 1, 3, "cal-event-dialog", 12)(13, CalendarComponent_ng_container_13_Template, 2, 2, "ng-container", 11);
401
483
  i0.ɵɵelementEnd();
402
484
  } if (rf & 2) {
403
- let tmp_1_0;
404
- i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("dir", (tmp_1_0 = ctx.dir) !== null && tmp_1_0 !== undefined ? tmp_1_0 : null);
485
+ let tmp_2_0;
486
+ i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("data-readonly", ctx.snapshot.config.readOnly ? "true" : null)("dir", (tmp_2_0 = ctx.dir) !== null && tmp_2_0 !== undefined ? tmp_2_0 : null);
405
487
  i0.ɵɵadvance();
406
- i0.ɵɵproperty("title", ctx.snapshot.title)("currentView", ctx.snapshot.currentView)("viewConfigs", ctx.viewConfigList)("locale", ctx.mergedConfig.locale)("showUndoRedo", ctx.showUndoRedo)("canUndo", ctx.snapshot.canUndo)("canRedo", ctx.snapshot.canRedo);
488
+ i0.ɵɵproperty("title", ctx.snapshot.title)("currentView", ctx.snapshot.currentView)("viewConfigs", ctx.viewConfigList)("locale", ctx.mergedConfig.locale)("showUndoRedo", ctx.showUndoRedo && !ctx.snapshot.config.readOnly)("canUndo", ctx.snapshot.canUndo)("canRedo", ctx.snapshot.canRedo);
407
489
  i0.ɵɵadvance();
408
490
  i0.ɵɵproperty("ngIf", ctx.showCategoryFilter && ctx.mergedConfig.categories.length > 0);
409
491
  i0.ɵɵadvance();
@@ -446,13 +528,13 @@ export class CalendarComponent {
446
528
  YearViewComponent, ResourceViewComponent, TimelineViewComponent,
447
529
  ],
448
530
  template: `
449
- <div class="bm-cal" [attr.data-theme]="darkMode ? 'dark' : null" [attr.dir]="dir ?? null" (keydown)="keyHandler($event)">
531
+ <div class="bm-cal" [attr.data-theme]="darkMode ? 'dark' : null" [attr.data-readonly]="snapshot.config.readOnly ? 'true' : null" [attr.dir]="dir ?? null" (keydown)="keyHandler($event)">
450
532
  <cal-header
451
533
  [title]="snapshot.title"
452
534
  [currentView]="snapshot.currentView"
453
535
  [viewConfigs]="viewConfigList"
454
536
  [locale]="mergedConfig.locale"
455
- [showUndoRedo]="showUndoRedo"
537
+ [showUndoRedo]="showUndoRedo && !snapshot.config.readOnly"
456
538
  [canUndo]="snapshot.canUndo"
457
539
  [canRedo]="snapshot.canRedo"
458
540
  (prev)="ctrl.prev()"
@@ -491,6 +573,7 @@ export class CalendarComponent {
491
573
  (clearSelection)="ctrl.clearSelection()"
492
574
  (dayCellClick)="handleDayCellClick($event)"
493
575
  (dropEvent)="handleDropEvent($event)"
576
+ (dropDayInfo)="ctrl.voidDropAllDay($event.info, $event.date)"
494
577
  (dragOverDate)="ctrl.updatePreview($event)"
495
578
  (hidePreviewEv)="ctrl.hidePreview()"
496
579
  (dragEnd)="ctrl.endDrag()"
@@ -508,6 +591,8 @@ export class CalendarComponent {
508
591
  (dayCellClick)="handleDayCellClick($event)"
509
592
  (dropEvent)="handleDropEvent($event)"
510
593
  (dropTimedEvent)="handleDropTimedEvent($event)"
594
+ (dropTimedInfo)="ctrl.voidDropTimed($event.info, $event.date, $event.time)"
595
+ (dropDayInfo)="ctrl.voidDropAllDay($event.info, $event.date)"
511
596
  (dragOverDate)="ctrl.updatePreview($event)"
512
597
  (dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
513
598
  (hidePreviewEv)="ctrl.hidePreview()"
@@ -523,6 +608,7 @@ export class CalendarComponent {
523
608
  (clearSelection)="ctrl.clearSelection()"
524
609
  (dayCellClick)="handleDayCellClick($event)"
525
610
  (dropTimedEvent)="handleDropTimedEvent($event)"
611
+ (dropTimedInfo)="ctrl.voidDropTimed($event.info, $event.date, $event.time)"
526
612
  (dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
527
613
  (hidePreviewEv)="ctrl.hidePreview()"
528
614
  (dragEnd)="ctrl.endDrag()"
@@ -542,6 +628,7 @@ export class CalendarComponent {
542
628
  (clearSelection)="ctrl.clearSelection()"
543
629
  (timelineCellClick)="handleTimelineCellClick($event)"
544
630
  (timelineDrop)="handleTimelineDrop($event)"
631
+ (timelineDropInfo)="ctrl.voidDropTimeline($event.info, $event.date, $event.resourceId)"
545
632
  (dragOverDate)="ctrl.updatePreview($event)"
546
633
  (hidePreviewEv)="ctrl.hidePreview()"
547
634
  (dragEnd)="ctrl.endDrag()"
@@ -558,6 +645,7 @@ export class CalendarComponent {
558
645
  (clearSelection)="ctrl.clearSelection()"
559
646
  (resourceCellClick)="handleResourceCellClick($event)"
560
647
  (resourceDrop)="handleResourceDrop($event)"
648
+ (resourceDropInfo)="ctrl.voidDropResource($event.info, $event.date, $event.time, $event.resourceId)"
561
649
  (dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
562
650
  (hidePreviewEv)="ctrl.hidePreview()"
563
651
  (dragEnd)="ctrl.endDrag()"
@@ -581,7 +669,8 @@ export class CalendarComponent {
581
669
  [history]="dialogHistory"
582
670
  (setDraft)="ctrl.setDraft($event)"
583
671
  (save)="saveDialogFromInput()"
584
- (deleteEvent)="ctrl.deleteDialog($event)"
672
+ (deleteEvent)="ctrl.voidDeleteDialog($event)"
673
+ (editSeries)="handleEditSeries($event)"
585
674
  (close)="ctrl.closeDialog()">
586
675
  </cal-event-dialog>
587
676
 
@@ -640,6 +729,8 @@ export class CalendarComponent {
640
729
  type: Input
641
730
  }], eventInteraction: [{
642
731
  type: Input
732
+ }], resolveActor: [{
733
+ type: Input
643
734
  }] }); })();
644
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 196 }); })();
735
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 207 }); })();
645
736
  //# sourceMappingURL=Calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/components/Calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/components/Calendar.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,9 @@ export declare class CalendarHeaderComponent {
19
19
  viewChange: EventEmitter<ViewType>;
20
20
  undo: EventEmitter<void>;
21
21
  redo: EventEmitter<void>;
22
+ trackView(_: number, vc: {
23
+ type: string;
24
+ }): string;
22
25
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarHeaderComponent, never>;
23
26
  static ɵcmp: i0.ɵɵComponentDeclaration<CalendarHeaderComponent, "cal-header", never, { "title": { "alias": "title"; "required": false; }; "currentView": { "alias": "currentView"; "required": false; }; "viewConfigs": { "alias": "viewConfigs"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "showUndoRedo": { "alias": "showUndoRedo"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; }, { "prev": "prev"; "next": "next"; "today": "today"; "viewChange": "viewChange"; "undo": "undo"; "redo": "redo"; }, never, never, true, never>;
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeader.d.ts","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAEtE,qFAAqF;AACrF,qBA+Ba,uBAAuB;IACzB,KAAK,SAAM;IACX,WAAW,EAAE,QAAQ,CAAW;IAChC,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,MAAM,EAAG,cAAc,CAAC;IACjC;6FACyF;IAChF,YAAY,UAAQ;IACpB,OAAO,UAAS;IAChB,OAAO,UAAS;IACf,IAAI,qBAA4B;IAChC,IAAI,qBAA4B;IAChC,KAAK,qBAA4B;IACjC,UAAU,yBAAgC;IAC1C,IAAI,qBAA4B;IAChC,IAAI,qBAA4B;yCAf/B,uBAAuB;2CAAvB,uBAAuB;CAgBnC"}
1
+ {"version":3,"file":"CalendarHeader.d.ts","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAEtE,qFAAqF;AACrF,qBAoCa,uBAAuB;IACzB,KAAK,SAAM;IACX,WAAW,EAAE,QAAQ,CAAW;IAChC,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,MAAM,EAAG,cAAc,CAAC;IACjC;6FACyF;IAChF,YAAY,UAAQ;IACpB,OAAO,UAAS;IAChB,OAAO,UAAS;IACf,IAAI,qBAA4B;IAChC,IAAI,qBAA4B;IAChC,KAAK,qBAA4B;IACjC,UAAU,yBAAgC;IAC1C,IAAI,qBAA4B;IAChC,IAAI,qBAA4B;IAC1C,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;yCAhB9B,uBAAuB;2CAAvB,uBAAuB;CAkBnC"}
@@ -51,8 +51,9 @@ export class CalendarHeaderComponent {
51
51
  viewChange = new EventEmitter();
52
52
  undo = new EventEmitter();
53
53
  redo = new EventEmitter();
54
+ trackView(_, vc) { return vc.type; }
54
55
  static ɵfac = function CalendarHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalendarHeaderComponent)(); };
55
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarHeaderComponent, selectors: [["cal-header"]], hostAttrs: [2, "display", "contents"], inputs: { title: "title", currentView: "currentView", viewConfigs: "viewConfigs", locale: "locale", showUndoRedo: "showUndoRedo", canUndo: "canUndo", canRedo: "canRedo" }, outputs: { prev: "prev", next: "next", today: "today", viewChange: "viewChange", undo: "undo", redo: "redo" }, decls: 14, vars: 6, consts: [[1, "bm-cal__header"], [1, "bm-cal__month-title"], [1, "bm-cal__header-controls"], [1, "bm-cal__view-switcher"], [3, "class", "click", 4, "ngFor", "ngForOf"], [1, "bm-cal__undo-controls"], [1, "bm-cal__nav-controls"], [1, "bm-cal__nav", 3, "click"], [1, "bm-cal__today-btn", 3, "click"], [3, "click"], [1, "bm-cal__nav", "bm-cal__nav--undo", 3, "click", "disabled"], [1, "bm-cal__nav", "bm-cal__nav--redo", 3, "click", "disabled"]], template: function CalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
56
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarHeaderComponent, selectors: [["cal-header"]], hostAttrs: [2, "display", "contents"], inputs: { title: "title", currentView: "currentView", viewConfigs: "viewConfigs", locale: "locale", showUndoRedo: "showUndoRedo", canUndo: "canUndo", canRedo: "canRedo" }, outputs: { prev: "prev", next: "next", today: "today", viewChange: "viewChange", undo: "undo", redo: "redo" }, decls: 14, vars: 7, consts: [[1, "bm-cal__header"], [1, "bm-cal__month-title"], [1, "bm-cal__header-controls"], [1, "bm-cal__view-switcher"], [3, "class", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal__undo-controls"], [1, "bm-cal__nav-controls"], [1, "bm-cal__nav", 3, "click"], [1, "bm-cal__today-btn", 3, "click"], [3, "click"], [1, "bm-cal__nav", "bm-cal__nav--undo", 3, "click", "disabled"], [1, "bm-cal__nav", "bm-cal__nav--redo", 3, "click", "disabled"]], template: function CalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
56
57
  i0.ɵɵelementStart(0, "div", 0)(1, "h1", 1);
57
58
  i0.ɵɵtext(2);
58
59
  i0.ɵɵelementEnd();
@@ -76,7 +77,7 @@ export class CalendarHeaderComponent {
76
77
  i0.ɵɵadvance(2);
77
78
  i0.ɵɵtextInterpolate(ctx.title);
78
79
  i0.ɵɵadvance(3);
79
- i0.ɵɵproperty("ngForOf", ctx.viewConfigs);
80
+ i0.ɵɵproperty("ngForOf", ctx.viewConfigs)("ngForTrackBy", ctx.trackView);
80
81
  i0.ɵɵadvance();
81
82
  i0.ɵɵconditional(ctx.showUndoRedo ? 6 : -1);
82
83
  i0.ɵɵadvance(2);
@@ -99,7 +100,12 @@ export class CalendarHeaderComponent {
99
100
  <h1 class="bm-cal__month-title">{{ title }}</h1>
100
101
  <div class="bm-cal__header-controls">
101
102
  <div class="bm-cal__view-switcher">
102
- <button *ngFor="let vc of viewConfigs"
103
+ <!-- bimetal-131 M4: trackBy is the focus fix. The controller mints
104
+ viewConfigList fresh per snapshot (deepCopy), so the parent's
105
+ identity cache misses on every notify — without trackBy Enter on a
106
+ view button destroyed ALL header buttons and dropped focus to
107
+ <body>. Type is the stable identity. -->
108
+ <button *ngFor="let vc of viewConfigs; trackBy: trackView"
103
109
  [class]="'bm-cal__view-btn' + (currentView === vc.type ? ' bm-cal__view-btn--active' : '')"
104
110
  (click)="viewChange.emit(vc.type)">
105
111
  {{ vc.label }}
@@ -147,5 +153,5 @@ export class CalendarHeaderComponent {
147
153
  }], redo: [{
148
154
  type: Output
149
155
  }] }); })();
150
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarHeaderComponent, { className: "CalendarHeaderComponent", filePath: "components/calendarheader.ts", lineNumber: 38 }); })();
156
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarHeaderComponent, { className: "CalendarHeaderComponent", filePath: "components/calendarheader.ts", lineNumber: 43 }); })();
151
157
  //# sourceMappingURL=CalendarHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeader.js","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;;;IAerC,iCAEqC;IAAnC,8MAAS,kCAAwB,KAAC;IAClC,YACF;IAAA,iBAAS;;;;IAHP,0GAA2F;IAE3F,cACF;IADE,4CACF;;;;IAIE,AADF,8BAAmC,iBACoH;IAAtB,2LAAS,kBAAW,KAAC;IAAC,sBAAC;IAAA,iBAAS;IAC/J,kCAAqJ;IAAtB,2LAAS,kBAAW,KAAC;IAAC,sBAAC;IACxJ,AADwJ,iBAAS,EAC3J;;;IAFqG,cAAqB;IAArB,0CAAqB;;IACrB,eAAqB;IAArB,0CAAqB;;;AApB1I,qFAAqF;AAgCrF,MAAM,OAAO,uBAAuB;IACzB,KAAK,GAAG,EAAE,CAAC;IACX,WAAW,GAAa,OAAO,CAAC;IAChC,WAAW,GAAiB,EAAE,CAAC;IAC/B,MAAM,CAAkB;IACjC;6FACyF;IAChF,YAAY,GAAG,IAAI,CAAC;IACpB,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IACf,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;IACjC,UAAU,GAAG,IAAI,YAAY,EAAY,CAAC;IAC1C,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;iHAf/B,uBAAuB;6DAAvB,uBAAuB;YAxB9B,AADF,8BAA4B,YACM;YAAA,YAAW;YAAA,iBAAK;YAE9C,AADF,8BAAqC,aACA;YACjC,8EAEqC;YAGvC,iBAAM;YACN,gFAAoB;YAOlB,AADF,8BAAkC,gBACkD;YAAtB,oGAAS,eAAW,IAAC;YAAC,sBAAQ;YAAA,iBAAS;YACnG,kCAAyD;YAAvB,qGAAS,gBAAY,IAAC;YAAC,aAAkB;YAAA,iBAAS;YACpF,kCAAkF;YAAtB,qGAAS,eAAW,IAAC;YAAC,uBAAQ;YAGhG,AADE,AADE,AAD4F,iBAAS,EAC/F,EACF,EACF;;YArB4B,eAAW;YAAX,+BAAW;YAGhB,eAAc;YAAd,yCAAc;YAMvC,cAKC;YALD,2CAKC;YAE6B,eAA+B;;YACF,eAAkB;YAAlB,sCAAkB;YAC/C,cAA+B;;4BArBzD,YAAY;;iFA2BX,uBAAuB;cA/BnC,SAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;GAwBT;aACF;gBAEU,KAAK;kBAAb,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,MAAM;kBAAd,KAAK;YAGG,YAAY;kBAApB,KAAK;YACG,OAAO;kBAAf,KAAK;YACG,OAAO;kBAAf,KAAK;YACI,IAAI;kBAAb,MAAM;YACG,IAAI;kBAAb,MAAM;YACG,KAAK;kBAAd,MAAM;YACG,UAAU;kBAAnB,MAAM;YACG,IAAI;kBAAb,MAAM;YACG,IAAI;kBAAb,MAAM;;kFAfI,uBAAuB"}
1
+ {"version":3,"file":"CalendarHeader.js","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;;;IAoBrC,iCAEqC;IAAnC,8MAAS,kCAAwB,KAAC;IAClC,YACF;IAAA,iBAAS;;;;IAHP,0GAA2F;IAE3F,cACF;IADE,4CACF;;;;IAIE,AADF,8BAAmC,iBACoH;IAAtB,2LAAS,kBAAW,KAAC;IAAC,sBAAC;IAAA,iBAAS;IAC/J,kCAAqJ;IAAtB,2LAAS,kBAAW,KAAC;IAAC,sBAAC;IACxJ,AADwJ,iBAAS,EAC3J;;;IAFqG,cAAqB;IAArB,0CAAqB;;IACrB,eAAqB;IAArB,0CAAqB;;;AAzB1I,qFAAqF;AAqCrF,MAAM,OAAO,uBAAuB;IACzB,KAAK,GAAG,EAAE,CAAC;IACX,WAAW,GAAa,OAAO,CAAC;IAChC,WAAW,GAAiB,EAAE,CAAC;IAC/B,MAAM,CAAkB;IACjC;6FACyF;IAChF,YAAY,GAAG,IAAI,CAAC;IACpB,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IACf,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;IACjC,UAAU,GAAG,IAAI,YAAY,EAAY,CAAC;IAC1C,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC1C,SAAS,CAAC,CAAS,EAAE,EAAoB,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;iHAhBnD,uBAAuB;6DAAvB,uBAAuB;YA7B9B,AADF,8BAA4B,YACM;YAAA,YAAW;YAAA,iBAAK;YAE9C,AADF,8BAAqC,aACA;YAMjC,8EAEqC;YAGvC,iBAAM;YACN,gFAAoB;YAOlB,AADF,8BAAkC,gBACkD;YAAtB,oGAAS,eAAW,IAAC;YAAC,sBAAQ;YAAA,iBAAS;YACnG,kCAAyD;YAAvB,qGAAS,gBAAY,IAAC;YAAC,aAAkB;YAAA,iBAAS;YACpF,kCAAkF;YAAtB,qGAAS,eAAW,IAAC;YAAC,uBAAQ;YAGhG,AADE,AADE,AAD4F,iBAAS,EAC/F,EACF,EACF;;YA1B4B,eAAW;YAAX,+BAAW;YAQhB,eAAgB;YAAA,AAAhB,yCAAgB,+BAAkB;YAM3D,cAKC;YALD,2CAKC;YAE6B,eAA+B;;YACF,eAAkB;YAAlB,sCAAkB;YAC/C,cAA+B;;4BA1BzD,YAAY;;iFAgCX,uBAAuB;cApCnC,SAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BT;aACF;gBAEU,KAAK;kBAAb,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,MAAM;kBAAd,KAAK;YAGG,YAAY;kBAApB,KAAK;YACG,OAAO;kBAAf,KAAK;YACG,OAAO;kBAAf,KAAK;YACI,IAAI;kBAAb,MAAM;YACG,IAAI;kBAAb,MAAM;YACG,KAAK;kBAAd,MAAM;YACG,UAAU;kBAAnB,MAAM;YACG,IAAI;kBAAb,MAAM;YACG,IAAI;kBAAb,MAAM;;kFAfI,uBAAuB"}