@bimetal/calendar-angular-components 0.34.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 (92) hide show
  1. package/LICENSE +57 -129
  2. package/README.md +1 -1
  3. package/dist/binding/controller.d.ts +10 -1
  4. package/dist/binding/controller.d.ts.map +1 -1
  5. package/dist/binding/controller.js +11 -1
  6. package/dist/binding/controller.js.map +1 -1
  7. package/dist/binding/index.d.ts +5 -5
  8. package/dist/binding/index.d.ts.map +1 -1
  9. package/dist/binding/index.js +5 -5
  10. package/dist/binding/index.js.map +1 -1
  11. package/dist/binding/services/event-render.service.d.ts +9 -0
  12. package/dist/binding/services/event-render.service.d.ts.map +1 -1
  13. package/dist/binding/services/event-render.service.js +11 -0
  14. package/dist/binding/services/event-render.service.js.map +1 -1
  15. package/dist/binding/services/pointer-gesture.service.d.ts +26 -0
  16. package/dist/binding/services/pointer-gesture.service.d.ts.map +1 -0
  17. package/dist/binding/services/pointer-gesture.service.js +37 -0
  18. package/dist/binding/services/pointer-gesture.service.js.map +1 -0
  19. package/dist/components/Calendar.d.ts +47 -8
  20. package/dist/components/Calendar.d.ts.map +1 -1
  21. package/dist/components/Calendar.js +183 -63
  22. package/dist/components/Calendar.js.map +1 -1
  23. package/dist/components/CalendarHeader.d.ts +12 -1
  24. package/dist/components/CalendarHeader.d.ts.map +1 -1
  25. package/dist/components/CalendarHeader.js +66 -14
  26. package/dist/components/CalendarHeader.js.map +1 -1
  27. package/dist/components/CategoryFilter.d.ts +4 -0
  28. package/dist/components/CategoryFilter.d.ts.map +1 -1
  29. package/dist/components/CategoryFilter.js +10 -5
  30. package/dist/components/CategoryFilter.js.map +1 -1
  31. package/dist/components/EventBar.d.ts +15 -4
  32. package/dist/components/EventBar.d.ts.map +1 -1
  33. package/dist/components/EventBar.js +108 -37
  34. package/dist/components/EventBar.js.map +1 -1
  35. package/dist/components/EventDialog.d.ts +11 -4
  36. package/dist/components/EventDialog.d.ts.map +1 -1
  37. package/dist/components/EventDialog.js +86 -44
  38. package/dist/components/EventDialog.js.map +1 -1
  39. package/dist/components/EventHistory.d.ts +14 -9
  40. package/dist/components/EventHistory.d.ts.map +1 -1
  41. package/dist/components/EventHistory.js +59 -55
  42. package/dist/components/EventHistory.js.map +1 -1
  43. package/dist/components/UndoToast.d.ts +9 -5
  44. package/dist/components/UndoToast.d.ts.map +1 -1
  45. package/dist/components/UndoToast.js +16 -27
  46. package/dist/components/UndoToast.js.map +1 -1
  47. package/dist/index.d.ts +0 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +0 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/styles/index.css.d.ts +3 -0
  52. package/dist/views/agenda/AgendaView.d.ts +1 -0
  53. package/dist/views/agenda/AgendaView.d.ts.map +1 -1
  54. package/dist/views/agenda/AgendaView.js +9 -2
  55. package/dist/views/agenda/AgendaView.js.map +1 -1
  56. package/dist/views/day/DayView.d.ts +30 -4
  57. package/dist/views/day/DayView.d.ts.map +1 -1
  58. package/dist/views/day/DayView.js +61 -17
  59. package/dist/views/day/DayView.js.map +1 -1
  60. package/dist/views/month/MonthView.d.ts +21 -4
  61. package/dist/views/month/MonthView.d.ts.map +1 -1
  62. package/dist/views/month/MonthView.js +66 -12
  63. package/dist/views/month/MonthView.js.map +1 -1
  64. package/dist/views/month/WeekRow.d.ts +28 -4
  65. package/dist/views/month/WeekRow.d.ts.map +1 -1
  66. package/dist/views/month/WeekRow.js +100 -29
  67. package/dist/views/month/WeekRow.js.map +1 -1
  68. package/dist/views/resource/ResourceView.d.ts +32 -1
  69. package/dist/views/resource/ResourceView.d.ts.map +1 -1
  70. package/dist/views/resource/ResourceView.js +84 -22
  71. package/dist/views/resource/ResourceView.js.map +1 -1
  72. package/dist/views/timeline/TimelineView.d.ts +29 -3
  73. package/dist/views/timeline/TimelineView.d.ts.map +1 -1
  74. package/dist/views/timeline/TimelineView.js +83 -17
  75. package/dist/views/timeline/TimelineView.js.map +1 -1
  76. package/dist/views/week/AllDayRow.d.ts +21 -3
  77. package/dist/views/week/AllDayRow.d.ts.map +1 -1
  78. package/dist/views/week/AllDayRow.js +60 -13
  79. package/dist/views/week/AllDayRow.js.map +1 -1
  80. package/dist/views/week/TimeEvent.d.ts +20 -4
  81. package/dist/views/week/TimeEvent.d.ts.map +1 -1
  82. package/dist/views/week/TimeEvent.js +101 -31
  83. package/dist/views/week/TimeEvent.js.map +1 -1
  84. package/dist/views/week/WeekView.d.ts +25 -2
  85. package/dist/views/week/WeekView.d.ts.map +1 -1
  86. package/dist/views/week/WeekView.js +69 -21
  87. package/dist/views/week/WeekView.js.map +1 -1
  88. package/dist/views/year/YearView.d.ts +11 -4
  89. package/dist/views/year/YearView.d.ts.map +1 -1
  90. package/dist/views/year/YearView.js +26 -5
  91. package/dist/views/year/YearView.js.map +1 -1
  92. package/package.json +16 -13
@@ -1,5 +1,7 @@
1
1
  import { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { dialogEnterCommits } from '@bimetal/calendar-headless';
4
+ import { isEnterActivatedTarget } from '@bimetal/a11y-dom';
3
5
  import { FocusTrapDirective } from '@bimetal/angular';
4
6
  import { EventHistoryComponent } from './EventHistory.js';
5
7
  import * as i0 from "@angular/core";
@@ -12,7 +14,7 @@ function EventDialogComponent_cal_event_history_3_Template(rf, ctx) { if (rf & 1
12
14
  i0.ɵɵelementEnd();
13
15
  } if (rf & 2) {
14
16
  const ctx_r2 = i0.ɵɵnextContext();
15
- i0.ɵɵproperty("eventId", ctx_r2.event.id)("history", ctx_r2.history)("locale", ctx_r2.config.locale)("timezone", ctx_r2.config.core.timezone);
17
+ i0.ɵɵproperty("eventId", ctx_r2.event.id)("history", ctx_r2.history)("locale", ctx_r2.config.locale);
16
18
  } }
17
19
  function EventDialogComponent_ng_container_4_div_12_div_5_Template(rf, ctx) { if (rf & 1) {
18
20
  const _r6 = i0.ɵɵgetCurrentView();
@@ -88,66 +90,81 @@ function EventDialogComponent_ng_container_4_div_12_Template(rf, ctx) { if (rf &
88
90
  i0.ɵɵadvance();
89
91
  i0.ɵɵproperty("ngIf", ctx_r2.draft.recurring);
90
92
  } }
91
- function EventDialogComponent_ng_container_4_div_13_Template(rf, ctx) { if (rf & 1) {
92
- i0.ɵɵelementStart(0, "div", 44);
93
+ function EventDialogComponent_ng_container_4_div_13_button_3_Template(rf, ctx) { if (rf & 1) {
94
+ const _r7 = i0.ɵɵgetCurrentView();
95
+ i0.ɵɵelementStart(0, "button", 46);
96
+ i0.ɵɵlistener("click", function EventDialogComponent_ng_container_4_div_13_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.editSeries.emit(ctx_r2.event.id)); });
93
97
  i0.ɵɵtext(1);
94
98
  i0.ɵɵelementEnd();
99
+ } if (rf & 2) {
100
+ const ctx_r2 = i0.ɵɵnextContext(3);
101
+ i0.ɵɵadvance();
102
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.config.locale.editSeries, " ");
103
+ } }
104
+ function EventDialogComponent_ng_container_4_div_13_Template(rf, ctx) { if (rf & 1) {
105
+ i0.ɵɵelementStart(0, "div", 44)(1, "span");
106
+ i0.ɵɵtext(2);
107
+ i0.ɵɵelementEnd();
108
+ i0.ɵɵtemplate(3, EventDialogComponent_ng_container_4_div_13_button_3_Template, 2, 1, "button", 45);
109
+ i0.ɵɵelementEnd();
95
110
  } if (rf & 2) {
96
111
  const ctx_r2 = i0.ɵɵnextContext(2);
112
+ i0.ɵɵadvance(2);
113
+ i0.ɵɵtextInterpolate1("\u21BB ", ctx_r2.config.locale.recurringInstanceNote, "");
97
114
  i0.ɵɵadvance();
98
- i0.ɵɵtextInterpolate1(" \u21BB ", ctx_r2.config.locale.recurringInstanceNote, " ");
115
+ i0.ɵɵproperty("ngIf", ctx_r2.event);
99
116
  } }
100
117
  function EventDialogComponent_ng_container_4_input_19_Template(rf, ctx) { if (rf & 1) {
101
- const _r7 = i0.ɵɵgetCurrentView();
102
- i0.ɵɵelementStart(0, "input", 45);
103
- i0.ɵɵlistener("input", function EventDialogComponent_ng_container_4_input_19_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onStartTime($event)); });
118
+ const _r8 = i0.ɵɵgetCurrentView();
119
+ i0.ɵɵelementStart(0, "input", 47);
120
+ i0.ɵɵlistener("input", function EventDialogComponent_ng_container_4_input_19_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onStartTime($event)); });
104
121
  i0.ɵɵelementEnd();
