@bimetal/calendar-angular-components 0.29.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 +129 -0
- package/README.md +56 -0
- package/dist/binding/config.d.ts +6 -0
- package/dist/binding/config.d.ts.map +1 -0
- package/dist/binding/config.js +6 -0
- package/dist/binding/config.js.map +1 -0
- package/dist/binding/controller.d.ts +22 -0
- package/dist/binding/controller.d.ts.map +1 -0
- package/dist/binding/controller.js +17 -0
- package/dist/binding/controller.js.map +1 -0
- package/dist/binding/index.d.ts +24 -0
- package/dist/binding/index.d.ts.map +1 -0
- package/dist/binding/index.js +26 -0
- package/dist/binding/index.js.map +1 -0
- package/dist/binding/services/event-render.service.d.ts +40 -0
- package/dist/binding/services/event-render.service.d.ts.map +1 -0
- package/dist/binding/services/event-render.service.js +58 -0
- package/dist/binding/services/event-render.service.js.map +1 -0
- package/dist/binding/types.d.ts +128 -0
- package/dist/binding/types.d.ts.map +1 -0
- package/dist/binding/types.js +12 -0
- package/dist/binding/types.js.map +1 -0
- package/dist/binding/utils/date-strings.d.ts +16 -0
- package/dist/binding/utils/date-strings.d.ts.map +1 -0
- package/dist/binding/utils/date-strings.js +30 -0
- package/dist/binding/utils/date-strings.js.map +1 -0
- package/dist/binding/utils/gridUtils.d.ts +6 -0
- package/dist/binding/utils/gridUtils.d.ts.map +1 -0
- package/dist/binding/utils/gridUtils.js +13 -0
- package/dist/binding/utils/gridUtils.js.map +1 -0
- package/dist/binding/view-configs.d.ts +6 -0
- package/dist/binding/view-configs.d.ts.map +1 -0
- package/dist/binding/view-configs.js +6 -0
- package/dist/binding/view-configs.js.map +1 -0
- package/dist/components/Calendar.d.ts +110 -0
- package/dist/components/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar.js +554 -0
- package/dist/components/Calendar.js.map +1 -0
- package/dist/components/CalendarHeader.d.ts +17 -0
- package/dist/components/CalendarHeader.d.ts.map +1 -0
- package/dist/components/CalendarHeader.js +105 -0
- package/dist/components/CalendarHeader.js.map +1 -0
- package/dist/components/CategoryFilter.d.ts +11 -0
- package/dist/components/CategoryFilter.d.ts.map +1 -0
- package/dist/components/CategoryFilter.js +66 -0
- package/dist/components/CategoryFilter.js.map +1 -0
- package/dist/components/EventBar.d.ts +56 -0
- package/dist/components/EventBar.d.ts.map +1 -0
- package/dist/components/EventBar.js +328 -0
- package/dist/components/EventBar.js.map +1 -0
- package/dist/components/EventDialog.d.ts +52 -0
- package/dist/components/EventDialog.d.ts.map +1 -0
- package/dist/components/EventDialog.js +557 -0
- package/dist/components/EventDialog.js.map +1 -0
- package/dist/components/EventHistory.d.ts +17 -0
- package/dist/components/EventHistory.d.ts.map +1 -0
- package/dist/components/EventHistory.js +166 -0
- package/dist/components/EventHistory.js.map +1 -0
- package/dist/components/ResourceFilter.d.ts +12 -0
- package/dist/components/ResourceFilter.d.ts.map +1 -0
- package/dist/components/ResourceFilter.js +67 -0
- package/dist/components/ResourceFilter.js.map +1 -0
- package/dist/components/UndoToast.d.ts +20 -0
- package/dist/components/UndoToast.d.ts.map +1 -0
- package/dist/components/UndoToast.js +90 -0
- package/dist/components/UndoToast.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/styles/index.css +1 -0
- package/dist/views/agenda/AgendaView.d.ts +54 -0
- package/dist/views/agenda/AgendaView.d.ts.map +1 -0
- package/dist/views/agenda/AgendaView.js +309 -0
- package/dist/views/agenda/AgendaView.js.map +1 -0
- package/dist/views/day/DayView.d.ts +85 -0
- package/dist/views/day/DayView.d.ts.map +1 -0
- package/dist/views/day/DayView.js +422 -0
- package/dist/views/day/DayView.js.map +1 -0
- package/dist/views/month/MonthView.d.ts +51 -0
- package/dist/views/month/MonthView.d.ts.map +1 -0
- package/dist/views/month/MonthView.js +184 -0
- package/dist/views/month/MonthView.js.map +1 -0
- package/dist/views/month/WeekRow.d.ts +89 -0
- package/dist/views/month/WeekRow.d.ts.map +1 -0
- package/dist/views/month/WeekRow.js +548 -0
- package/dist/views/month/WeekRow.js.map +1 -0
- package/dist/views/resource/ResourceView.d.ts +85 -0
- package/dist/views/resource/ResourceView.d.ts.map +1 -0
- package/dist/views/resource/ResourceView.js +388 -0
- package/dist/views/resource/ResourceView.js.map +1 -0
- package/dist/views/timeline/TimelineView.d.ts +69 -0
- package/dist/views/timeline/TimelineView.d.ts.map +1 -0
- package/dist/views/timeline/TimelineView.js +314 -0
- package/dist/views/timeline/TimelineView.js.map +1 -0
- package/dist/views/week/AllDayRow.d.ts +38 -0
- package/dist/views/week/AllDayRow.d.ts.map +1 -0
- package/dist/views/week/AllDayRow.js +149 -0
- package/dist/views/week/AllDayRow.js.map +1 -0
- package/dist/views/week/TimeEvent.d.ts +77 -0
- package/dist/views/week/TimeEvent.d.ts.map +1 -0
- package/dist/views/week/TimeEvent.js +279 -0
- package/dist/views/week/TimeEvent.js.map +1 -0
- package/dist/views/week/WeekView.d.ts +79 -0
- package/dist/views/week/WeekView.d.ts.map +1 -0
- package/dist/views/week/WeekView.js +370 -0
- package/dist/views/week/WeekView.js.map +1 -0
- package/dist/views/year/YearView.d.ts +37 -0
- package/dist/views/year/YearView.d.ts.map +1 -0
- package/dist/views/year/YearView.js +162 -0
- package/dist/views/year/YearView.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { monthGrid, segmentAllDay, layoutAllDay, startOfDay, now, } from '@bimetal/calendar-core';
|
|
4
|
+
import { WeekRowComponent } from './WeekRow.js';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
function MonthViewComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "div", 5);
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const name_r1 = ctx.$implicit;
|
|
13
|
+
i0.ɵɵadvance();
|
|
14
|
+
i0.ɵɵtextInterpolate(name_r1);
|
|
15
|
+
} }
|
|
16
|
+
function MonthViewComponent_cal_week_row_4_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "cal-week-row", 6);
|
|
19
|
+
i0.ɵɵlistener("eventClick", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.eventClick.emit($event)); })("selectEvent", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectEvent.emit($event)); })("clearSelection", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_clearSelection_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSelection.emit()); })("dayCellClick", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.dayCellClick.emit($event)); })("dropEvent", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.dropEvent.emit($event)); })("dragOver", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_dragOver_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.dragOverDate.emit($event)); })("hidePreviewEv", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.hidePreviewEv.emit()); })("dragEnd", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_dragEnd_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.dragEnd.emit()); })("dragStartEv", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.dragStartEv.emit($event)); })("expandMonthCell", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_expandMonthCell_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.expandMonthCell.emit($event)); })("collapseMonthCell", function MonthViewComponent_cal_week_row_4_Template_cal_week_row_collapseMonthCell_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.collapseMonthCell.emit()); });
|
|
20
|
+
i0.ɵɵelementEnd();
|
|
21
|
+
} if (rf & 2) {
|
|
22
|
+
const week_r4 = ctx.$implicit;
|
|
23
|
+
const idx_r5 = ctx.index;
|
|
24
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
25
|
+
i0.ɵɵproperty("weekDates", week_r4)("items", ctx_r2.getItems(idx_r5))("timedByDay", ctx_r2.timedByDay)("currentYear", ctx_r2.year)("currentMonth", ctx_r2.month)("config", ctx_r2.config)("today", ctx_r2.today)("previewEvent", ctx_r2.previewEvent)("expandedMonthDay", ctx_r2.expandedMonthDay)("selectedEventId", ctx_r2.selectedEventId)("selectedInstanceDate", ctx_r2.selectedInstanceDate);
|
|
26
|
+
} }
|
|
27
|
+
export class MonthViewComponent {
|
|
28
|
+
year = 0;
|
|
29
|
+
month = 0;
|
|
30
|
+
events = [];
|
|
31
|
+
config;
|
|
32
|
+
// B-CAL-1: the controller already rebuilt the dragged event's geometry.
|
|
33
|
+
previewEvent = null;
|
|
34
|
+
// B-CAL-3: hover-expanded month cell (day epochMs), owned by the controller.
|
|
35
|
+
expandedMonthDay = null;
|
|
36
|
+
selectedEventId = null;
|
|
37
|
+
selectedInstanceDate = undefined;
|
|
38
|
+
eventClick = new EventEmitter();
|
|
39
|
+
selectEvent = new EventEmitter();
|
|
40
|
+
clearSelection = new EventEmitter();
|
|
41
|
+
dayCellClick = new EventEmitter();
|
|
42
|
+
dropEvent = new EventEmitter();
|
|
43
|
+
dragOverDate = new EventEmitter();
|
|
44
|
+
/** Drop-Zone wurde verlassen (dragleave) — Preview visuell ausräumen. */
|
|
45
|
+
hidePreviewEv = new EventEmitter();
|
|
46
|
+
/** Native `dragend` der Source — Drag-Session vollständig beendet. */
|
|
47
|
+
dragEnd = new EventEmitter();
|
|
48
|
+
dragStartEv = new EventEmitter();
|
|
49
|
+
/** B-CAL-3: bubble the hover-expand intents (from WeekRow) to the controller. */
|
|
50
|
+
expandMonthCell = new EventEmitter();
|
|
51
|
+
collapseMonthCell = new EventEmitter();
|
|
52
|
+
weeks = [];
|
|
53
|
+
today;
|
|
54
|
+
timedByDay = new Map();
|
|
55
|
+
weekItems = [];
|
|
56
|
+
// Stable identity for the week rows: ngOnChanges recomputes `weeks` (fresh
|
|
57
|
+
// arrays) on every input change, so without trackBy a click → markChanged →
|
|
58
|
+
// snapshot input churn destroys+recreates every cal-week-row, detaching the
|
|
59
|
+
// in-flight double-click before it lands (the real-browser create regression).
|
|
60
|
+
trackWeek(_, week) { return week[0]?.epochMs; }
|
|
61
|
+
ngOnChanges() {
|
|
62
|
+
this.today = now(this.config.core.timezone, this.config.core.clock);
|
|
63
|
+
this.weeks = monthGrid(this.year, this.month, this.config.core);
|
|
64
|
+
// B-CAL-1: swap in the controller-rebuilt event by id (no parsing in the view).
|
|
65
|
+
const pe = this.previewEvent;
|
|
66
|
+
const displayEvents = pe
|
|
67
|
+
? this.events.map(ev => ev.id === pe.id ? { ...ev, timeRange: pe.timeRange } : ev)
|
|
68
|
+
: this.events;
|
|
69
|
+
// Timed events by day
|
|
70
|
+
this.timedByDay = new Map();
|
|
71
|
+
for (const event of displayEvents) {
|
|
72
|
+
if (event.allDay)
|
|
73
|
+
continue;
|
|
74
|
+
const dayMs = startOfDay(event.timeRange.start).epochMs;
|
|
75
|
+
const list = this.timedByDay.get(dayMs) ?? [];
|
|
76
|
+
list.push(event);
|
|
77
|
+
this.timedByDay.set(dayMs, list);
|
|
78
|
+
}
|
|
79
|
+
// Layout items per week
|
|
80
|
+
this.weekItems = this.weeks.map(weekDates => {
|
|
81
|
+
const segments = segmentAllDay(displayEvents, weekDates);
|
|
82
|
+
return layoutAllDay(segments, weekDates);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
getItems(weekIdx) {
|
|
86
|
+
return this.weekItems[weekIdx] ?? [];
|
|
87
|
+
}
|
|
88
|
+
static ɵfac = function MonthViewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MonthViewComponent)(); };
|
|
89
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MonthViewComponent, selectors: [["cal-month-view"]], hostAttrs: [2, "display", "contents"], inputs: { year: "year", month: "month", events: "events", config: "config", previewEvent: "previewEvent", expandedMonthDay: "expandedMonthDay", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", clearSelection: "clearSelection", dayCellClick: "dayCellClick", dropEvent: "dropEvent", dragOverDate: "dragOverDate", hidePreviewEv: "hidePreviewEv", dragEnd: "dragEnd", dragStartEv: "dragStartEv", expandMonthCell: "expandMonthCell", collapseMonthCell: "collapseMonthCell" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 3, consts: [[1, "month-grid"], [1, "day-headers"], [1, "header-spacer"], ["class", "day-header", 4, "ngFor", "ngForOf"], [3, "weekDates", "items", "timedByDay", "currentYear", "currentMonth", "config", "today", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOver", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "day-header"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOver", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", "weekDates", "items", "timedByDay", "currentYear", "currentMonth", "config", "today", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate"]], template: function MonthViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
91
|
+
i0.ɵɵelement(2, "div", 2);
|
|
92
|
+
i0.ɵɵtemplate(3, MonthViewComponent_div_3_Template, 2, 1, "div", 3);
|
|
93
|
+
i0.ɵɵelementEnd();
|
|
94
|
+
i0.ɵɵtemplate(4, MonthViewComponent_cal_week_row_4_Template, 1, 11, "cal-week-row", 4);
|
|
95
|
+
i0.ɵɵelementEnd();
|
|
96
|
+
} if (rf & 2) {
|
|
97
|
+
i0.ɵɵadvance(3);
|
|
98
|
+
i0.ɵɵproperty("ngForOf", ctx.config.locale.dayNamesShort);
|
|
99
|
+
i0.ɵɵadvance();
|
|
100
|
+
i0.ɵɵproperty("ngForOf", ctx.weeks)("ngForTrackBy", ctx.trackWeek);
|
|
101
|
+
} }, dependencies: [CommonModule, i1.NgForOf, WeekRowComponent], encapsulation: 2 });
|
|
102
|
+
}
|
|
103
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MonthViewComponent, [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{
|
|
106
|
+
selector: 'cal-month-view',
|
|
107
|
+
standalone: true,
|
|
108
|
+
host: { style: 'display: contents' },
|
|
109
|
+
imports: [CommonModule, WeekRowComponent],
|
|
110
|
+
template: `
|
|
111
|
+
<div class="month-grid">
|
|
112
|
+
<div class="day-headers">
|
|
113
|
+
<div class="header-spacer"></div>
|
|
114
|
+
<div *ngFor="let name of config.locale.dayNamesShort" class="day-header">{{ name }}</div>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<cal-week-row *ngFor="let week of weeks; let idx = index; trackBy: trackWeek"
|
|
118
|
+
[weekDates]="week"
|
|
119
|
+
[items]="getItems(idx)"
|
|
120
|
+
[timedByDay]="timedByDay"
|
|
121
|
+
[currentYear]="year"
|
|
122
|
+
[currentMonth]="month"
|
|
123
|
+
[config]="config"
|
|
124
|
+
[today]="today"
|
|
125
|
+
[previewEvent]="previewEvent"
|
|
126
|
+
[expandedMonthDay]="expandedMonthDay"
|
|
127
|
+
[selectedEventId]="selectedEventId"
|
|
128
|
+
[selectedInstanceDate]="selectedInstanceDate"
|
|
129
|
+
(eventClick)="eventClick.emit($event)"
|
|
130
|
+
(selectEvent)="selectEvent.emit($event)"
|
|
131
|
+
(clearSelection)="clearSelection.emit()"
|
|
132
|
+
(dayCellClick)="dayCellClick.emit($event)"
|
|
133
|
+
(dropEvent)="dropEvent.emit($event)"
|
|
134
|
+
(dragOver)="dragOverDate.emit($event)"
|
|
135
|
+
(hidePreviewEv)="hidePreviewEv.emit()"
|
|
136
|
+
(dragEnd)="dragEnd.emit()"
|
|
137
|
+
(dragStartEv)="dragStartEv.emit($event)"
|
|
138
|
+
(expandMonthCell)="expandMonthCell.emit($event)"
|
|
139
|
+
(collapseMonthCell)="collapseMonthCell.emit()">
|
|
140
|
+
</cal-week-row>
|
|
141
|
+
</div>
|
|
142
|
+
`,
|
|
143
|
+
}]
|
|
144
|
+
}], null, { year: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], month: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], events: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], config: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], previewEvent: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], expandedMonthDay: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], selectedEventId: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], selectedInstanceDate: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}], eventClick: [{
|
|
161
|
+
type: Output
|
|
162
|
+
}], selectEvent: [{
|
|
163
|
+
type: Output
|
|
164
|
+
}], clearSelection: [{
|
|
165
|
+
type: Output
|
|
166
|
+
}], dayCellClick: [{
|
|
167
|
+
type: Output
|
|
168
|
+
}], dropEvent: [{
|
|
169
|
+
type: Output
|
|
170
|
+
}], dragOverDate: [{
|
|
171
|
+
type: Output
|
|
172
|
+
}], hidePreviewEv: [{
|
|
173
|
+
type: Output
|
|
174
|
+
}], dragEnd: [{
|
|
175
|
+
type: Output
|
|
176
|
+
}], dragStartEv: [{
|
|
177
|
+
type: Output
|
|
178
|
+
}], expandMonthCell: [{
|
|
179
|
+
type: Output
|
|
180
|
+
}], collapseMonthCell: [{
|
|
181
|
+
type: Output
|
|
182
|
+
}] }); })();
|
|
183
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MonthViewComponent, { className: "MonthViewComponent", filePath: "views/month/monthview.ts", lineNumber: 50 }); })();
|
|
184
|
+
//# sourceMappingURL=MonthView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonthView.js","sourceRoot":"","sources":["../../../src/views/month/MonthView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAa,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,SAAS,EAAE,aAAa,EAAE,YAAY,EACtC,UAAU,EAAE,GAAG,GAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;;;;IAWxC,8BAAyE;IAAA,YAAU;IAAA,iBAAM;;;IAAhB,cAAU;IAAV,6BAAU;;;;IAGrF,uCAsBiD;IAA/C,AADA,AADA,AADA,AADA,AADA,AADA,AADA,AADA,AADA,AADA,6MAAc,8BAAuB,KAAC,kMACvB,+BAAwB,KAAC,kMACtB,4BAAqB,KAAC,oMACxB,gCAAyB,KAAC,8LAC7B,6BAAsB,KAAC,4LACxB,gCAAyB,KAAC,gMACrB,2BAAoB,KAAC,oLAC3B,qBAAc,KAAC,kMACX,+BAAwB,KAAC,0MACrB,mCAA4B,KAAC,wMAC3B,+BAAwB,KAAC;IAChD,iBAAe;;;;;IAZb,AADA,AADA,AADA,AADA,AADA,AADA,AADA,AADA,AADA,AADA,mCAAkB,kCACK,iCACE,4BACL,8BACE,yBACL,uBACF,qCACc,6CACQ,2CACF,qDACU;;AAgBrD,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAAG,CAAC,CAAC;IACV,MAAM,GAAoB,EAAE,CAAC;IAC7B,MAAM,CAAkB;IACjC,wEAAwE;IAC/D,YAAY,GAAyB,IAAI,CAAC;IACnD,6EAA6E;IACpE,gBAAgB,GAAkB,IAAI,CAAC;IACvC,eAAe,GAAkB,IAAI,CAAC;IACtC,oBAAoB,GAAuB,SAAS,CAAC;IACpD,UAAU,GAAG,IAAI,YAAY,EAA6D,CAAC;IAC3F,WAAW,GAAG,IAAI,YAAY,EAA8C,CAAC;IAC7E,cAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC1C,YAAY,GAAG,IAAI,YAAY,EAA6C,CAAC;IAC7E,SAAS,GAAG,IAAI,YAAY,EAAgD,CAAC;IAC7E,YAAY,GAAG,IAAI,YAAY,EAAoB,CAAC;IAC9D,yEAAyE;IAC/D,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;IACnD,sEAAsE;IAC5D,OAAO,GAAG,IAAI,YAAY,EAAQ,CAAC;IACnC,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;IAChD,iFAAiF;IACvE,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;IAC7C,iBAAiB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEvD,KAAK,GAAyB,EAAE,CAAC;IACjC,KAAK,CAAoB;IACzB,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;IACxC,SAAS,GAAmB,EAAE,CAAC;IAEvC,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,+EAA+E;IAC/E,SAAS,CAAC,CAAS,EAAE,IAAwB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3E,WAAW;QACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhE,gFAAgF;QAChF,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,MAAM,aAAa,GAAG,EAAE;YACtB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAEhB,sBAAsB;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACzD,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;4GAlEU,kBAAkB;6DAAlB,kBAAkB;YAhCzB,AADF,8BAAwB,aACG;YACvB,yBAAiC;YACjC,mEAAyE;YAC3E,iBAAM;YAEN,sFAsBiD;YAEnD,iBAAM;;YA3BoB,eAA8B;YAA9B,yDAA8B;YAGvB,cAAU;YAAiB,AAA3B,mCAAU,+BAAmC;4BARtE,YAAY,cAAE,gBAAgB;;iFAmC7B,kBAAkB;cAvC9B,SAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;gBACzC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCT;aACF;gBAEU,IAAI;kBAAZ,KAAK;YACG,KAAK;kBAAb,KAAK;YACG,MAAM;kBAAd,KAAK;YACG,MAAM;kBAAd,KAAK;YAEG,YAAY;kBAApB,KAAK;YAEG,gBAAgB;kBAAxB,KAAK;YACG,eAAe;kBAAvB,KAAK;YACG,oBAAoB;kBAA5B,KAAK;YACI,UAAU;kBAAnB,MAAM;YACG,WAAW;kBAApB,MAAM;YACG,cAAc;kBAAvB,MAAM;YACG,YAAY;kBAArB,MAAM;YACG,SAAS;kBAAlB,MAAM;YACG,YAAY;kBAArB,MAAM;YAEG,aAAa;kBAAtB,MAAM;YAEG,OAAO;kBAAhB,MAAM;YACG,WAAW;kBAApB,MAAM;YAEG,eAAe;kBAAxB,MAAM;YACG,iBAAiB;kBAA1B,MAAM;;kFAxBI,kBAAkB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { EventEmitter, ElementRef } from '@angular/core';
|
|
2
|
+
import type { CalendarEvent, CalendarDateTime, LayoutItem } from '@bimetal/calendar-core';
|
|
3
|
+
import { getDayOfMonth } from '@bimetal/calendar-core';
|
|
4
|
+
import type { CalendarConfig } from '../../binding/index.js';
|
|
5
|
+
import { EventRenderService } from '../../binding/index.js';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class WeekRowComponent {
|
|
8
|
+
private renderService?;
|
|
9
|
+
weekDates: CalendarDateTime[];
|
|
10
|
+
items: LayoutItem[];
|
|
11
|
+
timedByDay: Map<number, CalendarEvent[]>;
|
|
12
|
+
currentYear: number;
|
|
13
|
+
currentMonth: number;
|
|
14
|
+
config: CalendarConfig;
|
|
15
|
+
today: CalendarDateTime;
|
|
16
|
+
previewEvent: CalendarEvent | null;
|
|
17
|
+
expandedMonthDay: number | null;
|
|
18
|
+
selectedEventId: string | null;
|
|
19
|
+
selectedInstanceDate: number | undefined;
|
|
20
|
+
eventClick: EventEmitter<{
|
|
21
|
+
eventId: string;
|
|
22
|
+
rect: DOMRect;
|
|
23
|
+
instanceDate?: number;
|
|
24
|
+
}>;
|
|
25
|
+
selectEvent: EventEmitter<{
|
|
26
|
+
eventId: string;
|
|
27
|
+
instanceDate?: number;
|
|
28
|
+
}>;
|
|
29
|
+
clearSelection: EventEmitter<void>;
|
|
30
|
+
dayCellClick: EventEmitter<{
|
|
31
|
+
date: CalendarDateTime;
|
|
32
|
+
rect: DOMRect;
|
|
33
|
+
}>;
|
|
34
|
+
dropEvent: EventEmitter<{
|
|
35
|
+
event: DragEvent;
|
|
36
|
+
date: CalendarDateTime;
|
|
37
|
+
}>;
|
|
38
|
+
dragOver: EventEmitter<CalendarDateTime>;
|
|
39
|
+
/** Drop-Zone wurde verlassen (dragleave) — Preview visuell ausräumen. */
|
|
40
|
+
hidePreviewEv: EventEmitter<void>;
|
|
41
|
+
/** Native `dragend` der Source — Drag-Session vollständig beendet. */
|
|
42
|
+
dragEnd: EventEmitter<void>;
|
|
43
|
+
dragStartEv: EventEmitter<any>;
|
|
44
|
+
/** B-CAL-3: bubble the hover-expand intent (day epochMs) to the controller. */
|
|
45
|
+
expandMonthCell: EventEmitter<number>;
|
|
46
|
+
collapseMonthCell: EventEmitter<void>;
|
|
47
|
+
rowEl: ElementRef<HTMLDivElement>;
|
|
48
|
+
click: import("@bimetal/calendar-headless").ClickIntent;
|
|
49
|
+
timedClick: import("@bimetal/calendar-headless").ClickIntent;
|
|
50
|
+
getDayOfMonth: typeof getDayOfMonth;
|
|
51
|
+
constructor(renderService?: EventRenderService | undefined);
|
|
52
|
+
get badgesTpl(): import("@angular/core").TemplateRef<import("../../index.js").EventRenderTemplateContext> | undefined;
|
|
53
|
+
get contentTpl(): import("@angular/core").TemplateRef<import("../../index.js").EventRenderTemplateContext> | undefined;
|
|
54
|
+
tplCtx(ev: CalendarEvent): import("../../index.js").EventRenderTemplateContext | undefined;
|
|
55
|
+
renderedTitle(ev: CalendarEvent): string;
|
|
56
|
+
slotsClassName(ev: CalendarEvent): string;
|
|
57
|
+
slotsStyle(ev: CalendarEvent): Record<string, string | number> | undefined;
|
|
58
|
+
get lanes(): number;
|
|
59
|
+
get lanesByCol(): number[];
|
|
60
|
+
get weekNumber(): number;
|
|
61
|
+
cellLanes(colIdx: number): number;
|
|
62
|
+
maxVisible(colIdx: number): number;
|
|
63
|
+
dayMsOf(date: CalendarDateTime): number;
|
|
64
|
+
isExpanded(date: CalendarDateTime): boolean;
|
|
65
|
+
onExpand(date: CalendarDateTime): void;
|
|
66
|
+
onCollapse(): void;
|
|
67
|
+
isToday(date: CalendarDateTime): boolean;
|
|
68
|
+
inMonth(date: CalendarDateTime): boolean;
|
|
69
|
+
trackDay(_: number, date: CalendarDateTime): number;
|
|
70
|
+
formatDayNumber(date: CalendarDateTime): string;
|
|
71
|
+
getTimedEvents(date: CalendarDateTime): CalendarEvent[];
|
|
72
|
+
getVisibleTimed(timed: CalendarEvent[], colIdx: number, date: CalendarDateTime): CalendarEvent[];
|
|
73
|
+
hasOverflow(timed: CalendarEvent[], colIdx: number): boolean;
|
|
74
|
+
getColor(ev: CalendarEvent): string;
|
|
75
|
+
formatTime(ev: CalendarEvent): string;
|
|
76
|
+
isDragged(item: LayoutItem): boolean;
|
|
77
|
+
handleDragOver(e: DragEvent): void;
|
|
78
|
+
handleDragLeave(e: DragEvent): void;
|
|
79
|
+
handleDrop(e: DragEvent): void;
|
|
80
|
+
handleDayCellClick(e: MouseEvent, date: CalendarDateTime): void;
|
|
81
|
+
handleDayCellDoubleClick(e: MouseEvent, date: CalendarDateTime): void;
|
|
82
|
+
handleTimedMouseDown(): void;
|
|
83
|
+
handleTimedClick(e: MouseEvent, ev: CalendarEvent): void;
|
|
84
|
+
handleTimedDoubleClick(e: MouseEvent, ev: CalendarEvent): void;
|
|
85
|
+
isTimedSelected(ev: CalendarEvent): boolean;
|
|
86
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WeekRowComponent, [{ optional: true; }]>;
|
|
87
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WeekRowComponent, "cal-week-row", never, { "weekDates": { "alias": "weekDates"; "required": false; }; "items": { "alias": "items"; "required": false; }; "timedByDay": { "alias": "timedByDay"; "required": false; }; "currentYear": { "alias": "currentYear"; "required": false; }; "currentMonth": { "alias": "currentMonth"; "required": false; }; "config": { "alias": "config"; "required": false; }; "today": { "alias": "today"; "required": false; }; "previewEvent": { "alias": "previewEvent"; "required": false; }; "expandedMonthDay": { "alias": "expandedMonthDay"; "required": false; }; "selectedEventId": { "alias": "selectedEventId"; "required": false; }; "selectedInstanceDate": { "alias": "selectedInstanceDate"; "required": false; }; }, { "eventClick": "eventClick"; "selectEvent": "selectEvent"; "clearSelection": "clearSelection"; "dayCellClick": "dayCellClick"; "dropEvent": "dropEvent"; "dragOver": "dragOver"; "hidePreviewEv": "hidePreviewEv"; "dragEnd": "dragEnd"; "dragStartEv": "dragStartEv"; "expandMonthCell": "expandMonthCell"; "collapseMonthCell": "collapseMonthCell"; }, never, never, true, never>;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=WeekRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WeekRow.d.ts","sourceRoot":"","sources":["../../../src/views/month/WeekRow.ts"],"names":[],"mappings":"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"}
|