@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,14 +1,13 @@
|
|
|
1
1
|
import { Component, Input, NgZone, TemplateRef, Optional, signal } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { getYear, getMonth } from '@bimetal/
|
|
4
|
-
import { parseDragInfo } from '@bimetal/calendar-headless';
|
|
3
|
+
import { getYear, getMonth, monthIndex } from '@bimetal/temporal';
|
|
4
|
+
import { parseDragInfo, reportUnroutedCalendarError } from '@bimetal/calendar-headless';
|
|
5
5
|
import { isEditableTarget } from '@bimetal/a11y-dom';
|
|
6
6
|
import { createCalendarControllerBinding, EventRenderService, ZERO_RECT, } from '../binding/index.js';
|
|
7
7
|
import { CalendarHeaderComponent } from './CalendarHeader.js';
|
|
8
8
|
import { CategoryFilterComponent } from './CategoryFilter.js';
|
|
9
9
|
import { ResourceFilterComponent } from './ResourceFilter.js';
|
|
10
10
|
import { EventDialogComponent } from './EventDialog.js';
|
|
11
|
-
import { UndoToastComponent } from './UndoToast.js';
|
|
12
11
|
import { MonthViewComponent } from '../views/month/MonthView.js';
|
|
13
12
|
import { WeekViewComponent } from '../views/week/WeekView.js';
|
|
14
13
|
import { DayViewComponent } from '../views/day/DayView.js';
|
|
@@ -21,7 +20,7 @@ import * as i1 from "../binding/index.js";
|
|
|
21
20
|
import * as i2 from "@angular/common";
|
|
22
21
|
function CalendarComponent_cal_category_filter_2_Template(rf, ctx) { if (rf & 1) {
|
|
23
22
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
24
|
-
i0.ɵɵelementStart(0, "cal-category-filter",
|
|
23
|
+
i0.ɵɵelementStart(0, "cal-category-filter", 13);
|
|
25
24
|
i0.ɵɵlistener("toggle", function CalendarComponent_cal_category_filter_2_Template_cal_category_filter_toggle_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.toggleCategory($event)); });
|
|
26
25
|
i0.ɵɵelementEnd();
|
|
27
26
|
} if (rf & 2) {
|
|
@@ -30,7 +29,7 @@ function CalendarComponent_cal_category_filter_2_Template(rf, ctx) { if (rf & 1)
|
|
|
30
29
|
} }
|
|
31
30
|
function CalendarComponent_cal_resource_filter_3_Template(rf, ctx) { if (rf & 1) {
|
|
32
31
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
33
|
-
i0.ɵɵelementStart(0, "cal-resource-filter",
|
|
32
|
+
i0.ɵɵelementStart(0, "cal-resource-filter", 14);
|
|
34
33
|
i0.ɵɵlistener("toggle", function CalendarComponent_cal_resource_filter_3_Template_cal_resource_filter_toggle_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.toggleResource($event)); });
|
|
35
34
|
i0.ɵɵelementEnd();
|
|
36
35
|
} if (rf & 2) {
|
|
@@ -39,7 +38,7 @@ function CalendarComponent_cal_resource_filter_3_Template(rf, ctx) { if (rf & 1)
|
|
|
39
38
|
} }
|
|
40
39
|
function CalendarComponent_cal_year_view_4_Template(rf, ctx) { if (rf & 1) {
|
|
41
40
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
42
|
-
i0.ɵɵelementStart(0, "cal-year-view",
|
|
41
|
+
i0.ɵɵelementStart(0, "cal-year-view", 15);
|
|
43
42
|
i0.ɵɵlistener("monthClick", function CalendarComponent_cal_year_view_4_Template_cal_year_view_monthClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.goToMonth($event.year, $event.month)); })("dayCellClick", function CalendarComponent_cal_year_view_4_Template_cal_year_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); });
|
|
44
43
|
i0.ɵɵelementEnd();
|
|
45
44
|
} if (rf & 2) {
|
|
@@ -48,17 +47,17 @@ function CalendarComponent_cal_year_view_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
48
47
|
} }
|
|
49
48
|
function CalendarComponent_cal_month_view_5_Template(rf, ctx) { if (rf & 1) {
|
|
50
49
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
51
|
-
i0.ɵɵelementStart(0, "cal-month-view",
|
|
52
|
-
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_month_view_5_Template_cal_month_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dragOverDate", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); })("expandMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_expandMonthCell_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.expandMonthCell($event)); })("collapseMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_collapseMonthCell_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.collapseMonthCell()); });
|
|
50
|
+
i0.ɵɵelementStart(0, "cal-month-view", 16);
|
|
51
|
+
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_month_view_5_Template_cal_month_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dropDayInfo", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dropDayInfo_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropAllDay($event.info, $event.date)); })("dragOverDate", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); })("expandMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_expandMonthCell_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.expandMonthCell($event)); })("collapseMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_collapseMonthCell_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.collapseMonthCell()); });
|
|
53
52
|
i0.ɵɵelementEnd();
|
|
54
53
|
} if (rf & 2) {
|
|
55
54
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
56
|
-
i0.ɵɵproperty("year", ctx_r1.getYear(ctx_r1.snapshot.currentDate))("month", ctx_r1.getMonth(ctx_r1.snapshot.currentDate))("events", ctx_r1.filteredEvents)("config", ctx_r1.mergedConfig)("previewEvent", ctx_r1.snapshot.previewEvent)("expandedMonthDay", ctx_r1.snapshot.expandedMonthDay)("selectedEventId", ctx_r1.selectedEventId)("selectedInstanceDate", ctx_r1.selectedInstanceDate);
|
|
55
|
+
i0.ɵɵproperty("year", ctx_r1.getYear(ctx_r1.snapshot.currentDate))("month", ctx_r1.monthIndex(ctx_r1.getMonth(ctx_r1.snapshot.currentDate)))("events", ctx_r1.filteredEvents)("config", ctx_r1.mergedConfig)("previewEvent", ctx_r1.snapshot.previewEvent)("expandedMonthDay", ctx_r1.snapshot.expandedMonthDay)("selectedEventId", ctx_r1.selectedEventId)("selectedInstanceDate", ctx_r1.selectedInstanceDate);
|
|
57
56
|
} }
|
|
58
57
|
function CalendarComponent_cal_week_view_6_Template(rf, ctx) { if (rf & 1) {
|
|
59
58
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
60
|
-
i0.ɵɵelementStart(0, "cal-week-view",
|
|
61
|
-
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_week_view_6_Template_cal_week_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dropTimedEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dragOverDate", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("dragOverDateTime", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
59
|
+
i0.ɵɵelementStart(0, "cal-week-view", 17);
|
|
60
|
+
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_week_view_6_Template_cal_week_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dropTimedEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dropTimedInfo", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropTimedInfo_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropTimed($event.info, $event.date, $event.time)); })("dropDayInfo", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropDayInfo_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropAllDay($event.info, $event.date)); })("dragOverDate", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("dragOverDateTime", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
62
61
|
i0.ɵɵelementEnd();
|
|
63
62
|
} if (rf & 2) {
|
|
64
63
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -66,8 +65,8 @@ function CalendarComponent_cal_week_view_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
66
65
|
} }
|
|
67
66
|
function CalendarComponent_cal_day_view_7_Template(rf, ctx) { if (rf & 1) {
|
|
68
67
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
69
|
-
i0.ɵɵelementStart(0, "cal-day-view",
|
|
70
|
-
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_day_view_7_Template_cal_day_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropTimedEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dragOverDateTime", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
68
|
+
i0.ɵɵelementStart(0, "cal-day-view", 18);
|
|
69
|
+
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_day_view_7_Template_cal_day_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropTimedEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dropTimedInfo", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dropTimedInfo_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropTimed($event.info, $event.date, $event.time)); })("dragOverDateTime", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
71
70
|
i0.ɵɵelementEnd();
|
|
72
71
|
} if (rf & 2) {
|
|
73
72
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -75,8 +74,8 @@ function CalendarComponent_cal_day_view_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
75
74
|
} }
|
|
76
75
|
function CalendarComponent_cal_timeline_view_8_Template(rf, ctx) { if (rf & 1) {
|
|
77
76
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
78
|
-
i0.ɵɵelementStart(0, "cal-timeline-view",
|
|
79
|
-
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("timelineCellClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineCellClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineCellClick($event)); })("timelineDrop", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineDrop_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineDrop($event)); })("dragOverDate", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
77
|
+
i0.ɵɵelementStart(0, "cal-timeline-view", 19);
|
|
78
|
+
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("timelineCellClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineCellClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineCellClick($event)); })("timelineDrop", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineDrop_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineDrop($event)); })("timelineDropInfo", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineDropInfo_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropTimeline($event.info, $event.date, $event.resourceId)); })("dragOverDate", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
80
79
|
i0.ɵɵelementEnd();
|
|
81
80
|
} if (rf & 2) {
|
|
82
81
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -84,8 +83,8 @@ function CalendarComponent_cal_timeline_view_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
84
83
|
} }
|
|
85
84
|
function CalendarComponent_cal_resource_view_9_Template(rf, ctx) { if (rf & 1) {
|
|
86
85
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
87
|
-
i0.ɵɵelementStart(0, "cal-resource-view",
|
|
88
|
-
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("resourceCellClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceCellClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceCellClick($event)); })("resourceDrop", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceDrop_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceDrop($event)); })("dragOverDateTime", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
86
|
+
i0.ɵɵelementStart(0, "cal-resource-view", 20);
|
|
87
|
+
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("resourceCellClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceCellClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceCellClick($event)); })("resourceDrop", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceDrop_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceDrop($event)); })("resourceDropInfo", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceDropInfo_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDropResource($event.info, $event.date, $event.time, $event.resourceId)); })("dragOverDateTime", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
|
|
89
88
|
i0.ɵɵelementEnd();
|
|
90
89
|
} if (rf & 2) {
|
|
91
90
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -93,7 +92,7 @@ function CalendarComponent_cal_resource_view_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
93
92
|
} }
|
|
94
93
|
function CalendarComponent_cal_agenda_view_10_Template(rf, ctx) { if (rf & 1) {
|
|
95
94
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
96
|
-
i0.ɵɵelementStart(0, "cal-agenda-view",
|
|
95
|
+
i0.ɵɵelementStart(0, "cal-agenda-view", 21);
|
|
97
96
|
i0.ɵɵlistener("eventClick", function CalendarComponent_cal_agenda_view_10_Template_cal_agenda_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_agenda_view_10_Template_cal_agenda_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); });
|
|
98
97
|
i0.ɵɵelementEnd();
|
|
99
98
|
} if (rf & 2) {
|
|
@@ -105,7 +104,7 @@ function CalendarComponent_ng_container_11_ng_container_1_Template(rf, ctx) { if
|
|
|
105
104
|
} }
|
|
106
105
|
function CalendarComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
|
|
107
106
|
i0.ɵɵelementContainerStart(0);
|
|
108
|
-
i0.ɵɵtemplate(1, CalendarComponent_ng_container_11_ng_container_1_Template, 1, 0, "ng-container",
|
|
107
|
+
i0.ɵɵtemplate(1, CalendarComponent_ng_container_11_ng_container_1_Template, 1, 0, "ng-container", 22);
|
|
109
108
|
i0.ɵɵelementContainerEnd();
|
|
110
109
|
} if (rf & 2) {
|
|
111
110
|
const cv_r11 = ctx.ngIf;
|
|
@@ -115,8 +114,8 @@ function CalendarComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
115
114
|
} }
|
|
116
115
|
function CalendarComponent_cal_event_dialog_12_Template(rf, ctx) { if (rf & 1) {
|
|
117
116
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
118
|
-
i0.ɵɵelementStart(0, "cal-event-dialog",
|
|
119
|
-
i0.ɵɵlistener("setDraft", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_setDraft_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.setDraft($event)); })("save", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_save_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveDialogFromInput()); })("deleteEvent", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_deleteEvent_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.
|
|
117
|
+
i0.ɵɵelementStart(0, "cal-event-dialog", 23);
|
|
118
|
+
i0.ɵɵlistener("setDraft", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_setDraft_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.setDraft($event)); })("save", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_save_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveDialogFromInput()); })("deleteEvent", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_deleteEvent_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.voidDeleteDialog($event)); })("editSeries", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_editSeries_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEditSeries($event)); })("close", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_close_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.closeDialog()); });
|
|
120
119
|
i0.ɵɵelementEnd();
|
|
121
120
|
} if (rf & 2) {
|
|
122
121
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -127,13 +126,23 @@ function CalendarComponent_ng_container_13_ng_container_1_Template(rf, ctx) { if
|
|
|
127
126
|
} }
|
|
128
127
|
function CalendarComponent_ng_container_13_Template(rf, ctx) { if (rf & 1) {
|
|
129
128
|
i0.ɵɵelementContainerStart(0);
|
|
130
|
-
i0.ɵɵtemplate(1, CalendarComponent_ng_container_13_ng_container_1_Template, 1, 0, "ng-container",
|
|
129
|
+
i0.ɵɵtemplate(1, CalendarComponent_ng_container_13_ng_container_1_Template, 1, 0, "ng-container", 22);
|
|
131
130
|
i0.ɵɵelementContainerEnd();
|
|
132
131
|
} if (rf & 2) {
|
|
133
132
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
134
133
|
i0.ɵɵadvance();
|
|
135
134
|
i0.ɵɵproperty("ngComponentOutlet", ctx_r1.customDialogComponent)("ngComponentOutletInputs", ctx_r1.eventDialogInputs);
|
|
136
135
|
} }
|
|
136
|
+
// bimetal-131 M2: stable empty — a literal `[]` in the getter would mint a fresh
|
|
137
|
+
// identity per CD pass and defeat OnPush in the history consumer.
|
|
138
|
+
const EMPTY_HISTORY = [];
|
|
139
|
+
/**
|
|
140
|
+
* Root calendar component: renders header, filters, the active view, and the
|
|
141
|
+
* event dialog, wiring them all to the calendar controller.
|
|
142
|
+
* Dual API: creates + owns a controller from `store`/`config`/`rules` (STANDALONE)
|
|
143
|
+
* unless a `controller` Input is supplied, in which case it only subscribes to it
|
|
144
|
+
* (BOUND — the host owns lifecycle and reconfiguration).
|
|
145
|
+
*/
|
|
137
146
|
export class CalendarComponent {
|
|
138
147
|
eventRenderService;
|
|
139
148
|
zone;
|
|
@@ -151,6 +160,9 @@ export class CalendarComponent {
|
|
|
151
160
|
dir;
|
|
152
161
|
showCategoryFilter = false;
|
|
153
162
|
showResourceFilter = false;
|
|
163
|
+
/** Show the undo/redo button pair in the header (default true). UI-only — the
|
|
164
|
+
* controller's undo()/redo() and the keyboard shortcuts stay active when hidden. */
|
|
165
|
+
showUndoRedo = true;
|
|
154
166
|
customViews;
|
|
155
167
|
eventDialog = { kind: 'builtin' };
|
|
156
168
|
onEventClick;
|
|
@@ -158,9 +170,15 @@ export class CalendarComponent {
|
|
|
158
170
|
/** OBSERVE hook: fires when the SELECTED EVENT changes (state, including clears)
|
|
159
171
|
* — a SEPARATE concern from the `none`-mode delegation callbacks. */
|
|
160
172
|
onSelectionChange;
|
|
161
|
-
/** Controller error channel:
|
|
162
|
-
*
|
|
173
|
+
/** Controller error channel (ticket-32): EVERY dispatch rejection — a domain rule
|
|
174
|
+
* violation, a ConcurrencyError, a storage failure or a bug — is passed here instead
|
|
175
|
+
* of rejecting. No error becomes a toast inside the calendar; presentation is the app's. */
|
|
163
176
|
onError;
|
|
177
|
+
/** OBSERVE hook: fires when history (undo/redo availability) changes — see
|
|
178
|
+
* {@link CalendarHistoryChange}. The app decides whether to surface a toast. */
|
|
179
|
+
onHistoryChange;
|
|
180
|
+
/** OBSERVE hook: fires with the non-blocking rule warnings for the last mutation. */
|
|
181
|
+
onWarning;
|
|
164
182
|
/** Template projected after the default content zone of every event. */
|
|
165
183
|
eventBadgesTpl;
|
|
166
184
|
/** Template replacing the default content zone of every event. */
|
|
@@ -171,6 +189,20 @@ export class CalendarComponent {
|
|
|
171
189
|
eventStyle;
|
|
172
190
|
/** Per-event title override. Return undefined to keep event.title. */
|
|
173
191
|
eventTitle;
|
|
192
|
+
/** Per-event interaction policy (ticket-19): a PURE function of the event returning
|
|
193
|
+
* which interactions it allows (`draggable`/`resizable`/`editable`/`deletable`, or
|
|
194
|
+
* `locked` for all-off). The controller enforces it AND exposes it so the views drop
|
|
195
|
+
* the matching affordance. Read at controller creation — pass a stable function. */
|
|
196
|
+
eventInteraction;
|
|
197
|
+
/** bimetal-147: macht aus der Audit-Id `event.metadata.userId` den in der
|
|
198
|
+
* eingebauten Historie angezeigten Text. Ohne den Hook zeigt die Historie die
|
|
199
|
+
* Id roh — sie erfindet nie einen Namen. Nur auf dem STANDALONE-Pfad ein Input;
|
|
200
|
+
* wer den Controller selbst besitzt, setzt ihn dort als Option. Wie
|
|
201
|
+
* `eventInteraction` bei der Controller-Erzeugung gelesen — eine STABILE
|
|
202
|
+
* Funktion übergeben; ein späterer `@Input()`-Wechsel wird NICHT nachgezogen
|
|
203
|
+
* (kein `ngOnChanges`-Pfad), auch wenn ein Input sonst Reaktivität erwarten
|
|
204
|
+
* lässt. */
|
|
205
|
+
resolveActor;
|
|
174
206
|
/** STANDALONE only — the bound path leaves the owned controller untouched. */
|
|
175
207
|
binding;
|
|
176
208
|
bound = false;
|
|
@@ -183,6 +215,7 @@ export class CalendarComponent {
|
|
|
183
215
|
get snapshot() { return this.snapshotSig(); }
|
|
184
216
|
getYear = getYear;
|
|
185
217
|
getMonth = getMonth;
|
|
218
|
+
monthIndex = monthIndex;
|
|
186
219
|
/** v0.29 Tastatur: root-scoped keydown → controller (Ctrl/Cmd+Z undo, Escape clears).
|
|
187
220
|
* Bound via the `.bm-cal` root's `(keydown)` in the template — NOT a window listener
|
|
188
221
|
* (no document-level routing). Public so the template can call it. */
|
|
@@ -200,19 +233,55 @@ export class CalendarComponent {
|
|
|
200
233
|
* child's `[setViewport]` reference doesn't churn. */
|
|
201
234
|
setViewport = (scrollTop, viewportHeight) => this.ctrl.setViewport(scrollTop, viewportHeight);
|
|
202
235
|
/** Builtin dialog save: the controller assembles + mints + validates + saves. */
|
|
203
|
-
saveDialogFromInput() {
|
|
236
|
+
saveDialogFromInput() { this.ctrl.voidSaveDialogFromInput(); }
|
|
204
237
|
// ── Snapshot-derived convenience accessors (template + tests) ──
|
|
205
238
|
get mergedConfig() { return this.snapshot.config; }
|
|
206
239
|
// Angular's strict template binder rejects readonly arrays into the views'
|
|
207
240
|
// mutable @Inputs, so spread into fresh mutable arrays at the binding edge.
|
|
208
|
-
|
|
209
|
-
|
|
241
|
+
//
|
|
242
|
+
// CACHED PER SNAPSHOT, not per call. A getter runs on EVERY change-detection
|
|
243
|
+
// pass, and Zone.js runs change detection after every DOM event — so a bare
|
|
244
|
+
// `[...]` handed the views a NEW array identity on every mousedown/keydown/
|
|
245
|
+
// dragstart. That fired the views' ngOnChanges, rebuilt their layout wrappers,
|
|
246
|
+
// and the un-trackBy'd *ngFor re-created every event bar mid-gesture. Chromium
|
|
247
|
+
// cancels a native HTML5 drag whose source node is destroyed in the dragstart
|
|
248
|
+
// task: month/week/day event-bar drag was therefore DEAD on Angular only —
|
|
249
|
+
// React never re-renders here, because `startDrag` is deliberately transient
|
|
250
|
+
// (no snapshot change). Same array while the snapshot is the same ⇒ no input
|
|
251
|
+
// change ⇒ the dragged node survives its own dragstart.
|
|
252
|
+
eventsCopy = null;
|
|
253
|
+
get filteredEvents() {
|
|
254
|
+
const src = this.snapshot.events;
|
|
255
|
+
if (this.eventsCopy?.src !== src)
|
|
256
|
+
this.eventsCopy = { src, copy: [...src] };
|
|
257
|
+
return this.eventsCopy.copy;
|
|
258
|
+
}
|
|
259
|
+
viewConfigCopy = null;
|
|
260
|
+
get viewConfigList() {
|
|
261
|
+
const src = this.snapshot.viewConfigList;
|
|
262
|
+
if (this.viewConfigCopy?.src !== src)
|
|
263
|
+
this.viewConfigCopy = { src, copy: [...src] };
|
|
264
|
+
return this.viewConfigCopy.copy;
|
|
265
|
+
}
|
|
210
266
|
get visibleResources() { return this.snapshot.visibleResources; }
|
|
211
267
|
get selectedEventId() { return this.snapshot.selectedEvent?.eventId ?? null; }
|
|
212
268
|
get selectedInstanceDate() { return this.snapshot.selectedEvent?.instanceDate; }
|
|
269
|
+
// CACHED PER (SNAPSHOT, EVENT) — bimetal-131 M2. As a bare getter this ran
|
|
270
|
+
// ctrl.getHistory() on EVERY change-detection pass while any dialog was open:
|
|
271
|
+
// a full-stream filter + structuredClone per keystroke, growing linearly with
|
|
272
|
+
// stream length, and the fresh identities rebuilt the history timeline DOM
|
|
273
|
+
// each time. History can only change when the store notifies (= new snapshot),
|
|
274
|
+
// so the snapshot identity is the complete invalidation key.
|
|
275
|
+
historyCache = null;
|
|
213
276
|
get dialogHistory() {
|
|
214
277
|
const ev = this.snapshot.dialog?.event;
|
|
215
|
-
|
|
278
|
+
if (!ev)
|
|
279
|
+
return EMPTY_HISTORY;
|
|
280
|
+
const c = this.historyCache;
|
|
281
|
+
if (!c || c.snap !== this.snapshot || c.eventId !== ev.id) {
|
|
282
|
+
this.historyCache = { snap: this.snapshot, eventId: ev.id, value: this.ctrl.getHistoryEntries(ev.id) };
|
|
283
|
+
}
|
|
284
|
+
return this.historyCache.value;
|
|
216
285
|
}
|
|
217
286
|
syncEventRenderService() {
|
|
218
287
|
if (!this.eventRenderService)
|
|
@@ -223,6 +292,9 @@ export class CalendarComponent {
|
|
|
223
292
|
this.eventRenderService.eventClassName = this.eventClassName;
|
|
224
293
|
this.eventRenderService.eventStyle = this.eventStyle;
|
|
225
294
|
this.eventRenderService.eventTitle = this.eventTitle;
|
|
295
|
+
// ticket-19: the controller's memoized policy resolver — the leaves' affordance
|
|
296
|
+
// then reads the SAME source the controller enforces on.
|
|
297
|
+
this.eventRenderService.getEventInteraction = this.ctrl.getEventInteraction;
|
|
226
298
|
}
|
|
227
299
|
ngOnInit() {
|
|
228
300
|
// Dual-API (composition contract, F1): a passed `controller` selects the BOUND
|
|
@@ -244,18 +316,28 @@ export class CalendarComponent {
|
|
|
244
316
|
this.snapshotSig = sig;
|
|
245
317
|
}
|
|
246
318
|
else {
|
|
247
|
-
|
|
319
|
+
// bimetal-181: roh standen hier `eventInteraction` und `resolveActor` — zwei
|
|
320
|
+
// FUNKTIONEN, die der Getter jetzt bei jedem Aufruf neu von `this` liest.
|
|
321
|
+
// R1-Korrektur: `eventDialogKind` gehörte NICHT in diese Aufzählung. Es ist ein
|
|
322
|
+
// String, also ein Nicht-Funktions-Feld — `liveOptions` friert es am Aufbau ein,
|
|
323
|
+
// genau wie vorher. Geändert wird es über `ctrl.setEventDialogKind` (unten in
|
|
324
|
+
// `ngOnChanges`), in allen drei Stacks; der Getter heilt daran nichts.
|
|
325
|
+
this.binding = createCalendarControllerBinding(() => ({
|
|
248
326
|
store: this.store,
|
|
249
327
|
config: this.config,
|
|
250
328
|
rules: this.rules,
|
|
251
329
|
customViews: this.customViews,
|
|
330
|
+
eventInteraction: this.eventInteraction,
|
|
331
|
+
resolveActor: this.resolveActor,
|
|
252
332
|
eventDialogKind: this.eventDialog.kind,
|
|
253
333
|
onEventClickExternal: (id, rect, inst) => this.onEventClick?.(id, rect, inst),
|
|
254
334
|
onNewEventRequestedExternal: (date, rect, rid) => this.onNewEventRequested?.(date, rect, rid),
|
|
255
335
|
// OBSERVE: fires on selection state change (separate from `none` delegation).
|
|
256
336
|
onSelectionChange: (sel) => this.onSelectionChange?.(sel),
|
|
257
|
-
onError: (err) => this.onError
|
|
258
|
-
|
|
337
|
+
onError: (err) => (this.onError ?? reportUnroutedCalendarError)(err),
|
|
338
|
+
onHistoryChange: (change) => this.onHistoryChange?.(change),
|
|
339
|
+
onWarning: (warnings) => this.onWarning?.(warnings),
|
|
340
|
+
}), this.zone);
|
|
259
341
|
this.ctrlRef = this.binding.ctrl;
|
|
260
342
|
this.snapshotSig = this.binding.snapshot;
|
|
261
343
|
// Mirror the current view onto the render service after every update so
|
|
@@ -297,8 +379,19 @@ export class CalendarComponent {
|
|
|
297
379
|
getCustomView(id) {
|
|
298
380
|
return this.customViews?.find(v => v.id === id);
|
|
299
381
|
}
|
|
382
|
+
// CACHED PER SNAPSHOT — bimetal-131 M3. Bound via *ngComponentOutlet's
|
|
383
|
+
// `inputs:`, and ngComponentOutlet diffs the inputs OBJECT by reference: a
|
|
384
|
+
// bare getter handed it a fresh object with fresh callback closures on every
|
|
385
|
+
// CD pass, so the consumer's custom view took a setInput/ngOnChanges storm on
|
|
386
|
+
// every DOM event. If that view has draggable content in an un-trackBy'd
|
|
387
|
+
// ngFor, this reproduces mcp-129 AT THE CONSUMER — with the framework as the
|
|
388
|
+
// cause. Every value below derives from the snapshot; the callbacks close
|
|
389
|
+
// only over `this.ctrl` (stable) — snapshot identity is the complete key.
|
|
390
|
+
customViewInputsCache = null;
|
|
300
391
|
get customViewInputs() {
|
|
301
|
-
|
|
392
|
+
if (this.customViewInputsCache?.snap === this.snapshot)
|
|
393
|
+
return this.customViewInputsCache.value;
|
|
394
|
+
const value = {
|
|
302
395
|
currentDate: this.snapshot.currentDate,
|
|
303
396
|
events: this.snapshot.events,
|
|
304
397
|
config: this.mergedConfig,
|
|
@@ -309,31 +402,47 @@ export class CalendarComponent {
|
|
|
309
402
|
onSelectEvent: (eventId, instanceDate) => this.ctrl.selectEvent(eventId, instanceDate),
|
|
310
403
|
onClearSelection: () => this.ctrl.clearSelection(),
|
|
311
404
|
};
|
|
405
|
+
this.customViewInputsCache = { snap: this.snapshot, value };
|
|
406
|
+
return value;
|
|
312
407
|
}
|
|
313
408
|
/** Component class for the custom dialog (template binding helper). */
|
|
314
409
|
get customDialogComponent() {
|
|
315
410
|
return this.eventDialog.kind === 'custom' ? this.eventDialog.component : null;
|
|
316
411
|
}
|
|
317
412
|
/** Inputs passed to the custom dialog via *ngComponentOutlet. */
|
|
413
|
+
// CACHED PER SNAPSHOT — bimetal-131 M3, same class as customViewInputs above.
|
|
414
|
+
eventDialogInputsCache = null;
|
|
318
415
|
get eventDialogInputs() {
|
|
319
416
|
const dialog = this.snapshot.dialog;
|
|
320
417
|
if (!dialog)
|
|
321
418
|
return undefined;
|
|
322
|
-
|
|
419
|
+
if (this.eventDialogInputsCache?.snap === this.snapshot)
|
|
420
|
+
return this.eventDialogInputsCache.value;
|
|
421
|
+
const value = {
|
|
323
422
|
event: dialog.event,
|
|
324
423
|
defaultDate: dialog.defaultDate,
|
|
325
424
|
anchorRect: dialog.anchorRect,
|
|
326
425
|
defaultResourceId: dialog.defaultResourceId,
|
|
327
426
|
config: this.mergedConfig,
|
|
328
427
|
onClose: () => this.ctrl.closeDialog(),
|
|
329
|
-
onSave: (ev) => {
|
|
330
|
-
onDelete: (id) => {
|
|
428
|
+
onSave: (ev) => { this.ctrl.voidSaveDialog(ev); },
|
|
429
|
+
onDelete: (id) => { this.ctrl.voidDeleteDialog(id); },
|
|
331
430
|
};
|
|
431
|
+
this.eventDialogInputsCache = { snap: this.snapshot, value };
|
|
432
|
+
return value;
|
|
332
433
|
}
|
|
333
434
|
// ── DOM-event → controller-intent bindings ──────────────────────
|
|
334
435
|
handleEventClick(ev) {
|
|
335
436
|
this.ctrl.openEdit(ev.eventId, ev.rect, ev.instanceDate);
|
|
336
437
|
}
|
|
438
|
+
/** mcp-116: re-open the dialog on the series master behind the shown occurrence.
|
|
439
|
+
* The anchor stays the one the dialog already sits on — the user is not moving. */
|
|
440
|
+
handleEditSeries(eventId) {
|
|
441
|
+
const anchorRect = this.snapshot.dialog?.anchorRect;
|
|
442
|
+
if (!anchorRect)
|
|
443
|
+
return;
|
|
444
|
+
this.ctrl.openEditSeries(eventId, anchorRect);
|
|
445
|
+
}
|
|
337
446
|
handleDayCellClick(ev) {
|
|
338
447
|
this.ctrl.openCreate(ev.date, ev.rect);
|
|
339
448
|
}
|
|
@@ -346,39 +455,37 @@ export class CalendarComponent {
|
|
|
346
455
|
handleDropEvent(ev) {
|
|
347
456
|
const info = parseDragInfo(ev.event.dataTransfer);
|
|
348
457
|
if (info)
|
|
349
|
-
|
|
458
|
+
this.ctrl.voidDropAllDay(info, ev.date);
|
|
350
459
|
}
|
|
351
460
|
handleDropTimedEvent(ev) {
|
|
352
461
|
const info = parseDragInfo(ev.event.dataTransfer);
|
|
353
462
|
if (info)
|
|
354
|
-
|
|
463
|
+
this.ctrl.voidDropTimed(info, ev.date, ev.time);
|
|
355
464
|
}
|
|
356
465
|
handleResourceDrop(ev) {
|
|
357
466
|
const info = parseDragInfo(ev.event.dataTransfer);
|
|
358
467
|
if (info)
|
|
359
|
-
|
|
468
|
+
this.ctrl.voidDropResource(info, ev.date, ev.time, ev.resourceId);
|
|
360
469
|
}
|
|
361
470
|
handleTimelineDrop(ev) {
|
|
362
471
|
const info = parseDragInfo(ev.event.dataTransfer);
|
|
363
472
|
if (info)
|
|
364
|
-
|
|
473
|
+
this.ctrl.voidDropTimeline(info, ev.date, ev.resourceId);
|
|
365
474
|
}
|
|
366
475
|
static ɵfac = function CalendarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalendarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8), i0.ɵɵdirectiveInject(i0.NgZone)); };
|
|
367
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarComponent, selectors: [["cal-calendar"]], inputs: { controller: "controller", store: "store", rules: "rules", config: "config", darkMode: "darkMode", dir: "dir", showCategoryFilter: "showCategoryFilter", showResourceFilter: "showResourceFilter", customViews: "customViews", eventDialog: "eventDialog", onEventClick: "onEventClick", onNewEventRequested: "onNewEventRequested", onSelectionChange: "onSelectionChange", onError: "onError", eventBadgesTpl: "eventBadgesTpl", eventContentTpl: "eventContentTpl", eventClassName: "eventClassName", eventStyle: "eventStyle", eventTitle: "eventTitle" }, features: [i0.ɵɵProvidersFeature([EventRenderService]), i0.ɵɵNgOnChangesFeature], decls:
|
|
476
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarComponent, selectors: [["cal-calendar"]], inputs: { controller: "controller", store: "store", rules: "rules", config: "config", darkMode: "darkMode", dir: "dir", showCategoryFilter: "showCategoryFilter", showResourceFilter: "showResourceFilter", showUndoRedo: "showUndoRedo", customViews: "customViews", eventDialog: "eventDialog", onEventClick: "onEventClick", onNewEventRequested: "onNewEventRequested", onSelectionChange: "onSelectionChange", onError: "onError", onHistoryChange: "onHistoryChange", onWarning: "onWarning", eventBadgesTpl: "eventBadgesTpl", eventContentTpl: "eventContentTpl", eventClassName: "eventClassName", eventStyle: "eventStyle", eventTitle: "eventTitle", eventInteraction: "eventInteraction", resolveActor: "resolveActor" }, features: [i0.ɵɵProvidersFeature([EventRenderService]), i0.ɵɵNgOnChangesFeature], decls: 14, vars: 22, consts: [[1, "bm-cal", 3, "keydown"], [3, "prev", "next", "today", "viewChange", "undo", "redo", "title", "currentView", "viewConfigs", "locale", "showUndoRedo", "canUndo", "canRedo"], [3, "categories", "hiddenCategories", "toggle", 4, "ngIf"], [3, "resources", "hiddenResources", "toggle", 4, "ngIf"], [3, "year", "events", "config", "monthClick", "dayCellClick", 4, "ngIf"], [3, "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropDayInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dropTimedInfo", "dropDayInfo", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dropTimedInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "timelineDropInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "resourceDropInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "agenda", "config", "setViewport", "eventClick", "selectEvent", 4, "ngIf"], [4, "ngIf"], [3, "dialog", "config", "history", "setDraft", "save", "deleteEvent", "editSeries", "close", 4, "ngIf"], [3, "toggle", "categories", "hiddenCategories"], [3, "toggle", "resources", "hiddenResources"], [3, "monthClick", "dayCellClick", "year", "events", "config"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropDayInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dropTimedInfo", "dropDayInfo", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dropTimedInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "timelineDropInfo", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "resourceDropInfo", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "agenda", "config", "setViewport"], [4, "ngComponentOutlet", "ngComponentOutletInputs"], [3, "setDraft", "save", "deleteEvent", "editSeries", "close", "dialog", "config", "history"]], template: function CalendarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
368
477
|
i0.ɵɵelementStart(0, "div", 0);
|
|
369
478
|
i0.ɵɵlistener("keydown", function CalendarComponent_Template_div_keydown_0_listener($event) { return ctx.keyHandler($event); });
|
|
370
479
|
i0.ɵɵelementStart(1, "cal-header", 1);
|
|
371
|
-
i0.ɵɵlistener("prev", function CalendarComponent_Template_cal_header_prev_1_listener() { return ctx.ctrl.prev(); })("next", function CalendarComponent_Template_cal_header_next_1_listener() { return ctx.ctrl.next(); })("today", function CalendarComponent_Template_cal_header_today_1_listener() { return ctx.ctrl.today(); })("viewChange", function CalendarComponent_Template_cal_header_viewChange_1_listener($event) { return ctx.handleViewChange($event); });
|
|
480
|
+
i0.ɵɵlistener("prev", function CalendarComponent_Template_cal_header_prev_1_listener() { return ctx.ctrl.prev(); })("next", function CalendarComponent_Template_cal_header_next_1_listener() { return ctx.ctrl.next(); })("today", function CalendarComponent_Template_cal_header_today_1_listener() { return ctx.ctrl.today(); })("viewChange", function CalendarComponent_Template_cal_header_viewChange_1_listener($event) { return ctx.handleViewChange($event); })("undo", function CalendarComponent_Template_cal_header_undo_1_listener() { return ctx.ctrl.voidUndo(); })("redo", function CalendarComponent_Template_cal_header_redo_1_listener() { return ctx.ctrl.voidRedo(); });
|
|
372
481
|
i0.ɵɵelementEnd();
|
|
373
482
|
i0.ɵɵtemplate(2, CalendarComponent_cal_category_filter_2_Template, 1, 2, "cal-category-filter", 2)(3, CalendarComponent_cal_resource_filter_3_Template, 1, 2, "cal-resource-filter", 3)(4, CalendarComponent_cal_year_view_4_Template, 1, 3, "cal-year-view", 4)(5, CalendarComponent_cal_month_view_5_Template, 1, 8, "cal-month-view", 5)(6, CalendarComponent_cal_week_view_6_Template, 1, 6, "cal-week-view", 6)(7, CalendarComponent_cal_day_view_7_Template, 1, 6, "cal-day-view", 7)(8, CalendarComponent_cal_timeline_view_8_Template, 1, 8, "cal-timeline-view", 8)(9, CalendarComponent_cal_resource_view_9_Template, 1, 7, "cal-resource-view", 9)(10, CalendarComponent_cal_agenda_view_10_Template, 1, 3, "cal-agenda-view", 10)(11, CalendarComponent_ng_container_11_Template, 2, 2, "ng-container", 11)(12, CalendarComponent_cal_event_dialog_12_Template, 1, 3, "cal-event-dialog", 12)(13, CalendarComponent_ng_container_13_Template, 2, 2, "ng-container", 11);
|
|
374
|
-
i0.ɵɵ
|
|
375
|
-
i0.ɵɵlistener("undoAction", function CalendarComponent_Template_cal_undo_toast_undoAction_14_listener($event) { return ctx.ctrl.undo($event); })("dismiss", function CalendarComponent_Template_cal_undo_toast_dismiss_14_listener() { return ctx.ctrl.dismissUndo(); });
|
|
376
|
-
i0.ɵɵelementEnd()();
|
|
483
|
+
i0.ɵɵelementEnd();
|
|
377
484
|
} if (rf & 2) {
|
|
378
|
-
let
|
|
379
|
-
i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("dir", (
|
|
485
|
+
let tmp_2_0;
|
|
486
|
+
i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("data-readonly", ctx.snapshot.config.readOnly ? "true" : null)("dir", (tmp_2_0 = ctx.dir) !== null && tmp_2_0 !== undefined ? tmp_2_0 : null);
|
|
380
487
|
i0.ɵɵadvance();
|
|
381
|
-
i0.ɵɵproperty("title", ctx.snapshot.title)("currentView", ctx.snapshot.currentView)("viewConfigs", ctx.viewConfigList)("locale", ctx.mergedConfig.locale);
|
|
488
|
+
i0.ɵɵproperty("title", ctx.snapshot.title)("currentView", ctx.snapshot.currentView)("viewConfigs", ctx.viewConfigList)("locale", ctx.mergedConfig.locale)("showUndoRedo", ctx.showUndoRedo && !ctx.snapshot.config.readOnly)("canUndo", ctx.snapshot.canUndo)("canRedo", ctx.snapshot.canRedo);
|
|
382
489
|
i0.ɵɵadvance();
|
|
383
490
|
i0.ɵɵproperty("ngIf", ctx.showCategoryFilter && ctx.mergedConfig.categories.length > 0);
|
|
384
491
|
i0.ɵɵadvance();
|
|
@@ -403,10 +510,8 @@ export class CalendarComponent {
|
|
|
403
510
|
i0.ɵɵproperty("ngIf", ctx.snapshot.dialog && ctx.eventDialog.kind === "builtin");
|
|
404
511
|
i0.ɵɵadvance();
|
|
405
512
|
i0.ɵɵproperty("ngIf", ctx.snapshot.dialog && ctx.eventDialog.kind === "custom");
|
|
406
|
-
i0.ɵɵadvance();
|
|
407
|
-
i0.ɵɵproperty("lastAction", ctx.snapshot.lastAction)("locale", ctx.mergedConfig.locale);
|
|
408
513
|
} }, dependencies: [CommonModule, i2.NgComponentOutlet, i2.NgIf, CalendarHeaderComponent, CategoryFilterComponent, ResourceFilterComponent,
|
|
409
|
-
EventDialogComponent,
|
|
514
|
+
EventDialogComponent,
|
|
410
515
|
MonthViewComponent, WeekViewComponent, DayViewComponent, AgendaViewComponent,
|
|
411
516
|
YearViewComponent, ResourceViewComponent, TimelineViewComponent], encapsulation: 2 });
|
|
412
517
|
}
|
|
@@ -418,21 +523,26 @@ export class CalendarComponent {
|
|
|
418
523
|
imports: [
|
|
419
524
|
CommonModule,
|
|
420
525
|
CalendarHeaderComponent, CategoryFilterComponent, ResourceFilterComponent,
|
|
421
|
-
EventDialogComponent,
|
|
526
|
+
EventDialogComponent,
|
|
422
527
|
MonthViewComponent, WeekViewComponent, DayViewComponent, AgendaViewComponent,
|
|
423
528
|
YearViewComponent, ResourceViewComponent, TimelineViewComponent,
|
|
424
529
|
],
|
|
425
530
|
template: `
|
|
426
|
-
<div class="bm-cal" [attr.data-theme]="darkMode ? 'dark' : null" [attr.dir]="dir ?? null" (keydown)="keyHandler($event)">
|
|
531
|
+
<div class="bm-cal" [attr.data-theme]="darkMode ? 'dark' : null" [attr.data-readonly]="snapshot.config.readOnly ? 'true' : null" [attr.dir]="dir ?? null" (keydown)="keyHandler($event)">
|
|
427
532
|
<cal-header
|
|
428
533
|
[title]="snapshot.title"
|
|
429
534
|
[currentView]="snapshot.currentView"
|
|
430
535
|
[viewConfigs]="viewConfigList"
|
|
431
536
|
[locale]="mergedConfig.locale"
|
|
537
|
+
[showUndoRedo]="showUndoRedo && !snapshot.config.readOnly"
|
|
538
|
+
[canUndo]="snapshot.canUndo"
|
|
539
|
+
[canRedo]="snapshot.canRedo"
|
|
432
540
|
(prev)="ctrl.prev()"
|
|
433
541
|
(next)="ctrl.next()"
|
|
434
542
|
(today)="ctrl.today()"
|
|
435
|
-
(viewChange)="handleViewChange($event)"
|
|
543
|
+
(viewChange)="handleViewChange($event)"
|
|
544
|
+
(undo)="ctrl.voidUndo()"
|
|
545
|
+
(redo)="ctrl.voidRedo()">
|
|
436
546
|
</cal-header>
|
|
437
547
|
|
|
438
548
|
<cal-category-filter *ngIf="showCategoryFilter && mergedConfig.categories.length > 0"
|
|
@@ -454,7 +564,7 @@ export class CalendarComponent {
|
|
|
454
564
|
</cal-year-view>
|
|
455
565
|
|
|
456
566
|
<cal-month-view *ngIf="snapshot.currentView === 'month'"
|
|
457
|
-
[year]="getYear(snapshot.currentDate)" [month]="getMonth(snapshot.currentDate)"
|
|
567
|
+
[year]="getYear(snapshot.currentDate)" [month]="monthIndex(getMonth(snapshot.currentDate))"
|
|
458
568
|
[events]="filteredEvents" [config]="mergedConfig" [previewEvent]="snapshot.previewEvent"
|
|
459
569
|
[expandedMonthDay]="snapshot.expandedMonthDay"
|
|
460
570
|
[selectedEventId]="selectedEventId" [selectedInstanceDate]="selectedInstanceDate"
|
|
@@ -463,6 +573,7 @@ export class CalendarComponent {
|
|
|
463
573
|
(clearSelection)="ctrl.clearSelection()"
|
|
464
574
|
(dayCellClick)="handleDayCellClick($event)"
|
|
465
575
|
(dropEvent)="handleDropEvent($event)"
|
|
576
|
+
(dropDayInfo)="ctrl.voidDropAllDay($event.info, $event.date)"
|
|
466
577
|
(dragOverDate)="ctrl.updatePreview($event)"
|
|
467
578
|
(hidePreviewEv)="ctrl.hidePreview()"
|
|
468
579
|
(dragEnd)="ctrl.endDrag()"
|
|
@@ -480,6 +591,8 @@ export class CalendarComponent {
|
|
|
480
591
|
(dayCellClick)="handleDayCellClick($event)"
|
|
481
592
|
(dropEvent)="handleDropEvent($event)"
|
|
482
593
|
(dropTimedEvent)="handleDropTimedEvent($event)"
|
|
594
|
+
(dropTimedInfo)="ctrl.voidDropTimed($event.info, $event.date, $event.time)"
|
|
595
|
+
(dropDayInfo)="ctrl.voidDropAllDay($event.info, $event.date)"
|
|
483
596
|
(dragOverDate)="ctrl.updatePreview($event)"
|
|
484
597
|
(dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
|
|
485
598
|
(hidePreviewEv)="ctrl.hidePreview()"
|
|
@@ -495,6 +608,7 @@ export class CalendarComponent {
|
|
|
495
608
|
(clearSelection)="ctrl.clearSelection()"
|
|
496
609
|
(dayCellClick)="handleDayCellClick($event)"
|
|
497
610
|
(dropTimedEvent)="handleDropTimedEvent($event)"
|
|
611
|
+
(dropTimedInfo)="ctrl.voidDropTimed($event.info, $event.date, $event.time)"
|
|
498
612
|
(dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
|
|
499
613
|
(hidePreviewEv)="ctrl.hidePreview()"
|
|
500
614
|
(dragEnd)="ctrl.endDrag()"
|
|
@@ -514,6 +628,7 @@ export class CalendarComponent {
|
|
|
514
628
|
(clearSelection)="ctrl.clearSelection()"
|
|
515
629
|
(timelineCellClick)="handleTimelineCellClick($event)"
|
|
516
630
|
(timelineDrop)="handleTimelineDrop($event)"
|
|
631
|
+
(timelineDropInfo)="ctrl.voidDropTimeline($event.info, $event.date, $event.resourceId)"
|
|
517
632
|
(dragOverDate)="ctrl.updatePreview($event)"
|
|
518
633
|
(hidePreviewEv)="ctrl.hidePreview()"
|
|
519
634
|
(dragEnd)="ctrl.endDrag()"
|
|
@@ -530,6 +645,7 @@ export class CalendarComponent {
|
|
|
530
645
|
(clearSelection)="ctrl.clearSelection()"
|
|
531
646
|
(resourceCellClick)="handleResourceCellClick($event)"
|
|
532
647
|
(resourceDrop)="handleResourceDrop($event)"
|
|
648
|
+
(resourceDropInfo)="ctrl.voidDropResource($event.info, $event.date, $event.time, $event.resourceId)"
|
|
533
649
|
(dragOverDateTime)="ctrl.updateTimedPreview($event.date, $event.time)"
|
|
534
650
|
(hidePreviewEv)="ctrl.hidePreview()"
|
|
535
651
|
(dragEnd)="ctrl.endDrag()"
|
|
@@ -553,20 +669,14 @@ export class CalendarComponent {
|
|
|
553
669
|
[history]="dialogHistory"
|
|
554
670
|
(setDraft)="ctrl.setDraft($event)"
|
|
555
671
|
(save)="saveDialogFromInput()"
|
|
556
|
-
(deleteEvent)="ctrl.
|
|
672
|
+
(deleteEvent)="ctrl.voidDeleteDialog($event)"
|
|
673
|
+
(editSeries)="handleEditSeries($event)"
|
|
557
674
|
(close)="ctrl.closeDialog()">
|
|
558
675
|
</cal-event-dialog>
|
|
559
676
|
|
|
560
677
|
<ng-container *ngIf="snapshot.dialog && eventDialog.kind === 'custom'">
|
|
561
678
|
<ng-container *ngComponentOutlet="customDialogComponent; inputs: eventDialogInputs"></ng-container>
|
|
562
679
|
</ng-container>
|
|
563
|
-
|
|
564
|
-
<cal-undo-toast
|
|
565
|
-
[lastAction]="snapshot.lastAction"
|
|
566
|
-
[locale]="mergedConfig.locale"
|
|
567
|
-
(undoAction)="ctrl.undo($event)"
|
|
568
|
-
(dismiss)="ctrl.dismissUndo()">
|
|
569
|
-
</cal-undo-toast>
|
|
570
680
|
</div>
|
|
571
681
|
`,
|
|
572
682
|
providers: [EventRenderService],
|
|
@@ -589,6 +699,8 @@ export class CalendarComponent {
|
|
|
589
699
|
type: Input
|
|
590
700
|
}], showResourceFilter: [{
|
|
591
701
|
type: Input
|
|
702
|
+
}], showUndoRedo: [{
|
|
703
|
+
type: Input
|
|
592
704
|
}], customViews: [{
|
|
593
705
|
type: Input
|
|
594
706
|
}], eventDialog: [{
|
|
@@ -601,6 +713,10 @@ export class CalendarComponent {
|
|
|
601
713
|
type: Input
|
|
602
714
|
}], onError: [{
|
|
603
715
|
type: Input
|
|
716
|
+
}], onHistoryChange: [{
|
|
717
|
+
type: Input
|
|
718
|
+
}], onWarning: [{
|
|
719
|
+
type: Input
|
|
604
720
|
}], eventBadgesTpl: [{
|
|
605
721
|
type: Input
|
|
606
722
|
}], eventContentTpl: [{
|
|
@@ -611,6 +727,10 @@ export class CalendarComponent {
|
|
|
611
727
|
type: Input
|
|
612
728
|
}], eventTitle: [{
|
|
613
729
|
type: Input
|
|
730
|
+
}], eventInteraction: [{
|
|
731
|
+
type: Input
|
|
732
|
+
}], resolveActor: [{
|
|
733
|
+
type: Input
|
|
614
734
|
}] }); })();
|
|
615
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber:
|
|
735
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 207 }); })();
|
|
616
736
|
//# sourceMappingURL=Calendar.js.map
|