105
122
  } if (rf & 2) {
106
123
  const ctx_r2 = i0.ɵɵnextContext(2);
107
124
  i0.ɵɵproperty("value", ctx_r2.draft.startTime);
108
125
  } }
109
126
  function EventDialogComponent_ng_container_4_input_25_Template(rf, ctx) { if (rf & 1) {
110
- const _r8 = i0.ɵɵgetCurrentView();
111
- i0.ɵɵelementStart(0, "input", 45);
112
- i0.ɵɵlistener("input", function EventDialogComponent_ng_container_4_input_25_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onEndTime($event)); });
127
+ const _r9 = i0.ɵɵgetCurrentView();
128
+ i0.ɵɵelementStart(0, "input", 47);
129
+ i0.ɵɵlistener("input", function EventDialogComponent_ng_container_4_input_25_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onEndTime($event)); });
113
130
  i0.ɵɵelementEnd();
114
131
  } if (rf & 2) {
115
132
  const ctx_r2 = i0.ɵɵnextContext(2);
116
133
  i0.ɵɵproperty("value", ctx_r2.draft.endTime);
117
134
  } }
118
135
  function EventDialogComponent_ng_container_4_option_31_Template(rf, ctx) { if (rf & 1) {
119
- i0.ɵɵelementStart(0, "option", 46);
136
+ i0.ɵɵelementStart(0, "option", 48);
120
137
  i0.ɵɵtext(1);
121
138
  i0.ɵɵelementEnd();
122
139
  } if (rf & 2) {
123
- const cat_r9 = ctx.$implicit;
140
+ const cat_r10 = ctx.$implicit;
124
141
  const ctx_r2 = i0.ɵɵnextContext(2);
125
- i0.ɵɵproperty("value", cat_r9.name)("selected", cat_r9.name === ctx_r2.draft.category);
142
+ i0.ɵɵproperty("value", cat_r10.name)("selected", cat_r10.name === ctx_r2.draft.category);
126
143
  i0.ɵɵadvance();
127
- i0.ɵɵtextInterpolate(cat_r9.name);
144
+ i0.ɵɵtextInterpolate(cat_r10.name);
128
145
  } }
129
146
  function EventDialogComponent_ng_container_4_label_33_option_6_Template(rf, ctx) { if (rf & 1) {
130
- i0.ɵɵelementStart(0, "option", 46);
147
+ i0.ɵɵelementStart(0, "option", 48);
131
148
  i0.ɵɵtext(1);
132
149
  i0.ɵɵelementEnd();
133
150
  } if (rf & 2) {
134
- const r_r11 = ctx.$implicit;
151
+ const r_r12 = ctx.$implicit;
135
152
  const ctx_r2 = i0.ɵɵnextContext(3);
136
- i0.ɵɵproperty("value", r_r11.id)("selected", r_r11.id === ctx_r2.draft.resourceId);
153
+ i0.ɵɵproperty("value", r_r12.id)("selected", r_r12.id === ctx_r2.draft.resourceId);
137
154
  i0.ɵɵadvance();
138
- i0.ɵɵtextInterpolate(r_r11.name);
155
+ i0.ɵɵtextInterpolate(r_r12.name);
139
156
  } }
140
157
  function EventDialogComponent_ng_container_4_label_33_Template(rf, ctx) { if (rf & 1) {
141
- const _r10 = i0.ɵɵgetCurrentView();
158
+ const _r11 = i0.ɵɵgetCurrentView();
142
159
  i0.ɵɵelementStart(0, "label", 16)(1, "span");
143
160
  i0.ɵɵtext(2);
144
161
  i0.ɵɵelementEnd();
145
162
  i0.ɵɵelementStart(3, "select", 21);
146
- i0.ɵɵlistener("change", function EventDialogComponent_ng_container_4_label_33_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onResourceId($event)); });
147
- i0.ɵɵelementStart(4, "option", 47);
163
+ i0.ɵɵlistener("change", function EventDialogComponent_ng_container_4_label_33_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onResourceId($event)); });
164
+ i0.ɵɵelementStart(4, "option", 49);
148
165
  i0.ɵɵtext(5, "\u2014");
149
166
  i0.ɵɵelementEnd();
150
- i0.ɵɵtemplate(6, EventDialogComponent_ng_container_4_label_33_option_6_Template, 2, 3, "option", 48);
167
+ i0.ɵɵtemplate(6, EventDialogComponent_ng_container_4_label_33_option_6_Template, 2, 3, "option", 50);
151
168
  i0.ɵɵelementEnd()();
152
169
  } if (rf & 2) {
153
170
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -159,17 +176,17 @@ function EventDialogComponent_ng_container_4_label_33_Template(rf, ctx) { if (rf
159
176
  i0.ɵɵproperty("ngForOf", ctx_r2.config.resources)("ngForTrackBy", ctx_r2.trackResource);
160
177
  } }
161
178
  function EventDialogComponent_ng_container_4_div_42_div_1_Template(rf, ctx) { if (rf & 1) {
162
- i0.ɵɵelementStart(0, "div", 51);
179
+ i0.ɵɵelementStart(0, "div", 53);
163
180
  i0.ɵɵtext(1);
164
181
  i0.ɵɵelementEnd();
165
182
  } if (rf & 2) {
166
- const err_r12 = ctx.$implicit;
183
+ const err_r13 = ctx.$implicit;
167
184
  i0.ɵɵadvance();
168
- i0.ɵɵtextInterpolate(err_r12);
185
+ i0.ɵɵtextInterpolate(err_r13);
169
186
  } }
170
187
  function EventDialogComponent_ng_container_4_div_42_Template(rf, ctx) { if (rf & 1) {
171
- i0.ɵɵelementStart(0, "div", 49);
172
- i0.ɵɵtemplate(1, EventDialogComponent_ng_container_4_div_42_div_1_Template, 2, 1, "div", 50);
188
+ i0.ɵɵelementStart(0, "div", 51);
189
+ i0.ɵɵtemplate(1, EventDialogComponent_ng_container_4_div_42_div_1_Template, 2, 1, "div", 52);
173
190
  i0.ɵɵelementEnd();
174
191
  } if (rf & 2) {
175
192
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -177,9 +194,9 @@ function EventDialogComponent_ng_container_4_div_42_Template(rf, ctx) { if (rf &
177
194
  i0.ɵɵproperty("ngForOf", ctx_r2.validationErrors);
178
195
  } }
179
196
  function EventDialogComponent_ng_container_4_button_44_Template(rf, ctx) { if (rf & 1) {
180
- const _r13 = i0.ɵɵgetCurrentView();
181
- i0.ɵɵelementStart(0, "button", 52);
182
- i0.ɵɵlistener("click", function EventDialogComponent_ng_container_4_button_44_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.deleteEvent.emit(ctx_r2.event.id)); });
197
+ const _r14 = i0.ɵɵgetCurrentView();
198
+ i0.ɵɵelementStart(0, "button", 54);
199
+ i0.ɵɵlistener("click", function EventDialogComponent_ng_container_4_button_44_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.deleteEvent.emit(ctx_r2.event.id)); });
183
200
  i0.ɵɵtext(1);
184
201
  i0.ɵɵelementEnd();
185
202
  } if (rf & 2) {
@@ -188,9 +205,9 @@ function EventDialogComponent_ng_container_4_button_44_Template(rf, ctx) { if (r
188
205
  i0.ɵɵtextInterpolate1(" ", ctx_r2.config.locale.delete, " ");
189
206
  } }
190
207
  function EventDialogComponent_ng_container_4_button_45_Template(rf, ctx) { if (rf & 1) {
191
- const _r14 = i0.ɵɵgetCurrentView();
192
- i0.ɵɵelementStart(0, "button", 53);
193
- i0.ɵɵlistener("click", function EventDialogComponent_ng_container_4_button_45_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openHistory()); });
208
+ const _r15 = i0.ɵɵgetCurrentView();
209
+ i0.ɵɵelementStart(0, "button", 55);
210
+ i0.ɵɵlistener("click", function EventDialogComponent_ng_container_4_button_45_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openHistory()); });
194
211
  i0.ɵɵtext(1);
