@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.
- package/LICENSE +57 -129
- package/README.md +1 -1
- package/dist/binding/controller.d.ts +10 -1
- package/dist/binding/controller.d.ts.map +1 -1
- package/dist/binding/controller.js +11 -1
- package/dist/binding/controller.js.map +1 -1
- package/dist/binding/index.d.ts +5 -5
- package/dist/binding/index.d.ts.map +1 -1
- package/dist/binding/index.js +5 -5
- package/dist/binding/index.js.map +1 -1
- package/dist/binding/services/event-render.service.d.ts +9 -0
- package/dist/binding/services/event-render.service.d.ts.map +1 -1
- package/dist/binding/services/event-render.service.js +11 -0
- package/dist/binding/services/event-render.service.js.map +1 -1
- package/dist/binding/services/pointer-gesture.service.d.ts +26 -0
- package/dist/binding/services/pointer-gesture.service.d.ts.map +1 -0
- package/dist/binding/services/pointer-gesture.service.js +37 -0
- package/dist/binding/services/pointer-gesture.service.js.map +1 -0
- package/dist/components/Calendar.d.ts +47 -8
- package/dist/components/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar.js +183 -63
- package/dist/components/Calendar.js.map +1 -1
- package/dist/components/CalendarHeader.d.ts +12 -1
- package/dist/components/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader.js +66 -14
- package/dist/components/CalendarHeader.js.map +1 -1
- package/dist/components/CategoryFilter.d.ts +4 -0
- package/dist/components/CategoryFilter.d.ts.map +1 -1
- package/dist/components/CategoryFilter.js +10 -5
- package/dist/components/CategoryFilter.js.map +1 -1
- package/dist/components/EventBar.d.ts +15 -4
- package/dist/components/EventBar.d.ts.map +1 -1
- package/dist/components/EventBar.js +108 -37
- package/dist/components/EventBar.js.map +1 -1
- package/dist/components/EventDialog.d.ts +11 -4
- package/dist/components/EventDialog.d.ts.map +1 -1
- package/dist/components/EventDialog.js +86 -44
- package/dist/components/EventDialog.js.map +1 -1
- package/dist/components/EventHistory.d.ts +14 -9
- package/dist/components/EventHistory.d.ts.map +1 -1
- package/dist/components/EventHistory.js +59 -55
- package/dist/components/EventHistory.js.map +1 -1
- package/dist/components/UndoToast.d.ts +9 -5
- package/dist/components/UndoToast.d.ts.map +1 -1
- package/dist/components/UndoToast.js +16 -27
- package/dist/components/UndoToast.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css.d.ts +3 -0
- package/dist/views/agenda/AgendaView.d.ts +1 -0
- package/dist/views/agenda/AgendaView.d.ts.map +1 -1
- package/dist/views/agenda/AgendaView.js +9 -2
- package/dist/views/agenda/AgendaView.js.map +1 -1
- package/dist/views/day/DayView.d.ts +30 -4
- package/dist/views/day/DayView.d.ts.map +1 -1
- package/dist/views/day/DayView.js +61 -17
- package/dist/views/day/DayView.js.map +1 -1
- package/dist/views/month/MonthView.d.ts +21 -4
- package/dist/views/month/MonthView.d.ts.map +1 -1
- package/dist/views/month/MonthView.js +66 -12
- package/dist/views/month/MonthView.js.map +1 -1
- package/dist/views/month/WeekRow.d.ts +28 -4
- package/dist/views/month/WeekRow.d.ts.map +1 -1
- package/dist/views/month/WeekRow.js +100 -29
- package/dist/views/month/WeekRow.js.map +1 -1
- package/dist/views/resource/ResourceView.d.ts +32 -1
- package/dist/views/resource/ResourceView.d.ts.map +1 -1
- package/dist/views/resource/ResourceView.js +84 -22
- package/dist/views/resource/ResourceView.js.map +1 -1
- package/dist/views/timeline/TimelineView.d.ts +29 -3
- package/dist/views/timeline/TimelineView.d.ts.map +1 -1
- package/dist/views/timeline/TimelineView.js +83 -17
- package/dist/views/timeline/TimelineView.js.map +1 -1
- package/dist/views/week/AllDayRow.d.ts +21 -3
- package/dist/views/week/AllDayRow.d.ts.map +1 -1
- package/dist/views/week/AllDayRow.js +60 -13
- package/dist/views/week/AllDayRow.js.map +1 -1
- package/dist/views/week/TimeEvent.d.ts +20 -4
- package/dist/views/week/TimeEvent.d.ts.map +1 -1
- package/dist/views/week/TimeEvent.js +101 -31
- package/dist/views/week/TimeEvent.js.map +1 -1
- package/dist/views/week/WeekView.d.ts +25 -2
- package/dist/views/week/WeekView.d.ts.map +1 -1
- package/dist/views/week/WeekView.js +69 -21
- package/dist/views/week/WeekView.js.map +1 -1
- package/dist/views/year/YearView.d.ts +11 -4
- package/dist/views/year/YearView.d.ts.map +1 -1
- package/dist/views/year/YearView.js +26 -5
- package/dist/views/year/YearView.js.map +1 -1
- 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)
|
|
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
|
|
92
|
-
i0.ɵɵ
|
|
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.ɵɵ
|
|
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
|
|
102
|
-
i0.ɵɵelementStart(0, "input",
|
|
103
|
-
i0.ɵɵlistener("input", function EventDialogComponent_ng_container_4_input_19_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(
|
|
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
|
|
111
|
-
i0.ɵɵelementStart(0, "input",
|
|
112
|
-
i0.ɵɵlistener("input", function EventDialogComponent_ng_container_4_input_25_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(
|
|
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",
|
|
136
|
+
i0.ɵɵelementStart(0, "option", 48);
|
|
120
137
|
i0.ɵɵtext(1);
|
|
121
138
|
i0.ɵɵelementEnd();
|
|
122
139
|
} if (rf & 2) {
|
|
123
|
-
const
|
|
140
|
+
const cat_r10 = ctx.$implicit;
|
|
124
141
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
125
|
-
i0.ɵɵproperty("value",
|
|
142
|
+
i0.ɵɵproperty("value", cat_r10.name)("selected", cat_r10.name === ctx_r2.draft.category);
|
|
126
143
|
i0.ɵɵadvance();
|
|
127
|
-
i0.ɵɵtextInterpolate(
|
|
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",
|
|
147
|
+
i0.ɵɵelementStart(0, "option", 48);
|
|
131
148
|
i0.ɵɵtext(1);
|
|
132
149
|
i0.ɵɵelementEnd();
|
|
133
150
|
} if (rf & 2) {
|
|
134
|
-
const
|
|
151
|
+
const r_r12 = ctx.$implicit;
|
|
135
152
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
136
|
-
i0.ɵɵproperty("value",
|
|
153
|
+
i0.ɵɵproperty("value", r_r12.id)("selected", r_r12.id === ctx_r2.draft.resourceId);
|
|
137
154
|
i0.ɵɵadvance();
|
|
138
|
-
i0.ɵɵtextInterpolate(
|
|
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
|
|
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(
|
|
147
|
-
i0.ɵɵelementStart(4, "option",
|
|
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",
|
|
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",
|
|
179
|
+
i0.ɵɵelementStart(0, "div", 53);
|
|
163
180
|
i0.ɵɵtext(1);
|
|
164
181
|
i0.ɵɵelementEnd();
|
|
165
182
|
} if (rf & 2) {
|
|
166
|
-
const
|
|
183
|
+
const err_r13 = ctx.$implicit;
|
|
167
184
|
i0.ɵɵadvance();
|
|
168
|
-
i0.ɵɵtextInterpolate(
|
|
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",
|
|
172
|
-
i0.ɵɵtemplate(1, EventDialogComponent_ng_container_4_div_42_div_1_Template, 2, 1, "div",
|
|
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
|
|
181
|
-
i0.ɵɵelementStart(0, "button",
|
|
182
|
-
i0.ɵɵlistener("click", function EventDialogComponent_ng_container_4_button_44_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
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
|
|
192
|
-
i0.ɵɵelementStart(0, "button",
|
|
193
|
-
i0.ɵɵlistener("click", function EventDialogComponent_ng_container_4_button_45_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
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,
|
|
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 (
|
|
395
|
-
e.
|
|
396
|
-
|
|
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", "
|
|
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,
|
|
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
|
-
|
|
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:
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"EventDialog.js","sourceRoot":"","sources":["../../src/components/EventDialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import type {
|
|
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:
|
|
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
|
-
|
|
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; };
|
|
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,
|
|
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",
|
|
15
|
+
i0.ɵɵelement(0, "div", 18);
|
|
17
16
|
} }
|
|
18
|
-
function
|
|
19
|
-
i0.ɵɵelementStart(0, "
|
|
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
|
|
22
|
+
const entry_r2 = i0.ɵɵnextContext().$implicit;
|
|
23
|
+
i0.ɵɵattribute("title", entry_r2.userId);
|
|
24
24
|
i0.ɵɵadvance();
|
|
25
|
-
i0.ɵɵtextInterpolate(
|
|
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)
|
|
33
|
-
i0.ɵɵ
|
|
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(
|
|
36
|
-
i0.ɵɵtext(
|
|
46
|
+
i0.ɵɵelementStart(9, "span", 16);
|
|
47
|
+
i0.ɵɵtext(10);
|
|
37
48
|
i0.ɵɵelementEnd()();
|
|
38
|
-
i0.ɵɵtemplate(
|
|
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
|
|
42
|
-
const
|
|
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(
|
|
56
|
+
i0.ɵɵstyleProp("background-color", ctx_r0.getColor(entry_r2.type));
|
|
46
57
|
i0.ɵɵadvance();
|
|
47
|
-
i0.ɵɵproperty("ngIf", !
|
|
58
|
+
i0.ɵɵproperty("ngIf", !last_r3);
|
|
48
59
|
i0.ɵɵadvance(3);
|
|
49
|
-
i0.ɵɵ
|
|
60
|
+
i0.ɵɵproperty("ngIf", entry_r2.actor !== undefined);
|
|
50
61
|
i0.ɵɵadvance();
|
|
51
|
-
i0.ɵɵ
|
|
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(
|
|
66
|
+
i0.ɵɵtextInterpolate(entry_r2.time);
|
|
54
67
|
i0.ɵɵadvance();
|
|
55
|
-
i0.ɵɵproperty("ngIf",
|
|
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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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"
|
|
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,
|
|
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
|
-
{{
|
|
152
|
+
{{ entry.label }}
|
|
147
153
|
</span>
|
|
148
|
-
<span class="bm-cal-event-history__time">{{
|
|
154
|
+
<span class="bm-cal-event-history__time">{{ entry.time }}</span>
|
|
149
155
|
</div>
|
|
150
|
-
<div class="bm-cal-event-history__summary" *ngIf="
|
|
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:
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC
|
|
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"}
|