@bimetal/calendar-angular-components 0.35.0 → 0.37.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 +52 -0
  10. package/dist/binding/services/pointer-gesture.service.d.ts.map +1 -0
  11. package/dist/binding/services/pointer-gesture.service.js +83 -0
  12. package/dist/binding/services/pointer-gesture.service.js.map +1 -0
  13. package/dist/components/Calendar.d.ts +20 -4
  14. package/dist/components/Calendar.d.ts.map +1 -1
  15. package/dist/components/Calendar.js +133 -31
  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 +12 -6
  30. package/dist/components/EventDialog.d.ts.map +1 -1
  31. package/dist/components/EventDialog.js +122 -45
  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 +17 -13
@@ -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,49 @@ 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
+ // bimetal-258: DER CACHE IST WEG, weil sein Grund weg ist. Er stand hier seit
270
+ // bimetal-131 M2, weil dieser Getter als blanke Ableitung `ctrl.getHistory()`
271
+ // bei JEDEM Change-Detection-Durchlauf fuhr, solange ein Dialog offen war —
272
+ // ein Filter ueber den ganzen Stream plus `structuredClone` je Tastendruck,
273
+ // linear wachsend mit der Streamlaenge, und die frischen Identitaeten bauten
274
+ // die Historien-DOM jedes Mal neu. Jetzt laedt der Controller die Zeilen
275
+ // einmal beim Oeffnen und legt sie in den Dialog-Zustand; hier bleibt ein
276
+ // Durchreichen, dessen Identitaet sich nur mit dem Dialog aendert.
234
277
  get dialogHistory() {
235
- const ev = this.snapshot.dialog?.event;
236
- return ev ? this.ctrl.getHistory(ev.id) : [];
278
+ return this.snapshot.dialog?.history ?? EMPTY_HISTORY;
237
279
  }