195
212
  i0.ɵɵelementEnd();
196
213
  } if (rf & 2) {
@@ -217,7 +234,7 @@ function EventDialogComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
217
234
  i0.ɵɵelementStart(11, "input", 12);
218
235
  i0.ɵɵlistener("change", function EventDialogComponent_ng_container_4_Template_input_change_11_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onAllDay($event)); });
219
236
  i0.ɵɵelementEnd()();
220
- i0.ɵɵtemplate(12, EventDialogComponent_ng_container_4_div_12_Template, 6, 3, "div", 13)(13, EventDialogComponent_ng_container_4_div_13_Template, 2, 1, "div", 14);
237
+ i0.ɵɵtemplate(12, EventDialogComponent_ng_container_4_div_12_Template, 6, 3, "div", 13)(13, EventDialogComponent_ng_container_4_div_13_Template, 4, 2, "div", 14);
221
238
  i0.ɵɵelementStart(14, "div", 15)(15, "label", 16)(16, "span");
222
239
  i0.ɵɵtext(17);
223
240
  i0.ɵɵelementEnd();
@@ -325,16 +342,26 @@ function EventDialogComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
325
342
  i0.ɵɵadvance();
326
343
  i0.ɵɵtextInterpolate1(" ", ctx_r2.isNew ? ctx_r2.config.locale.create : ctx_r2.config.locale.save, " ");
327
344
  } }
345
+ /**
346
+ * Create/edit dialog for a single event. Renders the controller-held draft form
347
+ * and delegates all mutation through `setDraft`/`save`/`deleteEvent`; can also
348
+ * show the event's revision history.
349
+ */
328
350
  export class EventDialogComponent {
329
351
  /** Controller-owned dialog state (draft, flags, validation). */
330
352
  dialog;
331
353
  config;
354
+ // readonly (bimetal-131 R1) — pass-through of the parent's snapshot-cached
355
+ // array; see EventHistory for the rationale.
332
356
  history = [];
333
357
  /** Patch the controlled draft from raw input (controller applies the policy). */
334
358
  setDraft = new EventEmitter();
335
359
  /** Assemble + validate + save the held draft (controller owns all of it). */
336
360
  save = new EventEmitter();
337
361
  deleteEvent = new EventEmitter();
362
+ /** Re-open the dialog on the SERIES MASTER behind an occurrence (mcp-116). Emits the
363
+ * event id; the anchor rect stays with the parent, which owns the dialog state. */
364
+ editSeries = new EventEmitter();
338
365
  close = new EventEmitter();
339
366
  dialogEl;
340
367
  showHistory = false;
@@ -390,11 +417,18 @@ export class EventDialogComponent {
390
417
  onResourceId(e) { this.setDraft.emit({ resourceId: e.target.value }); }
391
418
  onLocation(e) { this.setDraft.emit({ location: this.value(e) }); }
392
419
  onDescription(e) { this.setDraft.emit({ description: e.target.value }); }
420
+ // Enter-to-commit is a POLICY, owned once by headless: it must stand down when the
421
+ // focused control activates itself on Enter (the series link), or preventDefault()
422
+ // would cancel that control's native click and save instead.
393
423
  handleKeyDown(e) {
394
- if (e.key === 'Enter' && !e.shiftKey) {
395
- e.preventDefault();
396
- this.handleSave();
397
- }
424
+ if (!dialogEnterCommits({
425
+ key: e.key,
426
+ shiftKey: e.shiftKey,
427
+ targetActivatesOnEnter: isEnterActivatedTarget(e.target),
428
+ }))
429
+ return;
430
+ e.preventDefault();
431
+ this.handleSave();
398
432
  }
399
433
  handleSave() { this.save.emit(); }
400
434
  static ɵfac = function EventDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventDialogComponent)(); };
