@bimetal/calendar-angular-components 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +4 -2
- package/dist/binding/index.d.ts.map +1 -1
- package/dist/binding/index.js +5 -2
- package/dist/binding/index.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 +21 -4
- package/dist/components/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar.js +121 -30
- package/dist/components/Calendar.js.map +1 -1
- package/dist/components/CalendarHeader.d.ts +3 -0
- package/dist/components/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader.js +10 -4
- package/dist/components/CalendarHeader.js.map +1 -1
- package/dist/components/CategoryFilter.d.ts +3 -0
- package/dist/components/CategoryFilter.d.ts.map +1 -1
- package/dist/components/CategoryFilter.js +9 -5
- package/dist/components/CategoryFilter.js.map +1 -1
- package/dist/components/EventBar.d.ts +11 -4
- package/dist/components/EventBar.d.ts.map +1 -1
- package/dist/components/EventBar.js +87 -32
- package/dist/components/EventBar.js.map +1 -1
- package/dist/components/EventDialog.d.ts +6 -4
- package/dist/components/EventDialog.d.ts.map +1 -1
- package/dist/components/EventDialog.js +81 -44
- package/dist/components/EventDialog.js.map +1 -1
- package/dist/components/EventHistory.d.ts +14 -10
- package/dist/components/EventHistory.d.ts.map +1 -1
- package/dist/components/EventHistory.js +59 -56
- package/dist/components/EventHistory.js.map +1 -1
- package/dist/styles/index.css.d.ts +3 -0
- package/dist/views/day/DayView.d.ts +26 -4
- package/dist/views/day/DayView.d.ts.map +1 -1
- package/dist/views/day/DayView.js +56 -17
- package/dist/views/day/DayView.js.map +1 -1
- package/dist/views/month/MonthView.d.ts +14 -3
- package/dist/views/month/MonthView.d.ts.map +1 -1
- package/dist/views/month/MonthView.js +55 -7
- package/dist/views/month/MonthView.js.map +1 -1
- package/dist/views/month/WeekRow.d.ts +19 -3
- package/dist/views/month/WeekRow.d.ts.map +1 -1
- package/dist/views/month/WeekRow.js +73 -34
- package/dist/views/month/WeekRow.js.map +1 -1
- package/dist/views/resource/ResourceView.d.ts +28 -1
- package/dist/views/resource/ResourceView.d.ts.map +1 -1
- package/dist/views/resource/ResourceView.js +78 -21
- package/dist/views/resource/ResourceView.js.map +1 -1
- package/dist/views/timeline/TimelineView.d.ts +25 -3
- package/dist/views/timeline/TimelineView.d.ts.map +1 -1
- package/dist/views/timeline/TimelineView.js +77 -16
- package/dist/views/timeline/TimelineView.js.map +1 -1
- package/dist/views/week/AllDayRow.d.ts +16 -3
- package/dist/views/week/AllDayRow.d.ts.map +1 -1
- package/dist/views/week/AllDayRow.js +47 -10
- package/dist/views/week/AllDayRow.js.map +1 -1
- package/dist/views/week/TimeEvent.d.ts +11 -4
- package/dist/views/week/TimeEvent.d.ts.map +1 -1
- package/dist/views/week/TimeEvent.js +76 -26
- package/dist/views/week/TimeEvent.js.map +1 -1
- package/dist/views/week/WeekView.d.ts +16 -1
- package/dist/views/week/WeekView.d.ts.map +1 -1
- package/dist/views/week/WeekView.js +53 -18
- package/dist/views/week/WeekView.js.map +1 -1
- package/dist/views/year/YearView.d.ts +2 -0
- package/dist/views/year/YearView.d.ts.map +1 -1
- package/dist/views/year/YearView.js +17 -1
- package/dist/views/year/YearView.js.map +1 -1
- package/package.json +15 -12
|
@@ -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();
|
|
@@ -334,12 +351,17 @@ export class EventDialogComponent {
|
|
|
334
351
|
/** Controller-owned dialog state (draft, flags, validation). */
|
|
335
352
|
dialog;
|
|
336
353
|
config;
|
|
354
|
+
// readonly (bimetal-131 R1) — pass-through of the parent's snapshot-cached
|
|
355
|
+
// array; see EventHistory for the rationale.
|
|
337
356
|
history = [];
|
|
338
357
|
/** Patch the controlled draft from raw input (controller applies the policy). */
|
|
339
358
|
setDraft = new EventEmitter();
|
|
340
359
|
/** Assemble + validate + save the held draft (controller owns all of it). */
|
|
341
360
|
save = new EventEmitter();
|
|
342
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();
|
|
343
365
|
close = new EventEmitter();
|
|
344
366
|
dialogEl;
|
|
345
367
|
showHistory = false;
|
|
@@ -395,11 +417,18 @@ export class EventDialogComponent {
|
|
|
395
417
|
onResourceId(e) { this.setDraft.emit({ resourceId: e.target.value }); }
|
|
396
418
|
onLocation(e) { this.setDraft.emit({ location: this.value(e) }); }
|
|
397
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.
|
|
398
423
|
handleKeyDown(e) {
|
|
399
|
-
if (
|
|
400
|
-
e.
|
|
401
|
-
|
|
402
|
-
|
|
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();
|
|
403
432
|
}
|
|
404
433
|
handleSave() { this.save.emit(); }
|
|
405
434
|
static ɵfac = function EventDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventDialogComponent)(); };
|
|
@@ -408,14 +437,14 @@ export class EventDialogComponent {
|
|
|
408
437
|
} if (rf & 2) {
|
|
409
438
|
let _t;
|
|
410
439
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dialogEl = _t.first);
|
|
411
|
-
} }, 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) {
|
|
412
441
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
413
442
|
i0.ɵɵelementStart(0, "div", 1);
|
|
414
443
|
i0.ɵɵlistener("click", function EventDialogComponent_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.close.emit()); });
|
|
415
444
|
i0.ɵɵelementEnd();
|
|
416
445
|
i0.ɵɵelementStart(1, "div", 2, 0);
|
|
417
446
|
i0.ɵɵlistener("keydown", function EventDialogComponent_Template_div_keydown_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleKeyDown($event)); });
|
|
418
|
-
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);
|
|
419
448
|
i0.ɵɵelementEnd();
|
|
420
449
|
} if (rf & 2) {
|
|
421
450
|
i0.ɵɵadvance();
|
|
@@ -444,7 +473,6 @@ export class EventDialogComponent {
|
|
|
444
473
|
[eventId]="event.id"
|
|
445
474
|
[history]="history"
|
|
446
475
|
[locale]="config.locale"
|
|
447
|
-
[timezone]="config.core.timezone"
|
|
448
476
|
(back)="hideHistory()">
|
|
449
477
|
</cal-event-history>
|
|
450
478
|
|
|
@@ -486,8 +514,15 @@ export class EventDialogComponent {
|
|
|
486
514
|
</div>
|
|
487
515
|
</div>
|
|
488
516
|
|
|
489
|
-
<div *ngIf="isInstance" style="font-size: 12px; color: var(--cal-color-text-muted); padding: 4px 0;">
|
|
490
|
-
|
|
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>
|
|
491
526
|
</div>
|
|
492
527
|
|
|
493
528
|
<div class="bm-cal__dialog-row">
|
|
@@ -571,11 +606,13 @@ export class EventDialogComponent {
|
|
|
571
606
|
type: Output
|
|
572
607
|
}], deleteEvent: [{
|
|
573
608
|
type: Output
|
|
609
|
+
}], editSeries: [{
|
|
610
|
+
type: Output
|
|
574
611
|
}], close: [{
|
|
575
612
|
type: Output
|
|
576
613
|
}], dialogEl: [{
|
|
577
614
|
type: ViewChild,
|
|
578
615
|
args: ['dialogEl']
|
|
579
616
|
}] }); })();
|
|
580
|
-
(() => { (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 }); })();
|
|
581
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,21 +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).
|
|
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. */
|
|
6
15
|
export declare class EventHistoryComponent {
|
|
7
16
|
eventId: string;
|
|
8
|
-
history:
|
|
17
|
+
history: readonly CalendarHistoryEntry[];
|
|
9
18
|
locale: CalendarLocale;
|
|
10
|
-
/** Optional for back-compat (v0.33 additive). EventDialog binds config.core.timezone;
|
|
11
|
-
* a direct consumer that omits it keeps the pre-v0.33 ambient-TZ behavior. */
|
|
12
|
-
timezone?: string;
|
|
13
19
|
back: EventEmitter<void>;
|
|
14
20
|
getColor(type: string): string;
|
|
15
|
-
|
|
16
|
-
formatTime(timestamp: number): string;
|
|
17
|
-
getSummary(event: DomainEvent): string;
|
|
21
|
+
trackEntry(_: number, entry: CalendarHistoryEntry): string;
|
|
18
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<EventHistoryComponent, never>;
|
|
19
|
-
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>;
|
|
20
24
|
}
|
|
21
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,43 +73,34 @@ const eventTypeColors = {
|
|
|
60
73
|
'bimetal.calendar.CalendarEventDeleted': '#FF3B30',
|
|
61
74
|
'bimetal.calendar.CalendarEventReverted': '#FF9500',
|
|
62
75
|
};
|
|
63
|
-
/** Read-only timeline of a single event's domain-event history (created/updated/deleted/reverted).
|
|
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. */
|
|
64
86
|
export class EventHistoryComponent {
|
|
65
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.
|
|
66
92
|
history = [];
|
|
67
93
|
locale;
|
|
68
|
-
/** Optional for back-compat (v0.33 additive). EventDialog binds config.core.timezone;
|
|
69
|
-
* a direct consumer that omits it keeps the pre-v0.33 ambient-TZ behavior. */
|
|
70
|
-
timezone;
|
|
71
94
|
back = new EventEmitter();
|
|
72
95
|
getColor(type) {
|
|
73
96
|
return eventTypeColors[type] ?? '#8E8E93';
|
|
74
97
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return formatHistoryTimestamp(timestamp, this.locale.code, this.timezone);
|
|
80
|
-
}
|
|
81
|
-
getSummary(event) {
|
|
82
|
-
const payload = event.payload;
|
|
83
|
-
switch (event.type) {
|
|
84
|
-
case 'bimetal.calendar.CalendarEventCreated': {
|
|
85
|
-
const ev = payload.event;
|
|
86
|
-
return ev?.title ?? '';
|
|
87
|
-
}
|
|
88
|
-
case 'bimetal.calendar.CalendarEventUpdated': {
|
|
89
|
-
const changes = payload.changes;
|
|
90
|
-
if (!changes)
|
|
91
|
-
return '';
|
|
92
|
-
return Object.keys(changes).join(', ');
|
|
93
|
-
}
|
|
94
|
-
default:
|
|
95
|
-
return '';
|
|
96
|
-
}
|
|
97
|
-
}
|
|
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; }
|
|
98
102
|
static ɵfac = function EventHistoryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventHistoryComponent)(); };
|
|
99
|
-
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) {
|
|
100
104
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "button", 2);
|
|
101
105
|
i0.ɵɵlistener("click", function EventHistoryComponent_Template_button_click_2_listener() { return ctx.back.emit(); });
|
|
102
106
|
i0.ɵɵtext(3, "\u2190");
|
|
@@ -106,7 +110,7 @@ export class EventHistoryComponent {
|
|
|
106
110
|
i0.ɵɵelementEnd()();
|
|
107
111
|
i0.ɵɵtemplate(6, EventHistoryComponent_div_6_Template, 2, 1, "div", 4);
|
|
108
112
|
i0.ɵɵelementStart(7, "div", 5);
|
|
109
|
-
i0.ɵɵtemplate(8, EventHistoryComponent_div_8_Template,
|
|
113
|
+
i0.ɵɵtemplate(8, EventHistoryComponent_div_8_Template, 12, 9, "div", 6);
|
|
110
114
|
i0.ɵɵelementEnd()();
|
|
111
115
|
} if (rf & 2) {
|
|
112
116
|
i0.ɵɵadvance(5);
|
|
@@ -114,7 +118,7 @@ export class EventHistoryComponent {
|
|
|
114
118
|
i0.ɵɵadvance();
|
|
115
119
|
i0.ɵɵproperty("ngIf", ctx.history.length === 0);
|
|
116
120
|
i0.ɵɵadvance(2);
|
|
117
|
-
i0.ɵɵproperty("ngForOf", ctx.history);
|
|
121
|
+
i0.ɵɵproperty("ngForOf", ctx.history)("ngForTrackBy", ctx.trackEntry);
|
|
118
122
|
} }, dependencies: [CommonModule, i1.NgForOf, i1.NgIf], encapsulation: 2 });
|
|
119
123
|
}
|
|
120
124
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventHistoryComponent, [{
|
|
@@ -136,19 +140,20 @@ export class EventHistoryComponent {
|
|
|
136
140
|
</div>
|
|
137
141
|
|
|
138
142
|
<div class="bm-cal-event-history__timeline">
|
|
139
|
-
<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">
|
|
140
144
|
<div class="bm-cal-event-history__dot-col">
|
|
141
145
|
<div class="bm-cal-event-history__dot" [style.background-color]="getColor(entry.type)"></div>
|
|
142
146
|
<div class="bm-cal-event-history__line" *ngIf="!last"></div>
|
|
143
147
|
</div>
|
|
144
148
|
<div class="bm-cal-event-history__content">
|
|
145
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>
|
|
146
151
|
<span class="bm-cal-event-history__badge" [style.background-color]="getColor(entry.type)">
|
|
147
|
-
{{
|
|
152
|
+
{{ entry.label }}
|
|
148
153
|
</span>
|
|
149
|
-
<span class="bm-cal-event-history__time">{{
|
|
154
|
+
<span class="bm-cal-event-history__time">{{ entry.time }}</span>
|
|
150
155
|
</div>
|
|
151
|
-
<div class="bm-cal-event-history__summary" *ngIf="
|
|
156
|
+
<div class="bm-cal-event-history__summary" *ngIf="entry.summary">{{ entry.summary }}</div>
|
|
152
157
|
</div>
|
|
153
158
|
</div>
|
|
154
159
|
</div>
|
|
@@ -161,10 +166,8 @@ export class EventHistoryComponent {
|
|
|
161
166
|
type: Input
|
|
162
167
|
}], locale: [{
|
|
163
168
|
type: Input
|
|
164
|
-
}], timezone: [{
|
|
165
|
-
type: Input
|
|
166
169
|
}], back: [{
|
|
167
170
|
type: Output
|
|
168
171
|
}] }); })();
|
|
169
|
-
(() => { (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 }); })();
|
|
170
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"}
|