238
280
  syncEventRenderService() {
239
281
  if (!this.eventRenderService)
@@ -268,21 +310,28 @@ export class CalendarComponent {
268
310
  this.snapshotSig = sig;
269
311
  }
270
312
  else {
271
- this.binding = createCalendarControllerBinding({
313
+ // bimetal-181: roh standen hier `eventInteraction` und `resolveActor` — zwei
314
+ // FUNKTIONEN, die der Getter jetzt bei jedem Aufruf neu von `this` liest.
315
+ // R1-Korrektur: `eventDialogKind` gehörte NICHT in diese Aufzählung. Es ist ein
316
+ // String, also ein Nicht-Funktions-Feld — `liveOptions` friert es am Aufbau ein,
317
+ // genau wie vorher. Geändert wird es über `ctrl.setEventDialogKind` (unten in
318
+ // `ngOnChanges`), in allen drei Stacks; der Getter heilt daran nichts.
319
+ this.binding = createCalendarControllerBinding(() => ({
272
320
  store: this.store,
273
321
  config: this.config,
274
322
  rules: this.rules,
275
323
  customViews: this.customViews,
276
324
  eventInteraction: this.eventInteraction,
325
+ resolveActor: this.resolveActor,
277
326
  eventDialogKind: this.eventDialog.kind,
278
327
  onEventClickExternal: (id, rect, inst) => this.onEventClick?.(id, rect, inst),
279
328
  onNewEventRequestedExternal: (date, rect, rid) => this.onNewEventRequested?.(date, rect, rid),
280
329
  // OBSERVE: fires on selection state change (separate from `none` delegation).
281
330
  onSelectionChange: (sel) => this.onSelectionChange?.(sel),
282
- onError: (err) => this.onError?.(err),
331
+ onError: (err) => (this.onError ?? reportUnroutedCalendarError)(err),
283
332
  onHistoryChange: (change) => this.onHistoryChange?.(change),
284
333
  onWarning: (warnings) => this.onWarning?.(warnings),
285
- }, this.zone);
334
+ }), this.zone);
286
335
  this.ctrlRef = this.binding.ctrl;
287
336
  this.snapshotSig = this.binding.snapshot;
288
337
  // Mirror the current view onto the render service after every update so
@@ -309,6 +358,23 @@ export class CalendarComponent {
309
358
  if (changes['eventDialog'] && !changes['eventDialog'].firstChange) {
310
359
  this.ctrl.setEventDialogKind(this.eventDialog.kind);
311
360
  }
361
+ // bimetal-185 — DIE VIERTE REAKTIVE LEITUNG, und die einzige, die eine
362
+ // FUNKTION traegt. Sie entstand in bimetal-180 R1 im Kern, wurde aber nur
363
+ // vom React-Binding gepusht; drei Stacks standen auf dem Vorzustand: der
364
+ // Controller schrieb seine erste Policy-Antwort je Event dauerhaft fest,
365
+ // fuer die Affordanz UND fuer die Durchsetzung.
366
+ //
367
+ // Gepusht wird die ROHE `@Input`-Referenz, nicht die Weiterleitung aus dem
368
+ // Options-Getter — die ist stabil und traege damit nichts (bimetal-180).
369
+ //
370
+ // WAS „COMMIT-GEBUNDEN" HIER HEISST, ist erhoben statt von React
371
+ // uebernommen: `ngOnChanges` LAEUFT ERST, wenn Angular den neuen Input
372
+ // wirklich gesetzt hat — ein verworfener Render, den React fuerchtet, gibt
373
+ // es hier nicht. Dieselbe Bauform wie fuer die drei Leitungen darueber,
374
+ // samt `firstChange`-Riegel: den Erstwert traegt schon der Aufbau.
375
+ if (changes['eventInteraction'] && !changes['eventInteraction'].firstChange) {
376
+ this.ctrl.setEventInteraction(this.eventInteraction);
377
+ }
312
378
  }
313
379
  this.syncEventRenderService();
314
380
  }
@@ -324,8 +390,19 @@ export class CalendarComponent {
324
390
  getCustomView(id) {
325
391
  return this.customViews?.find(v => v.id === id);
326
392
  }
393
+ // CACHED PER SNAPSHOT — bimetal-131 M3. Bound via *ngComponentOutlet's
394
+ // `inputs:`, and ngComponentOutlet diffs the inputs OBJECT by reference: a
395
+ // bare getter handed it a fresh object with fresh callback closures on every
396
+ // CD pass, so the consumer's custom view took a setInput/ngOnChanges storm on
397
+ // every DOM event. If that view has draggable content in an un-trackBy'd
398
+ // ngFor, this reproduces mcp-129 AT THE CONSUMER — with the framework as the
399
+ // cause. Every value below derives from the snapshot; the callbacks close
400
+ // only over `this.ctrl` (stable) — snapshot identity is the complete key.
401
+ customViewInputsCache = null;
327
402
  get customViewInputs() {
328
- return {
403
+ if (this.customViewInputsCache?.snap === this.snapshot)
404
+ return this.customViewInputsCache.value;
405
+ const value = {
329
406
  currentDate: this.snapshot.currentDate,
330
407
  events: this.snapshot.events,
331
408
  config: this.mergedConfig,
@@ -336,31 +413,47 @@ export class CalendarComponent {
336
413
  onSelectEvent: (eventId, instanceDate) => this.ctrl.selectEvent(eventId, instanceDate),
337
414
  onClearSelection: () => this.ctrl.clearSelection(),
338
415
  };
416
+ this.customViewInputsCache = { snap: this.snapshot, value };
417
+ return value;
339
418
  }
340
419
  /** Component class for the custom dialog (template binding helper). */
341
420
  get customDialogComponent() {
342
421
  return this.eventDialog.kind === 'custom' ? this.eventDialog.component : null;
343
422
  }
344
423
  /** Inputs passed to the custom dialog via *ngComponentOutlet. */
424
+ // CACHED PER SNAPSHOT — bimetal-131 M3, same class as customViewInputs above.
425
+ eventDialogInputsCache = null;
345
426
  get eventDialogInputs() {
346
427
  const dialog = this.snapshot.dialog;
347
428
  if (!dialog)
348
429
  return undefined;
349
- return {
430
+ if (this.eventDialogInputsCache?.snap === this.snapshot)
431
+ return this.eventDialogInputsCache.value;
432
+ const value = {
350
433
  event: dialog.event,
351
434
  defaultDate: dialog.defaultDate,
352
435
  anchorRect: dialog.anchorRect,
353
436
  defaultResourceId: dialog.defaultResourceId,
354
437
  config: this.mergedConfig,
355
438
  onClose: () => this.ctrl.closeDialog(),
356
- onSave: (ev) => { void this.ctrl.saveDialog(ev); },
357
- onDelete: (id) => { void this.ctrl.deleteDialog(id); },
439
+ onSave: (ev) => { this.ctrl.voidSaveDialog(ev); },
440
+ onDelete: (id) => { this.ctrl.voidDeleteDialog(id); },
358
441
  };
442
+ this.eventDialogInputsCache = { snap: this.snapshot, value };
443
+ return value;
359
444
  }
360
445
  // ── DOM-event → controller-intent bindings ──────────────────────
361
446
  handleEventClick(ev) {
362
447
  this.ctrl.openEdit(ev.eventId, ev.rect, ev.instanceDate);
363
448
  }
449
+ /** mcp-116: re-open the dialog on the series master behind the shown occurrence.
450
+ * The anchor stays the one the dialog already sits on — the user is not moving. */
451
+ handleEditSeries(eventId) {
452
+ const anchorRect = this.snapshot.dialog?.anchorRect;
453
+ if (!anchorRect)
454
+ return;
455
+ this.ctrl.openEditSeries(eventId, anchorRect);
456
+ }
364
457
  handleDayCellClick(ev) {
365
458
  this.ctrl.openCreate(ev.date, ev.rect);
366
459
  }
@@ -373,25 +466,25 @@ export class CalendarComponent {
373
466
  handleDropEvent(ev) {
374
467
  const info = parseDragInfo(ev.event.dataTransfer);
375
468
  if (info)
376
- void this.ctrl.dropAllDay(info, ev.date);
469
+ this.ctrl.voidDropAllDay(info, ev.date);
377
470
  }
378
471
  handleDropTimedEvent(ev) {
379
472
  const info = parseDragInfo(ev.event.dataTransfer);
380
473
  if (info)
381
- void this.ctrl.dropTimed(info, ev.date, ev.time);
474
+ this.ctrl.voidDropTimed(info, ev.date, ev.time);
382
475
  }
383
476
  handleResourceDrop(ev) {
384
477
  const info = parseDragInfo(ev.event.dataTransfer);
385
478
  if (info)
386
- void this.ctrl.dropResource(info, ev.date, ev.time, ev.resourceId);
479
+ this.ctrl.voidDropResource(info, ev.date, ev.time, ev.resourceId);
387
480
  }
388
481
  handleTimelineDrop(ev) {
389
482
  const info = parseDragInfo(ev.event.dataTransfer);
390
483
  if (info)
391
- void this.ctrl.dropTimeline(info, ev.date, ev.resourceId);
484
+ this.ctrl.voidDropTimeline(info, ev.date, ev.resourceId);
392
485
  }
393
486
  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) {
487
+ 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
488
  i0.ɵɵelementStart(0, "div", 0);
396
489
  i0.ɵɵlistener("keydown", function CalendarComponent_Template_div_keydown_0_listener($event) { return ctx.keyHandler($event); });
397
490
  i0.ɵɵelementStart(1, "cal-header", 1);
@@ -400,10 +493,10 @@ export class CalendarComponent {
400
493
  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
494
  i0.ɵɵelementEnd();
402
495
  } 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);
496
+ let tmp_2_0;
497
+ 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
498
  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);
499
+ 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
500
  i0.ɵɵadvance();
408
501
  i0.ɵɵproperty("ngIf", ctx.showCategoryFilter && ctx.mergedConfig.categories.length > 0);
409
502
  i0.ɵɵadvance();
@@ -446,13 +539,13 @@ export class CalendarComponent {
446
539
  YearViewComponent, ResourceViewComponent, TimelineViewComponent,
447
540
  ],
448
541
  template: `
449
- <div class="bm-cal" [attr.data-theme]="darkMode ? 'dark' : null" [attr.dir]="dir ?? null" (keydown)="keyHandler($event)">
542
+ <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
543
  <cal-header
451
544
  [title]="snapshot.title"
452
545
  [currentView]="snapshot.currentView"
453
546
  [viewConfigs]="viewConfigList"
454
547
  [locale]="mergedConfig.locale"
455
- [showUndoRedo]="showUndoRedo"
548
+ [showUndoRedo]="showUndoRedo && !snapshot.config.readOnly"
456
549
  [canUndo]="snapshot.canUndo"
457
550
  [canRedo]="snapshot.canRedo"
458
551
  (prev)="ctrl.prev()"
@@ -491,6 +584,7 @@ export class CalendarComponent {
491
584
  (clearSelection)="ctrl.clearSelection()"
492
585
  (dayCellClick)="handleDayCellClick($event)"
493
586
  (dropEvent)="handleDropEvent($event)"
587
+ (dropDayInfo)="ctrl.voidDropAllDay($event.info, $event.date)"
494
588
  (dragOverDate)="ctrl.updatePreview($event)"
495
589
  (hidePreviewEv)="ctrl.hidePreview()"
496
590
  (dragEnd)="ctrl.endDrag()"
@@ -508,6 +602,8 @@ export class CalendarComponent {
508
602
  (dayCellClick)="handleDayCellClick($event)"
509
603
  (dropEvent)="handleDropEvent($event)"
510
604
  (dropTimedEvent)="handleDropTimedEvent($event)"
605
+ (dropTimedInfo)="ctrl.voidDropTimed($event.info, $event.date, $event.time)"
606
+ (dropDayInfo)="ctrl.voidDropAllDay($event.info, $event.date)"
511
607
  (dragOverDate)="ctrl.updatePreview($event)"
512
608
  (dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
513
609
  (hidePreviewEv)="ctrl.hidePreview()"
@@ -523,6 +619,7 @@ export class CalendarComponent {
523
619
  (clearSelection)="ctrl.clearSelection()"
524
620
  (dayCellClick)="handleDayCellClick($event)"
525
621
  (dropTimedEvent)="handleDropTimedEvent($event)"
622
+ (dropTimedInfo)="ctrl.voidDropTimed($event.info, $event.date, $event.time)"
526
623
  (dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
527
624
  (hidePreviewEv)="ctrl.hidePreview()"
528
625
  (dragEnd)="ctrl.endDrag()"
@@ -542,6 +639,7 @@ export class CalendarComponent {
542
639
  (clearSelection)="ctrl.clearSelection()"
543
640
  (timelineCellClick)="handleTimelineCellClick($event)"
544
641
  (timelineDrop)="handleTimelineDrop($event)"
642
+ (timelineDropInfo)="ctrl.voidDropTimeline($event.info, $event.date, $event.resourceId)"
545
643
  (dragOverDate)="ctrl.updatePreview($event)"
546
644
  (hidePreviewEv)="ctrl.hidePreview()"
547
645
  (dragEnd)="ctrl.endDrag()"
@@ -558,6 +656,7 @@ export class CalendarComponent {
558
656
  (clearSelection)="ctrl.clearSelection()"
559
657
  (resourceCellClick)="handleResourceCellClick($event)"
560
658
  (resourceDrop)="handleResourceDrop($event)"
659
+ (resourceDropInfo)="ctrl.voidDropResource($event.info, $event.date, $event.time, $event.resourceId)"
561
660
  (dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
562
661
  (hidePreviewEv)="ctrl.hidePreview()"
563
662
  (dragEnd)="ctrl.endDrag()"
@@ -581,7 +680,8 @@ export class CalendarComponent {
581
680
  [history]="dialogHistory"
582
681
  (setDraft)="ctrl.setDraft($event)"
583
682
  (save)="saveDialogFromInput()"
584
- (deleteEvent)="ctrl.deleteDialog($event)"
683
+ (deleteEvent)="ctrl.voidDeleteDialog($event)"
684
+ (editSeries)="handleEditSeries($event)"
585
685
  (close)="ctrl.closeDialog()">
586
686
  </cal-event-dialog>
587
687
 
@@ -640,6 +740,8 @@ export class CalendarComponent {
640
740
  type: Input
641
741
  }], eventInteraction: [{
642
742
  type: Input
743
+ }], resolveActor: [{
744
+ type: Input
643
745
  }] }); })();
644
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 196 }); })();
746
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 207 }); })();
645
747
  //# 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