@@ -403,14 +437,14 @@ export class EventDialogComponent {
403
437
  } if (rf & 2) {
404
438
  let _t;
405
439
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dialogEl = _t.first);
406
- } }, hostAttrs: [2, "display", "contents"], inputs: { dialog: "dialog", config: "config", history: "history" }, outputs: { setDraft: "setDraft", save: "save", deleteEvent: "deleteEvent", close: "close" }, decls: 5, vars: 4, consts: [["dialogEl", ""], [1, "bm-cal__dialog-backdrop", 3, "click"], ["role", "dialog", "aria-modal", "true", "bmFocusTrap", "", 1, "bm-cal__dialog", 3, "keydown", "bmFocusTrapOnEscape"], [3, "eventId", "history", "locale", "timezone", "back", 4, "ngIf"], [4, "ngIf"], [3, "back", "eventId", "history", "locale", "timezone"], [1, "bm-cal__dialog-header"], [1, "bm-cal__dialog-title"], [1, "bm-cal__dialog-close", 3, "click"], [1, "bm-cal__dialog-body"], ["type", "text", 1, "bm-cal__dialog-input", "bm-cal__dialog-input--title", 3, "input", "placeholder", "value"], [1, "bm-cal__dialog-toggle"], ["type", "checkbox", 3, "change", "checked"], ["class", "bm-cal__dialog-recurrence", 4, "ngIf"], ["style", "font-size: 12px; color: var(--cal-color-text-muted); padding: 4px 0;", 4, "ngIf"], [1, "bm-cal__dialog-row"], [1, "bm-cal__dialog-label"], ["type", "date", 1, "bm-cal__dialog-input", 3, "input", "value"], ["class", "bm-cal__dialog-input bm-cal__dialog-input--time", "type", "time", 3, "value", "input", 4, "ngIf"], ["type", "date", 1, "bm-cal__dialog-input", 3, "input", "value", "min"], [1, "bm-cal__dialog-category-row"], [1, "bm-cal__dialog-input", 3, "change"], [3, "value", "selected", 4, "ngFor", "ngForOf"], [1, "bm-cal__category-dot"], ["class", "bm-cal__dialog-label", 4, "ngIf"], ["type", "text", 1, "bm-cal__dialog-input", 3, "input", "value"], [1, "bm-cal__dialog-input", "bm-cal__dialog-input--description", 3, "input", "value"], ["class", "bm-cal__dialog-errors", 4, "ngIf"], [1, "bm-cal__dialog-footer"], ["class", "bm-cal__dialog-btn bm-cal__dialog-btn--delete", 3, "click", 4, "ngIf"], ["class", "bm-cal__dialog-btn bm-cal__dialog-btn--history", 3, "click", 4, "ngIf"], [1, "bm-cal__dialog-footer-right"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--cancel", 3, "click"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--save", 3, "click", "disabled"], [1, "bm-cal__dialog-recurrence"], ["class", "bm-cal__dialog-row", "style", "gap: 8px; align-items: center;", 4, "ngIf"], [1, "bm-cal__dialog-row", 2, "gap", "8px", "align-items", "center"], [2, "font-size", "13px"], ["type", "number", "min", "1", "max", "99", 1, "bm-cal__dialog-input", 2, "width", "50px", 3, "input", "value"], ["value", "daily", 3, "selected"], ["value", "weekly", 3, "selected"], ["value", "monthly", 3, "selected"], ["value", "yearly", 3, "selected"], [1, "bm-cal__dialog-label", 2, "flex-direction", "row", "align-items", "center", "gap", "6px"], [2, "font-size", "12px", "color", "var(--cal-color-text-muted)", "padding", "4px 0"], ["type", "time", 1, "bm-cal__dialog-input", "bm-cal__dialog-input--time", 3, "input", "value"], [3, "value", "selected"], ["value", "", 3, "selected"], [3, "value", "selected", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal__dialog-errors"], ["class", "bm-cal__dialog-error", 4, "ngFor", "ngForOf"], [1, "bm-cal__dialog-error"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--delete", 3, "click"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--history", 3, "click"]], template: function EventDialogComponent_Template(rf, ctx) { if (rf & 1) {
440
+ } }, hostAttrs: [2, "display", "contents"], inputs: { dialog: "dialog", config: "config", history: "history" }, outputs: { setDraft: "setDraft", save: "save", deleteEvent: "deleteEvent", editSeries: "editSeries", close: "close" }, decls: 5, vars: 4, consts: [["dialogEl", ""], [1, "bm-cal__dialog-backdrop", 3, "click"], ["role", "dialog", "aria-modal", "true", "bmFocusTrap", "", 1, "bm-cal__dialog", 3, "keydown", "bmFocusTrapOnEscape"], [3, "eventId", "history", "locale", "back", 4, "ngIf"], [4, "ngIf"], [3, "back", "eventId", "history", "locale"], [1, "bm-cal__dialog-header"], [1, "bm-cal__dialog-title"], [1, "bm-cal__dialog-close", 3, "click"], [1, "bm-cal__dialog-body"], ["type", "text", 1, "bm-cal__dialog-input", "bm-cal__dialog-input--title", 3, "input", "placeholder", "value"], [1, "bm-cal__dialog-toggle"], ["type", "checkbox", 3, "change", "checked"], ["class", "bm-cal__dialog-recurrence", 4, "ngIf"], ["style", "font-size: 12px; color: var(--cal-color-text-muted); padding: 4px 0; display: flex; align-items: center; gap: 8px;", 4, "ngIf"], [1, "bm-cal__dialog-row"], [1, "bm-cal__dialog-label"], ["type", "date", 1, "bm-cal__dialog-input", 3, "input", "value"], ["class", "bm-cal__dialog-input bm-cal__dialog-input--time", "type", "time", 3, "value", "input", 4, "ngIf"], ["type", "date", 1, "bm-cal__dialog-input", 3, "input", "value", "min"], [1, "bm-cal__dialog-category-row"], [1, "bm-cal__dialog-input", 3, "change"], [3, "value", "selected", 4, "ngFor", "ngForOf"], [1, "bm-cal__category-dot"], ["class", "bm-cal__dialog-label", 4, "ngIf"], ["type", "text", 1, "bm-cal__dialog-input", 3, "input", "value"], [1, "bm-cal__dialog-input", "bm-cal__dialog-input--description", 3, "input", "value"], ["class", "bm-cal__dialog-errors", 4, "ngIf"], [1, "bm-cal__dialog-footer"], ["class", "bm-cal__dialog-btn bm-cal__dialog-btn--delete", 3, "click", 4, "ngIf"], ["class", "bm-cal__dialog-btn bm-cal__dialog-btn--history", 3, "click", 4, "ngIf"], [1, "bm-cal__dialog-footer-right"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--cancel", 3, "click"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--save", 3, "click", "disabled"], [1, "bm-cal__dialog-recurrence"], ["class", "bm-cal__dialog-row", "style", "gap: 8px; align-items: center;", 4, "ngIf"], [1, "bm-cal__dialog-row", 2, "gap", "8px", "align-items", "center"], [2, "font-size", "13px"], ["type", "number", "min", "1", "max", "99", 1, "bm-cal__dialog-input", 2, "width", "50px", 3, "input", "value"], ["value", "daily", 3, "selected"], ["value", "weekly", 3, "selected"], ["value", "monthly", 3, "selected"], ["value", "yearly", 3, "selected"], [1, "bm-cal__dialog-label", 2, "flex-direction", "row", "align-items", "center", "gap", "6px"], [2, "font-size", "12px", "color", "var(--cal-color-text-muted)", "padding", "4px 0", "display", "flex", "align-items", "center", "gap", "8px"], ["type", "button", "class", "bm-cal__dialog-link", 3, "click", 4, "ngIf"], ["type", "button", 1, "bm-cal__dialog-link", 3, "click"], ["type", "time", 1, "bm-cal__dialog-input", "bm-cal__dialog-input--time", 3, "input", "value"], [3, "value", "selected"], ["value", "", 3, "selected"], [3, "value", "selected", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal__dialog-errors"], ["class", "bm-cal__dialog-error", 4, "ngFor", "ngForOf"], [1, "bm-cal__dialog-error"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--delete", 3, "click"], [1, "bm-cal__dialog-btn", "bm-cal__dialog-btn--history", 3, "click"]], template: function EventDialogComponent_Template(rf, ctx) { if (rf & 1) {
407
441
  const _r1 = i0.ɵɵgetCurrentView();
408
442
  i0.ɵɵelementStart(0, "div", 1);
409
443
  i0.ɵɵlistener("click", function EventDialogComponent_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.close.emit()); });
410
444
  i0.ɵɵelementEnd();
411
445
  i0.ɵɵelementStart(1, "div", 2, 0);
412
446
  i0.ɵɵlistener("keydown", function EventDialogComponent_Template_div_keydown_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleKeyDown($event)); });
413
- i0.ɵɵtemplate(3, EventDialogComponent_cal_event_history_3_Template, 1, 4, "cal-event-history", 3)(4, EventDialogComponent_ng_container_4_Template, 51, 30, "ng-container", 4);
447
+ i0.ɵɵtemplate(3, EventDialogComponent_cal_event_history_3_Template, 1, 3, "cal-event-history", 3)(4, EventDialogComponent_ng_container_4_Template, 51, 30, "ng-container", 4);
414
448
  i0.ɵɵelementEnd();
415
449
  } if (rf & 2) {
416
450
  i0.ɵɵadvance();
@@ -439,7 +473,6 @@ export class EventDialogComponent {
439
473
  [eventId]="event.id"
440
474
  [history]="history"
441
475
  [locale]="config.locale"
442
- [timezone]="config.core.timezone"
443
476
  (back)="hideHistory()">
444
477
  </cal-event-history>
445
478
 
@@ -481,8 +514,15 @@ export class EventDialogComponent {
481
514
  </div>
482
515
  </div>
483
516
 
484
- <div *ngIf="isInstance" style="font-size: 12px; color: var(--cal-color-text-muted); padding: 4px 0;">
485
- {{ config.locale.recurringInstanceNote }}
517
+ <div *ngIf="isInstance" style="font-size: 12px; color: var(--cal-color-text-muted); padding: 4px 0; display: flex; align-items: center; gap: 8px;">
518
+ <span>↻ {{ config.locale.recurringInstanceNote }}</span>
519
+ <!-- mcp-116: the way from an occurrence to its series. Without it the rule
520
+ is write-once — the master is never in the visible list, so no click
521
+ can reach it. Sits next to the note that already tells the user they
522
+ are editing one instance, i.e. where that question actually arises. -->
523
+ <button *ngIf="event" type="button" class="bm-cal__dialog-link" (click)="editSeries.emit(event.id)">
524
+ {{ config.locale.editSeries }}
525
+ </button>
486
526
  </div>
487
527
 
488
528
  <div class="bm-cal__dialog-row">
@@ -566,11 +606,13 @@ export class EventDialogComponent {
566
606
  type: Output
567
607
  }], deleteEvent: [{
568
608
  type: Output
609
+ }], editSeries: [{
610
+ type: Output
569
611
  }], close: [{
570
612
  type: Output
571
613
  }], dialogEl: [{
572
614
  type: ViewChild,
573
615
  args: ['dialogEl']
574
616
  }] }); })();
575
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventDialogComponent, { className: "EventDialogComponent", filePath: "components/eventdialog.ts", lineNumber: 139 }); })();
617
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventDialogComponent, { className: "EventDialogComponent", filePath: "components/eventdialog.ts", lineNumber: 151 }); })();
576
618
  //# sourceMappingURL=EventDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventDialog.js","sourceRoot":"","sources":["../../src/components/EventDialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventDialog.js","sourceRoot":"","sources":["../../src/components/EventDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAiB,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;;;;;;IAkBpD,4CAIyB;IAAvB,uMAAQ,oBAAa,KAAC;IACxB,iBAAoB;;;IAFlB,AADA,AADA,yCAAoB,2BACD,gCACK;;;;IA0BlB,AADF,+BAA+F,eAC9D;IAAA,YAA8B;IAAA,iBAAO;IACpE,iCACgE;IAAlC,4MAAS,4BAAqB,KAAC;IAD7D,iBACgE;IAChE,kCAAkE;IAA7B,+MAAU,wBAAiB,KAAC;IAC/D,kCAA6D;IAAA,YAAoC;IAAA,iBAAS;IAC1G,kCAA+D;IAAA,YAAqC;IAAA,iBAAS;IAC7G,kCAAiE;IAAA,aAAsC;IAAA,iBAAS;IAChH,mCAA+D;IAAA,aAAqC;IACtG,AADsG,iBAAS,EACtG;IAEP,AADF,kCAAgG,gBAC/D;IAAA,aAA8B;IAAA,iBAAO;IACpE,kCAAwG;IAA/B,6MAAS,yBAAkB,KAAC;IAEzG,AADE,AADE,iBAAwG,EAClG,EACJ;;;IAb2B,eAA8B;IAA9B,qDAA8B;IAE3D,cAA2B;IAA3B,gDAA2B;IAEL,eAAsC;IAAtC,2DAAsC;IAAC,cAAoC;IAApC,2DAAoC;IAC1E,cAAuC;IAAvC,4DAAuC;IAAC,cAAqC;IAArC,4DAAqC;IAC5E,cAAwC;IAAxC,6DAAwC;IAAC,cAAsC;IAAtC,6DAAsC;IAChF,cAAuC;IAAvC,4DAAuC;IAAC,cAAqC;IAArC,4DAAqC;IAGrE,eAA8B;IAA9B,qDAA8B;IACb,cAAwB;IAAxB,6CAAwB;;;;IAf1E,AADF,AADF,+BAA2D,gBACpB,WAC7B;IAAA,YAA8B;IAAA,iBAAO;IAC3C,iCAAoF;IAAjC,wMAAU,0BAAmB,KAAC;IACnF,AADE,iBAAoF,EAC9E;IACR,8FAA+F;IAejG,iBAAM;;;IAlBI,eAA8B;IAA9B,qDAA8B;IACb,cAA2B;IAA3B,gDAA2B;IAE9C,cAAqB;IAArB,6CAAqB;;;;IAuB3B,kCAAoG;IAApC,0MAAS,uCAAyB,KAAC;IACjG,YACF;IAAA,iBAAS;;;IADP,cACF;IADE,gEACF;;;IAPA,AADF,+BAAmJ,WAC3I;IAAA,YAA2C;IAAA,iBAAO;IAKxD,kGAAoG;IAGtG,iBAAM;;;IARE,eAA2C;IAA3C,gFAA2C;IAKxC,cAAW;IAAX,mCAAW;;;;IAUpB,iCAC4D;IAAhC,wMAAS,0BAAmB,KAAC;IADzD,iBAC4D;;;IAA1D,8CAAyB;;;;IAQ3B,iCACwD;IAA9B,wMAAS,wBAAiB,KAAC;IADrD,iBACwD;;;IAAtD,4CAAuB;;;IAOrB,kCAA0G;IAAA,YAAc;IAAA,iBAAS;;;;IAAhE,AAAnB,oCAAkB,oDAAyC;IAAC,cAAc;IAAd,kCAAc;;;IAU1H,kCAAyH;IAAA,YAAY;IAAA,iBAAS;;;;IAA5D,AAAf,gCAAc,kDAAuC;IAAC,cAAY;IAAZ,gCAAY;;;;IAHvI,AADF,iCAAwE,WAChE;IAAA,YAA6B;IAAA,iBAAO;IAC1C,kCAAqE;IAAhC,4MAAU,2BAAoB,KAAC;IAClE,kCAAsD;IAAA,sBAAC;IAAA,iBAAS;IAChE,oGAAyH;IAE7H,AADE,iBAAS,EACH;;;IALA,eAA6B;IAA7B,oDAA6B;IAEhB,eAAoC;IAApC,yDAAoC;IAC/B,eAAqB;IAAA,AAArB,iDAAqB,sCAAsB;;;IAgBrE,+BAAuE;IAAA,YAAS;IAAA,iBAAM;;;IAAf,cAAS;IAAT,6BAAS;;;IADlF,+BAAuE;IACrE,4FAAuE;IACzE,iBAAM;;;IADiB,cAAmB;IAAnB,iDAAmB;;;;IAIxC,kCAAqJ;IAAtC,qMAAS,wCAA2B,KAAC;IAClJ,YACF;IAAA,iBAAS;;;IADP,cACF;IADE,4DACF;;;;IACA,kCAA4H;IAAxB,qMAAS,oBAAa,KAAC;IACzH,YACF;IAAA,iBAAS;;;IADP,cACF;IADE,6DACF;;;;IA1GJ,6BAA6C;IAEzC,AADF,8BAAmC,cACE;IAAA,YAA8D;IAAA,iBAAO;IACxG,iCAAoG;IAAvB,yLAAS,mBAAY,KAAC;IAAC,sBAAO;IAC7G,AAD6G,iBAAS,EAChH;IAGJ,AADF,8BAAiC,gBAGqB;IAA5B,8LAAS,sBAAe,KAAC;IAFjD,iBAEoD;IAGlD,AADF,iCAAqC,WAC7B;IAAA,aAA0B;IAAA,iBAAO;IACvC,kCAA8E;IAA9B,iMAAU,uBAAgB,KAAC;IAC7E,AADE,iBAA8E,EACxE;IAwBR,AAtBA,uFAA2D,0EAsBwF;IAa/I,AADF,AADF,gCAAgC,iBACM,YAC5B;IAAA,aAAwB;IAAA,iBAAO;IACrC,kCAA0G;IAAhC,+LAAS,0BAAmB,KAAC;IACzG,AADE,iBAA0G,EACpG;IACR,2FAC4D;IAC9D,iBAAM;IAIF,AADF,AADF,gCAAgC,iBACM,YAC5B;IAAA,aAAsB;IAAA,iBAAO;IACnC,kCAA8H;IAA9B,+LAAS,wBAAiB,KAAC;IAC7H,AADE,iBAA8H,EACxH;IACR,2FACwD;IAC1D,iBAAM;IAGJ,AADF,kCAAoC,YAC5B;IAAA,aAA4B;IAAA,iBAAO;IAEvC,AADF,gCAAyC,kBAC4B;IAA9B,kMAAU,yBAAkB,KAAC;IAChE,6FAA0G;IAC5G,iBAAS;IACT,4BAAiF;IAErF,AADE,iBAAM,EACA;IAER,2FAAwE;IAStE,AADF,kCAAoC,YAC5B;IAAA,aAA4B;IAAA,iBAAO;IACzC,kCAAwG;IAA/B,+LAAS,yBAAkB,KAAC;IACvG,AADE,iBAAwG,EAClG;IAGN,AADF,kCAAoC,YAC5B;IAAA,aAA+B;IAAA,iBAAO;IAC5C,qCAAqI;IAAhC,kMAAS,4BAAqB,KAAC;IAExI,AADE,AADuI,iBAAW,EAC1I,EACJ;IAEN,uFAAuE;IAIvE,gCAAmC;IAIjC,AAHA,6FAAqJ,gFAGzB;IAI1H,AADF,gCAAyC,kBAC8C;IAAvB,0LAAS,mBAAY,KAAC;IAAC,aAA0B;IAAA,iBAAS;IACxH,mCAAoH;IAAxD,0LAAS,mBAAY,KAAC;IAChF,aACF;IAEJ,AADE,AADE,iBAAS,EACL,EACF;;;;IA/G+B,eAA8D;IAA9D,mGAA8D;IAC5D,cAAuC;;IAK1E,eAA8C;IAC9C,AADA,mEAA8C,6BACzB;IAGf,eAA0B;IAA1B,iDAA0B;IACT,cAAwB;IAAxB,6CAAwB;IAGT,cAAiB;IAAjB,yCAAiB;IAsBnD,cAAgB;IAAhB,wCAAgB;IAaZ,eAAwB;IAAxB,+CAAwB;IACkB,cAAyB;IAAzB,8CAAyB;IAEnE,cAAmB;IAAnB,2CAAmB;IAMnB,eAAsB;IAAtB,6CAAsB;IACoB,cAAuB;IAAC,AAAxB,4CAAuB,+BAAwB;IAEzF,cAAmB;IAAnB,2CAAmB;IAKrB,eAA4B;IAA5B,mDAA4B;IAGN,eAAoB;IAApB,kDAAoB;IAEX,cAAsC;IAAtC,sDAAsC;IAIxC,cAAiC;IAAjC,yDAAiC;IAS9D,eAA4B;IAA5B,mDAA4B;IACc,cAAwB;IAAxB,6CAAwB;IAIlE,eAA+B;IAA/B,sDAA+B;IACoC,cAA2B;IAA3B,gDAA2B;IAIpE,cAAiC;IAAjC,yDAAiC;IAK1D,eAA8C;IAA9C,6EAA8C;IAG9C,cAAkC;IAAlC,iEAAkC;IAI4C,eAA0B;IAA1B,iDAA0B;IAC5B,cAAgC;IAAhC,qDAAgC;IACjH,cACF;IADE,uGACF;;AAtIZ;;;;GAIG;AAyIH,MAAM,OAAO,oBAAoB;IAC/B,gEAAgE;IACvD,MAAM,CAAe;IACrB,MAAM,CAAkB;IACjC,2EAA2E;IAC3E,6CAA6C;IACpC,OAAO,GAAoC,EAAE,CAAC;IACvD,iFAAiF;IACvE,QAAQ,GAAG,IAAI,YAAY,EAAuB,CAAC;IAC7D,6EAA6E;IACnE,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;IACnD;wFACoF;IAC1E,UAAU,GAAG,IAAI,YAAY,EAAU,CAAC;IACxC,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEpB,QAAQ,CAA8B;IAE7D,WAAW,GAAG,KAAK,CAAC;IAEpB,yDAAyD;IACzD,IAAI,KAAK,KAAiB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,IAAI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,IAAI,UAAU,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5D,IAAI,gBAAgB,KAAwB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAElF,mFAAmF;IACnF,uFAAuF;IACvF,sFAAsF;IACtF,0EAA0E;IACjE,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAE5C,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACvC,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAqB,CAAC;QACrD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;QAE9B,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE;YAAE,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACzE,IAAI,IAAI,GAAG,EAAE;YAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE5F,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE;YAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAC7D,IAAI,GAAG,GAAG,EAAE;YAAE,GAAG,GAAG,EAAE,CAAC;QAEvB,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC;QAC5B,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,CAAS,EAAE,CAAiB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1C,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IAE3C,iEAAiE;IACzD,KAAK,CAAC,CAAQ,IAAY,OAAQ,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,CAAQ,IAAa,OAAQ,CAAC,CAAC,MAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;IAErF,OAAO,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,WAAW,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,aAAa,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAG,CAAC,CAAC,MAA4B,CAAC,KAA8B,EAAE,CAAC,CAAC,CAAC,CAAC;IACxH,UAAU,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,WAAW,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,WAAW,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,SAAS,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,UAAU,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAG,CAAC,CAAC,MAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,YAAY,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAG,CAAC,CAAC,MAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACrG,UAAU,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,aAAa,CAAC,CAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAG,CAAC,CAAC,MAA8B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzG,mFAAmF;IACnF,mFAAmF;IACnF,6DAA6D;IAC7D,aAAa,CAAC,CAAgB;QAC5B,IAAI,CAAC,kBAAkB,CAAC;YACtB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,sBAAsB,EAAE,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC;SACzD,CAAC;YAAE,OAAO;QACX,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;8GA3FvB,oBAAoB;6DAApB,oBAAoB;;;;;;;YAlI7B,8BAA4D;YAAvB,oIAAS,gBAAY,KAAC;YAAC,iBAAM;YAClE,iCAG+C;YAD7C,8IAAW,yBAAqB,KAAC;YASjC,AAPA,iGAIyB,4EAGoB;YAmH/C,iBAAM;;YA3HQ,cAAgC;YAAhC,kDAAgC;;YACxB,eAA0B;YAA1B,mDAA0B;YAO/B,cAA4B;YAA5B,qDAA4B;4BAdrC,YAAY,uBAAE,qBAAqB,EAAE,kBAAkB;;iFAoItD,oBAAoB;cAxIhC,SAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,CAAC;gBAClE,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiIT;aACF;gBAGU,MAAM;kBAAd,KAAK;YACG,MAAM;kBAAd,KAAK;YAGG,OAAO;kBAAf,KAAK;YAEI,QAAQ;kBAAjB,MAAM;YAEG,IAAI;kBAAb,MAAM;YACG,WAAW;kBAApB,MAAM;YAGG,UAAU;kBAAnB,MAAM;YACG,KAAK;kBAAd,MAAM;YAEgB,QAAQ;kBAA9B,SAAS;mBAAC,UAAU;;kFAjBV,oBAAoB"}
@@ -1,20 +1,25 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import type { DomainEvent } from '@bimetal/calendar-data';
2
+ import type { CalendarHistoryEntry } from '@bimetal/calendar-headless';
3
3
  import type { CalendarLocale } from '../binding/index.js';
4
4
  import * as i0 from "@angular/core";
5
+ /** Read-only timeline of a single event's domain-event history (created/updated/deleted/reverted).
6
+ * bimetal-147: rendert die ANZEIGEFERTIGEN Zeilen aus `controller.getHistoryEntries`
7
+ * — die Ableitung „Event → Zeile" (inkl. Akteur) liegt im Controller, nicht hier.
8
+ *
9
+ * bimetal-147 R1: der Tooltip hängt an `[attr.title]`, NICHT an `[title]`. Die
10
+ * Property-Bindung schreibt bei einer Zeile ohne Audit-Id `el.title = undefined`,
11
+ * und die DOMString-Konversion macht daraus den sichtbaren Tooltip „undefined".
12
+ * Die Attribut-Bindung ENTFERNT das Attribut bei null/undefined — damit rendert
13
+ * Angular dasselbe DOM wie react/vue/svelte, wo `title={entry.userId}` das
14
+ * Attribut bei `undefined` ebenfalls weglässt. */
5
15
  export declare class EventHistoryComponent {
6
16
  eventId: string;
7
- history: DomainEvent[];
17
+ history: readonly CalendarHistoryEntry[];
8
18
  locale: CalendarLocale;
9
- /** Optional for back-compat (v0.33 additive). EventDialog binds config.core.timezone;
10
- * a direct consumer that omits it keeps the pre-v0.33 ambient-TZ behavior. */
11
- timezone?: string;
12
19
  back: EventEmitter<void>;
13
20
  getColor(type: string): string;
14
- getLabel(type: string): string;
15
- formatTime(timestamp: number): string;
16
- getSummary(event: DomainEvent): string;
21
+ trackEntry(_: number, entry: CalendarHistoryEntry): string;
17
22
  static ɵfac: i0.ɵɵFactoryDeclaration<EventHistoryComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<EventHistoryComponent, "cal-event-history", never, { "eventId": { "alias": "eventId"; "required": false; }; "history": { "alias": "history"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "timezone": { "alias": "timezone"; "required": false; }; }, { "back": "back"; }, never, never, true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventHistoryComponent, "cal-event-history", never, { "eventId": { "alias": "eventId"; "required": false; }; "history": { "alias": "history"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; }, { "back": "back"; }, never, never, true, never>;
19
24
  }
20
25
  //# sourceMappingURL=EventHistory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventHistory.d.ts","sourceRoot":"","sources":["../../src/components/EventHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAS1D,qBAoCa,qBAAqB;IACvB,OAAO,SAAM;IACb,OAAO,EAAE,WAAW,EAAE,CAAM;IAC5B,MAAM,EAAG,cAAc,CAAC;IACjC;mFAC+E;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,qBAA4B;IAE1C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIrC,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;yCArB3B,qBAAqB;2CAArB,qBAAqB;CAqCjC"}
1
+ {"version":3,"file":"EventHistory.d.ts","sourceRoot":"","sources":["../../src/components/EventHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAS1D;;;;;;;;;mDASmD;AACnD,qBAqCa,qBAAqB;IACvB,OAAO,SAAM;IAKb,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAM;IAC9C,MAAM,EAAG,cAAc,CAAC;IACvB,IAAI,qBAA4B;IAE1C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO9B,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;yCAjBtC,qBAAqB;2CAArB,qBAAqB;CAmBjC"}
@@ -1,6 +1,5 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { formatHistoryTimestamp } from '@bimetal/calendar-core';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/common";
6
5
  function EventHistoryComponent_div_6_Template(rf, ctx) { if (rf & 1) {
@@ -13,46 +12,60 @@ function EventHistoryComponent_div_6_Template(rf, ctx) { if (rf & 1) {
13
12
  i0.ɵɵtextInterpolate1(" ", ctx_r0.locale.historyLoading, " ");
14
13
  } }
15
14
  function EventHistoryComponent_div_8_div_3_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelement(0, "div", 17);
15
+ i0.ɵɵelement(0, "div", 18);
17
16
  } }
18
- function EventHistoryComponent_div_8_div_10_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementStart(0, "div", 18);
17
+ function EventHistoryComponent_div_8_span_6_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "span", 19);
20
19
  i0.ɵɵtext(1);
21
20
  i0.ɵɵelementEnd();
22
21
  } if (rf & 2) {
23
- const summary_r2 = ctx.ngIf;
22
+ const entry_r2 = i0.ɵɵnextContext().$implicit;
23
+ i0.ɵɵattribute("title", entry_r2.userId);
24
24
  i0.ɵɵadvance();
25
- i0.ɵɵtextInterpolate(summary_r2);
25
+ i0.ɵɵtextInterpolate(entry_r2.actor);
26
+ } }
27
+ function EventHistoryComponent_div_8_div_11_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelementStart(0, "div", 20);
29
+ i0.ɵɵtext(1);
30
+ i0.ɵɵelementEnd();
31
+ } if (rf & 2) {
32
+ const entry_r2 = i0.ɵɵnextContext().$implicit;
33
+ i0.ɵɵadvance();
34
+ i0.ɵɵtextInterpolate(entry_r2.summary);
26
35
  } }
27
36
  function EventHistoryComponent_div_8_Template(rf, ctx) { if (rf & 1) {
28
37
  i0.ɵɵelementStart(0, "div", 8)(1, "div", 9);
29
38
  i0.ɵɵelement(2, "div", 10);
30
39
  i0.ɵɵtemplate(3, EventHistoryComponent_div_8_div_3_Template, 1, 0, "div", 11);
31
40
  i0.ɵɵelementEnd();
32
- i0.ɵɵelementStart(4, "div", 12)(5, "div", 13)(6, "span", 14);
33
- i0.ɵɵtext(7);
41
+ i0.ɵɵelementStart(4, "div", 12)(5, "div", 13);
42
+ i0.ɵɵtemplate(6, EventHistoryComponent_div_8_span_6_Template, 2, 2, "span", 14);
43
+ i0.ɵɵelementStart(7, "span", 15);
44
+ i0.ɵɵtext(8);
34
45
  i0.ɵɵelementEnd();
35
- i0.ɵɵelementStart(8, "span", 15);
36
- i0.ɵɵtext(9);
46
+ i0.ɵɵelementStart(9, "span", 16);
47
+ i0.ɵɵtext(10);
37
48
  i0.ɵɵelementEnd()();
38
- i0.ɵɵtemplate(10, EventHistoryComponent_div_8_div_10_Template, 2, 1, "div", 16);
49
+ i0.ɵɵtemplate(11, EventHistoryComponent_div_8_div_11_Template, 2, 1, "div", 17);
39
50
  i0.ɵɵelementEnd()();
40
51
  } if (rf & 2) {
41
- const entry_r3 = ctx.$implicit;
42
- const last_r4 = ctx.last;
52
+ const entry_r2 = ctx.$implicit;
53
+ const last_r3 = ctx.last;
43
54
  const ctx_r0 = i0.ɵɵnextContext();
44
55
  i0.ɵɵadvance(2);
45
- i0.ɵɵstyleProp("background-color", ctx_r0.getColor(entry_r3.type));
56
+ i0.ɵɵstyleProp("background-color", ctx_r0.getColor(entry_r2.type));
46
57
  i0.ɵɵadvance();
47
- i0.ɵɵproperty("ngIf", !last_r4);
58
+ i0.ɵɵproperty("ngIf", !last_r3);
48
59
  i0.ɵɵadvance(3);
49
- i0.ɵɵstyleProp("background-color", ctx_r0.getColor(entry_r3.type));
60
+ i0.ɵɵproperty("ngIf", entry_r2.actor !== undefined);
50
61
  i0.ɵɵadvance();
51
- i0.ɵɵtextInterpolate1(" ", ctx_r0.getLabel(entry_r3.type), " ");
62
+ i0.ɵɵstyleProp("background-color", ctx_r0.getColor(entry_r2.type));
63
+ i0.ɵɵadvance();
64
+ i0.ɵɵtextInterpolate1(" ", entry_r2.label, " ");
52
65
  i0.ɵɵadvance(2);
53
- i0.ɵɵtextInterpolate(ctx_r0.formatTime(entry_r3.envelope.timestamp));
66
+ i0.ɵɵtextInterpolate(entry_r2.time);
54
67
  i0.ɵɵadvance();
55
- i0.ɵɵproperty("ngIf", ctx_r0.getSummary(entry_r3));
68
+ i0.ɵɵproperty("ngIf", entry_r2.summary);
56
69
  } }
57
70
  const eventTypeColors = {
58
71
  'bimetal.calendar.CalendarEventCreated': '#4CD964',
@@ -60,42 +73,34 @@ const eventTypeColors = {
60
73
  'bimetal.calendar.CalendarEventDeleted': '#FF3B30',
61
74
  'bimetal.calendar.CalendarEventReverted': '#FF9500',
62
75
  };
76
+ /** Read-only timeline of a single event's domain-event history (created/updated/deleted/reverted).
77
+ * bimetal-147: rendert die ANZEIGEFERTIGEN Zeilen aus `controller.getHistoryEntries`
78
+ * — die Ableitung „Event → Zeile" (inkl. Akteur) liegt im Controller, nicht hier.
79
+ *
80
+ * bimetal-147 R1: der Tooltip hängt an `[attr.title]`, NICHT an `[title]`. Die
81
+ * Property-Bindung schreibt bei einer Zeile ohne Audit-Id `el.title = undefined`,
82
+ * und die DOMString-Konversion macht daraus den sichtbaren Tooltip „undefined".
83
+ * Die Attribut-Bindung ENTFERNT das Attribut bei null/undefined — damit rendert
84
+ * Angular dasselbe DOM wie react/vue/svelte, wo `title={entry.userId}` das
85
+ * Attribut bei `undefined` ebenfalls weglässt. */
63
86
  export class EventHistoryComponent {
64
87
  eventId = '';
88
+ // readonly (bimetal-131 R1): the parent hands the SNAPSHOT-CACHED history in —
89
+ // a mutable input type forced a copy at the binding edge under strictTemplates,
90
+ // and a fresh copy per CD is exactly the defect M2 removed. This component only
91
+ // iterates; readonly is the honest contract.
65
92
  history = [];
66
93
  locale;
67
- /** Optional for back-compat (v0.33 additive). EventDialog binds config.core.timezone;
68
- * a direct consumer that omits it keeps the pre-v0.33 ambient-TZ behavior. */
69
- timezone;
70
94
  back = new EventEmitter();
71
95
  getColor(type) {
72
96
  return eventTypeColors[type] ?? '#8E8E93';
73
97
  }
74
- getLabel(type) {
75
- return this.locale.historyEventTypes[type] ?? type;
76
- }
77
- formatTime(timestamp) {
78
- return formatHistoryTimestamp(timestamp, this.locale.code, this.timezone);
79
- }
80
- getSummary(event) {
81
- const payload = event.payload;
82
- switch (event.type) {
83
- case 'bimetal.calendar.CalendarEventCreated': {
84
- const ev = payload.event;
85
- return ev?.title ?? '';
86
- }
87
- case 'bimetal.calendar.CalendarEventUpdated': {
88
- const changes = payload.changes;
89
- if (!changes)
90
- return '';
91
- return Object.keys(changes).join(', ');
92
- }
93
- default:
94
- return '';
95
- }
96
- }
98
+ // bimetal-131 M2: without trackBy every fresh history array identity rebuilt
99
+ // the whole timeline DOM. `id` is the ES event's envelope id (bimetal-147:
100
+ // durchgereicht von der Controller-Ableitung).
101
+ trackEntry(_, entry) { return entry.id; }
97
102
  static ɵfac = function EventHistoryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventHistoryComponent)(); };
98
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventHistoryComponent, selectors: [["cal-event-history"]], hostAttrs: [2, "display", "contents"], inputs: { eventId: "eventId", history: "history", locale: "locale", timezone: "timezone" }, outputs: { back: "back" }, decls: 9, vars: 3, consts: [[1, "bm-cal-event-history"], [1, "bm-cal-event-history__header"], [1, "bm-cal-event-history__back", 3, "click"], [1, "bm-cal-event-history__title"], ["class", "bm-cal-event-history__loading", 4, "ngIf"], [1, "bm-cal-event-history__timeline"], ["class", "bm-cal-event-history__entry", 4, "ngFor", "ngForOf"], [1, "bm-cal-event-history__loading"], [1, "bm-cal-event-history__entry"], [1, "bm-cal-event-history__dot-col"], [1, "bm-cal-event-history__dot"], ["class", "bm-cal-event-history__line", 4, "ngIf"], [1, "bm-cal-event-history__content"], [1, "bm-cal-event-history__entry-header"], [1, "bm-cal-event-history__badge"], [1, "bm-cal-event-history__time"], ["class", "bm-cal-event-history__summary", 4, "ngIf"], [1, "bm-cal-event-history__line"], [1, "bm-cal-event-history__summary"]], template: function EventHistoryComponent_Template(rf, ctx) { if (rf & 1) {
103
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventHistoryComponent, selectors: [["cal-event-history"]], hostAttrs: [2, "display", "contents"], inputs: { eventId: "eventId", history: "history", locale: "locale" }, outputs: { back: "back" }, decls: 9, vars: 4, consts: [[1, "bm-cal-event-history"], [1, "bm-cal-event-history__header"], [1, "bm-cal-event-history__back", 3, "click"], [1, "bm-cal-event-history__title"], ["class", "bm-cal-event-history__loading", 4, "ngIf"], [1, "bm-cal-event-history__timeline"], ["class", "bm-cal-event-history__entry", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-event-history__loading"], [1, "bm-cal-event-history__entry"], [1, "bm-cal-event-history__dot-col"], [1, "bm-cal-event-history__dot"], ["class", "bm-cal-event-history__line", 4, "ngIf"], [1, "bm-cal-event-history__content"], [1, "bm-cal-event-history__entry-header"], ["class", "bm-cal-event-history__actor", 4, "ngIf"], [1, "bm-cal-event-history__badge"], [1, "bm-cal-event-history__time"], ["class", "bm-cal-event-history__summary", 4, "ngIf"], [1, "bm-cal-event-history__line"], [1, "bm-cal-event-history__actor"], [1, "bm-cal-event-history__summary"]], template: function EventHistoryComponent_Template(rf, ctx) { if (rf & 1) {
99
104
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "button", 2);
100
105
  i0.ɵɵlistener("click", function EventHistoryComponent_Template_button_click_2_listener() { return ctx.back.emit(); });
101
106
  i0.ɵɵtext(3, "\u2190");
@@ -105,7 +110,7 @@ export class EventHistoryComponent {
105
110
  i0.ɵɵelementEnd()();
106
111
  i0.ɵɵtemplate(6, EventHistoryComponent_div_6_Template, 2, 1, "div", 4);
107
112
  i0.ɵɵelementStart(7, "div", 5);
108
- i0.ɵɵtemplate(8, EventHistoryComponent_div_8_Template, 11, 8, "div", 6);
113
+ i0.ɵɵtemplate(8, EventHistoryComponent_div_8_Template, 12, 9, "div", 6);
109
114
  i0.ɵɵelementEnd()();
110
115
  } if (rf & 2) {
111
116
  i0.ɵɵadvance(5);
@@ -113,7 +118,7 @@ export class EventHistoryComponent {
113
118
  i0.ɵɵadvance();
114
119
  i0.ɵɵproperty("ngIf", ctx.history.length === 0);
115
120
  i0.ɵɵadvance(2);
116
- i0.ɵɵproperty("ngForOf", ctx.history);
121
+ i0.ɵɵproperty("ngForOf", ctx.history)("ngForTrackBy", ctx.trackEntry);
117
122
  } }, dependencies: [CommonModule, i1.NgForOf, i1.NgIf], encapsulation: 2 });
118
123
  }
119
124
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventHistoryComponent, [{
@@ -135,19 +140,20 @@ export class EventHistoryComponent {
135
140
  </div>
136
141
 
137
142
  <div class="bm-cal-event-history__timeline">
138
- <div *ngFor="let entry of history; let idx = index; let last = last" class="bm-cal-event-history__entry">
143
+ <div *ngFor="let entry of history; let idx = index; let last = last; trackBy: trackEntry" class="bm-cal-event-history__entry">
139
144
  <div class="bm-cal-event-history__dot-col">
140
145
  <div class="bm-cal-event-history__dot" [style.background-color]="getColor(entry.type)"></div>
141
146
  <div class="bm-cal-event-history__line" *ngIf="!last"></div>
142
147
  </div>
143
148
  <div class="bm-cal-event-history__content">
144
149
  <div class="bm-cal-event-history__entry-header">
150
+ <span class="bm-cal-event-history__actor" *ngIf="entry.actor !== undefined" [attr.title]="entry.userId">{{ entry.actor }}</span>
145
151
  <span class="bm-cal-event-history__badge" [style.background-color]="getColor(entry.type)">
146
- {{ getLabel(entry.type) }}
152
+ {{ entry.label }}
147
153
  </span>
148
- <span class="bm-cal-event-history__time">{{ formatTime(entry.envelope.timestamp) }}</span>
154
+ <span class="bm-cal-event-history__time">{{ entry.time }}</span>
149
155
  </div>
150
- <div class="bm-cal-event-history__summary" *ngIf="getSummary(entry) as summary">{{ summary }}</div>
156
+ <div class="bm-cal-event-history__summary" *ngIf="entry.summary">{{ entry.summary }}</div>
151
157
  </div>
152
158
  </div>
153
159
  </div>
@@ -160,10 +166,8 @@ export class EventHistoryComponent {
160
166
  type: Input
161
167
  }], locale: [{
162
168
  type: Input
163
- }], timezone: [{
164
- type: Input
165
169
  }], back: [{
166
170
  type: Output
167
171
  }] }); })();
168
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventHistoryComponent, { className: "EventHistoryComponent", filePath: "components/eventhistory.ts", lineNumber: 50 }); })();
172
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventHistoryComponent, { className: "EventHistoryComponent", filePath: "components/eventhistory.ts", lineNumber: 60 }); })();
169
173
  //# sourceMappingURL=EventHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventHistory.js","sourceRoot":"","sources":["../../src/components/EventHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventHistory.js","sourceRoot":"","sources":["../../src/components/EventHistory.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;;;;IAiCzC,8BAAwE;IACtE,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,6DACF;;;IAMM,0BAA4D;;;IAI1D,gCAAwG;IAAA,YAAiB;IAAA,iBAAO;;;;IAAxB,cAAiB;IAAjB,oCAAiB;;;IAM3H,+BAAiE;IAAA,YAAmB;IAAA,iBAAM;;;IAAzB,cAAmB;IAAnB,sCAAmB;;;IAZtF,AADF,8BAA8H,aACjF;IACzC,0BAA6F;IAC7F,6EAAsD;IACxD,iBAAM;IAEJ,AADF,+BAA2C,cACO;IAC9C,+EAAwG;IACxG,gCAA0F;IACxF,YACF;IAAA,iBAAO;IACP,gCAAyC;IAAA,aAAgB;IAC3D,AAD2D,iBAAO,EAC5D;IACN,+EAAiE;IAErE,AADE,iBAAM,EACF;;;;;IAbqC,eAA+C;IAA/C,kEAA+C;IAC7C,cAAW;IAAX,+BAAW;IAIP,eAA+B;IAA/B,mDAA+B;IAChC,cAA+C;IAA/C,kEAA+C;IACvF,cACF;IADE,+CACF;IACyC,eAAgB;IAAhB,mCAAgB;IAEf,cAAmB;IAAnB,uCAAmB;;AA/C3E,MAAM,eAAe,GAA2B;IAC9C,uCAAuC,EAAE,SAAS;IAClD,uCAAuC,EAAE,SAAS;IAClD,uCAAuC,EAAE,SAAS;IAClD,wCAAwC,EAAE,SAAS;CACpD,CAAC;AAEF;;;;;;;;;mDASmD;AAsCnD,MAAM,OAAO,qBAAqB;IACvB,OAAO,GAAG,EAAE,CAAC;IACtB,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,6CAA6C;IACpC,OAAO,GAAoC,EAAE,CAAC;IAC9C,MAAM,CAAkB;IACvB,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE1C,QAAQ,CAAC,IAAY;QACnB,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,+CAA+C;IAC/C,UAAU,CAAC,CAAS,EAAE,KAA2B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;+GAjB5D,qBAAqB;6DAArB,qBAAqB;YA7B1B,AADF,AADF,8BAAkC,aACU,gBACyB;YAAtB,kGAAS,eAAW,IAAC;YAAC,sBAAM;YAAA,iBAAS;YAChF,+BAA0C;YAAA,YAAyB;YACrE,AADqE,iBAAO,EACtE;YAEN,sEAAwE;YAIxE,8BAA4C;YAC1C,uEAA8H;YAiBlI,AADE,iBAAM,EACF;;YAzBwC,eAAyB;YAAzB,6CAAyB;YAGzB,cAA0B;YAA1B,+CAA0B;YAK7C,eAAY;YAAkC,AAA9C,qCAAY,gCAAqD;4BAbpF,YAAY;;iFAiCX,qBAAqB;cArCjC,SAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BT;aACF;gBAEU,OAAO;kBAAf,KAAK;YAKG,OAAO;kBAAf,KAAK;YACG,MAAM;kBAAd,KAAK;YACI,IAAI;kBAAb,MAAM;;kFARI,qBAAqB"}