@bimetal/calendar-angular-components 0.35.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/binding/controller.d.ts +10 -1
- package/dist/binding/controller.d.ts.map +1 -1
- package/dist/binding/controller.js +11 -1
- package/dist/binding/controller.js.map +1 -1
- package/dist/binding/index.d.ts +4 -2
- package/dist/binding/index.d.ts.map +1 -1
- package/dist/binding/index.js +5 -2
- package/dist/binding/index.js.map +1 -1
- package/dist/binding/services/pointer-gesture.service.d.ts +52 -0
- package/dist/binding/services/pointer-gesture.service.d.ts.map +1 -0
- package/dist/binding/services/pointer-gesture.service.js +83 -0
- package/dist/binding/services/pointer-gesture.service.js.map +1 -0
- package/dist/components/Calendar.d.ts +20 -4
- package/dist/components/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar.js +133 -31
- package/dist/components/Calendar.js.map +1 -1
- package/dist/components/CalendarHeader.d.ts +3 -0
- package/dist/components/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader.js +10 -4
- package/dist/components/CalendarHeader.js.map +1 -1
- package/dist/components/CategoryFilter.d.ts +3 -0
- package/dist/components/CategoryFilter.d.ts.map +1 -1
- package/dist/components/CategoryFilter.js +9 -5
- package/dist/components/CategoryFilter.js.map +1 -1
- package/dist/components/EventBar.d.ts +11 -4
- package/dist/components/EventBar.d.ts.map +1 -1
- package/dist/components/EventBar.js +87 -32
- package/dist/components/EventBar.js.map +1 -1
- package/dist/components/EventDialog.d.ts +12 -6
- package/dist/components/EventDialog.d.ts.map +1 -1
- package/dist/components/EventDialog.js +122 -45
- package/dist/components/EventDialog.js.map +1 -1
- package/dist/components/EventHistory.d.ts +14 -10
- package/dist/components/EventHistory.d.ts.map +1 -1
- package/dist/components/EventHistory.js +59 -56
- package/dist/components/EventHistory.js.map +1 -1
- package/dist/styles/index.css.d.ts +3 -0
- package/dist/views/day/DayView.d.ts +26 -4
- package/dist/views/day/DayView.d.ts.map +1 -1
- package/dist/views/day/DayView.js +56 -17
- package/dist/views/day/DayView.js.map +1 -1
- package/dist/views/month/MonthView.d.ts +14 -3
- package/dist/views/month/MonthView.d.ts.map +1 -1
- package/dist/views/month/MonthView.js +55 -7
- package/dist/views/month/MonthView.js.map +1 -1
- package/dist/views/month/WeekRow.d.ts +19 -3
- package/dist/views/month/WeekRow.d.ts.map +1 -1
- package/dist/views/month/WeekRow.js +73 -34
- package/dist/views/month/WeekRow.js.map +1 -1
- package/dist/views/resource/ResourceView.d.ts +28 -1
- package/dist/views/resource/ResourceView.d.ts.map +1 -1
- package/dist/views/resource/ResourceView.js +78 -21
- package/dist/views/resource/ResourceView.js.map +1 -1
- package/dist/views/timeline/TimelineView.d.ts +25 -3
- package/dist/views/timeline/TimelineView.d.ts.map +1 -1
- package/dist/views/timeline/TimelineView.js +77 -16
- package/dist/views/timeline/TimelineView.js.map +1 -1
- package/dist/views/week/AllDayRow.d.ts +16 -3
- package/dist/views/week/AllDayRow.d.ts.map +1 -1
- package/dist/views/week/AllDayRow.js +47 -10
- package/dist/views/week/AllDayRow.js.map +1 -1
- package/dist/views/week/TimeEvent.d.ts +11 -4
- package/dist/views/week/TimeEvent.d.ts.map +1 -1
- package/dist/views/week/TimeEvent.js +76 -26
- package/dist/views/week/TimeEvent.js.map +1 -1
- package/dist/views/week/WeekView.d.ts +16 -1
- package/dist/views/week/WeekView.d.ts.map +1 -1
- package/dist/views/week/WeekView.js +53 -18
- package/dist/views/week/WeekView.js.map +1 -1
- package/dist/views/year/YearView.d.ts +2 -0
- package/dist/views/year/YearView.d.ts.map +1 -1
- package/dist/views/year/YearView.js +17 -1
- package/dist/views/year/YearView.js.map +1 -1
- package/package.json +17 -13
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ElementRef } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { startOfDay, addDays, isSameDay, now } from '@bimetal/temporal';
|
|
4
4
|
import { segmentInRange, layoutAllDay, maxLanes, getRecurrenceInstanceMetadata } from '@bimetal/calendar-core';
|
|
5
|
-
import { DEFAULT_RESOURCE_LABEL_WIDTH, createClickIntent } from '@bimetal/calendar-headless';
|
|
5
|
+
import { colFromTimeGridX, DEFAULT_RESOURCE_LABEL_WIDTH, createClickIntent } from '@bimetal/calendar-headless';
|
|
6
|
+
import { CalendarPointerGestureService } from '../../binding/index.js';
|
|
6
7
|
import { EventBarComponent } from '../../components/EventBar.js';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "
|
|
9
|
+
import * as i1 from "../../binding/index.js";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
9
11
|
function TimelineViewComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
10
12
|
i0.ɵɵelementContainerStart(0);
|
|
11
13
|
i0.ɵɵelementStart(1, "div", 2);
|
|
@@ -42,9 +44,11 @@ function TimelineViewComponent_ng_template_1_div_5_button_6_Template(rf, ctx) {
|
|
|
42
44
|
} if (rf & 2) {
|
|
43
45
|
const d_r6 = ctx.$implicit;
|
|
44
46
|
const i_r7 = ctx.index;
|
|
45
|
-
const
|
|
47
|
+
const r_r4 = i0.ɵɵnextContext().$implicit;
|
|
48
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
46
49
|
i0.ɵɵclassMap("bm-cal-timeline__cell" + (ctx_r0.isToday(d_r6) ? " bm-cal-timeline__cell--today" : ""));
|
|
47
50
|
i0.ɵɵstyleProp("grid-column", i_r7 + 1)("grid-row", "1 / -1");
|
|
51
|
+
i0.ɵɵattribute("aria-label", r_r4.name + ", " + ctx_r0.formatDate(d_r6));
|
|
48
52
|
} }
|
|
49
53
|
function TimelineViewComponent_ng_template_1_div_5_cal_event_bar_7_Template(rf, ctx) { if (rf & 1) {
|
|
50
54
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
@@ -54,7 +58,7 @@ function TimelineViewComponent_ng_template_1_div_5_cal_event_bar_7_Template(rf,
|
|
|
54
58
|
} if (rf & 2) {
|
|
55
59
|
const item_r9 = ctx.$implicit;
|
|
56
60
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
57
|
-
i0.ɵɵproperty("event", item_r9.segment.event)("isStart", item_r9.segment.isStart)("isEnd", item_r9.segment.isEnd)("dayIndex", item_r9.dayIndex)("daySpan", item_r9.daySpan)("column", item_r9.column)("weekDates", ctx_r0.dates)("ghost", (ctx_r0.previewEvent == null ? null : ctx_r0.previewEvent.id) === item_r9.segment.event.id)("clickThresholdMs", ctx_r0.config.clickThresholdMs)("isSelected", ctx_r0.isSelected(item_r9.segment.event));
|
|
61
|
+
i0.ɵɵproperty("config", ctx_r0.config)("event", item_r9.segment.event)("isStart", item_r9.segment.isStart)("isEnd", item_r9.segment.isEnd)("dayIndex", item_r9.dayIndex)("daySpan", item_r9.daySpan)("column", item_r9.column)("weekDates", ctx_r0.dates)("ghost", (ctx_r0.previewEvent == null ? null : ctx_r0.previewEvent.id) === item_r9.segment.event.id)("clickThresholdMs", ctx_r0.config.clickThresholdMs)("isSelected", ctx_r0.isSelected(item_r9.segment.event));
|
|
58
62
|
} }
|
|
59
63
|
function TimelineViewComponent_ng_template_1_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
60
64
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
@@ -65,7 +69,7 @@ function TimelineViewComponent_ng_template_1_div_5_Template(rf, ctx) { if (rf &
|
|
|
65
69
|
i0.ɵɵelementEnd()();
|
|
66
70
|
i0.ɵɵelementStart(5, "div", 13);
|
|
67
71
|
i0.ɵɵlistener("dragover", function TimelineViewComponent_ng_template_1_div_5_Template_div_dragover_5_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onLaneDragOver($event)); })("drop", function TimelineViewComponent_ng_template_1_div_5_Template_div_drop_5_listener($event) { const r_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onLaneDrop($event, r_r4.id)); })("dragleave", function TimelineViewComponent_ng_template_1_div_5_Template_div_dragleave_5_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onLaneDragLeave($event)); });
|
|
68
|
-
i0.ɵɵtemplate(6, TimelineViewComponent_ng_template_1_div_5_button_6_Template, 1,
|
|
72
|
+
i0.ɵɵtemplate(6, TimelineViewComponent_ng_template_1_div_5_button_6_Template, 1, 7, "button", 14)(7, TimelineViewComponent_ng_template_1_div_5_cal_event_bar_7_Template, 1, 11, "cal-event-bar", 15);
|
|
69
73
|
i0.ɵɵelementEnd()();
|
|
70
74
|
} if (rf & 2) {
|
|
71
75
|
const r_r4 = ctx.$implicit;
|
|
@@ -105,6 +109,35 @@ function TimelineViewComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
105
109
|
* all-day-style event bars spanning `days` date columns.
|
|
106
110
|
*/
|
|
107
111
|
export class TimelineViewComponent {
|
|
112
|
+
gesture;
|
|
113
|
+
host;
|
|
114
|
+
constructor(gesture, host) {
|
|
115
|
+
this.gesture = gesture;
|
|
116
|
+
this.host = host;
|
|
117
|
+
}
|
|
118
|
+
ngAfterViewInit() {
|
|
119
|
+
// mcp-57 Slice E: shared FSM over the lanes — hit = lane resource + day column.
|
|
120
|
+
this.gesture.init({
|
|
121
|
+
hitTest: (x, y) => {
|
|
122
|
+
const lanes = this.host.nativeElement.querySelectorAll('.bm-cal-timeline__lane-content');
|
|
123
|
+
for (let i = 0; i < lanes.length; i++) {
|
|
124
|
+
const rect = lanes[i].getBoundingClientRect();
|
|
125
|
+
if (x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom) {
|
|
126
|
+
const r = this.visibleResources[i];
|
|
127
|
+
if (!r)
|
|
128
|
+
return null;
|
|
129
|
+
return { resourceId: r.id, date: this.dayFromX(x, rect) };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return null;
|
|
133
|
+
},
|
|
134
|
+
onGestureStart: (info) => this.dragStartEv.emit(info),
|
|
135
|
+
onGestureOver: (hit) => this.dragOverDate.emit(hit.date),
|
|
136
|
+
onGestureLeave: () => this.hidePreviewEv.emit(),
|
|
137
|
+
onGestureDrop: (info, hit) => this.timelineDropInfo.emit({ info, date: hit.date, resourceId: hit.resourceId }),
|
|
138
|
+
onGestureEnd: () => this.dragEnd.emit(),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
108
141
|
currentDate;
|
|
109
142
|
days = 7;
|
|
110
143
|
events = [];
|
|
@@ -125,6 +158,8 @@ export class TimelineViewComponent {
|
|
|
125
158
|
/** Native `dragend` der Source — Drag-Session vollständig beendet. */
|
|
126
159
|
dragEnd = new EventEmitter();
|
|
127
160
|
dragStartEv = new EventEmitter();
|
|
161
|
+
/** Pointer-gesture drop (mcp-57): same controller path, minus the DataTransfer. */
|
|
162
|
+
timelineDropInfo = new EventEmitter();
|
|
128
163
|
resourceLabelW = DEFAULT_RESOURCE_LABEL_WIDTH;
|
|
129
164
|
get dates() {
|
|
130
165
|
const start = startOfDay(this.currentDate);
|
|
@@ -154,17 +189,38 @@ export class TimelineViewComponent {
|
|
|
154
189
|
return this.events;
|
|
155
190
|
return this.events.map(ev => ev.id === pe.id ? { ...ev, timeRange: pe.timeRange } : ev);
|
|
156
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* CACHED PER INPUT IDENTITY (mcp-130 R1). As a bare method call in the template
|
|
194
|
+
* this ran filter+segment+layout for EVERY lane on EVERY change-detection pass
|
|
195
|
+
* — including the dragstart's own — and minted fresh LayoutItem wrappers each
|
|
196
|
+
* time. `trackBy: trackItem` kept the dragged node alive, but that left the
|
|
197
|
+
* timeline hanging on ONE protective layer where mcp-129/130 deliberately keep
|
|
198
|
+
* two: the very lesson of that ticket ("one fenced source per class is not
|
|
199
|
+
* enough") applied to its defenses too. `laneHeight` calls this as well, so the
|
|
200
|
+
* cache also halves the per-CD layout work.
|
|
201
|
+
*/
|
|
202
|
+
itemsCache = null;
|
|
157
203
|
itemsFor(resourceId) {
|
|
204
|
+
// Keyed on currentDate+days, NOT on `this.dates`: that getter mints a fresh
|
|
205
|
+
// array per call (same class, one level down), which would defeat this cache.
|
|
206
|
+
const key = [this.events, this.previewEvent, this.currentDate, this.days];
|
|
207
|
+
if (!this.itemsCache || !this.itemsCache.key.every((k, i) => k === key[i])) {
|
|
208
|
+
this.itemsCache = { key, byResource: new Map() };
|
|
209
|
+
}
|
|
210
|
+
const cached = this.itemsCache.byResource.get(resourceId);
|
|
211
|
+
if (cached)
|
|
212
|
+
return cached;
|
|
158
213
|
const own = this.displayEvents.filter(e => e.resourceId === resourceId);
|
|
159
214
|
const segments = segmentInRange(own, this.dates);
|
|
160
|
-
|
|
215
|
+
const items = layoutAllDay(segments, this.dates);
|
|
216
|
+
this.itemsCache.byResource.set(resourceId, items);
|
|
217
|
+
return items;
|
|
161
218
|
}
|
|
162
219
|
dayFromX(clientX, laneRect) {
|
|
220
|
+
// mcp-91 R1 (review F2): shared, core-pinned mapping (gutterless row).
|
|
221
|
+
const rtl = getComputedStyle(this.host.nativeElement).direction === 'rtl';
|
|
163
222
|
const ds = this.dates;
|
|
164
|
-
|
|
165
|
-
const colWidth = laneRect.width / ds.length;
|
|
166
|
-
const idx = Math.min(ds.length - 1, Math.floor(x / colWidth));
|
|
167
|
-
return ds[idx];
|
|
223
|
+
return ds[colFromTimeGridX(clientX, laneRect, 0, ds.length, rtl)];
|
|
168
224
|
}
|
|
169
225
|
onLaneDragOver(e) {
|
|
170
226
|
e.preventDefault();
|
|
@@ -212,18 +268,19 @@ export class TimelineViewComponent {
|
|
|
212
268
|
return this.selectedEventId === ev.id
|
|
213
269
|
&& this.selectedInstanceDate === (getRecurrenceInstanceMetadata(ev)?.instanceDate);
|
|
214
270
|
}
|
|
215
|
-
static ɵfac = function TimelineViewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TimelineViewComponent)(); };
|
|
216
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimelineViewComponent, selectors: [["cal-timeline-view"]], inputs: { currentDate: "currentDate", days: "days", events: "events", visibleResources: "visibleResources", config: "config", previewEvent: "previewEvent", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", clearSelection: "clearSelection", timelineCellClick: "timelineCellClick", timelineDrop: "timelineDrop", dragOverDate: "dragOverDate", hidePreviewEv: "hidePreviewEv", dragEnd: "dragEnd", dragStartEv: "dragStartEv" }, decls: 3, vars: 2, consts: [["withResources", ""], [4, "ngIf", "ngIfElse"], [1, "bm-cal-timeline", "bm-cal-timeline--empty"], [1, "bm-cal-timeline"], [1, "bm-cal-timeline__header"], [1, "bm-cal-timeline__corner"], [3, "class", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-timeline__body"], ["class", "bm-cal-timeline__lane", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-timeline__lane"], [1, "bm-cal-timeline__resource-label"], ["class", "bm-cal-timeline__resource-dot", 3, "background-color", 4, "ngIf"], [1, "bm-cal-timeline__resource-name"], [1, "bm-cal-timeline__lane-content", 3, "dragover", "drop", "dragleave"], ["type", "button", 3, "class", "grid-column", "grid-row", "mousedown", "click", "dblclick", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "clickThresholdMs", "isSelected", "eventClick", "selectEvent", "dragStart", "dragEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-timeline__resource-dot"], ["type", "button", 3, "mousedown", "click", "dblclick"], [3, "eventClick", "selectEvent", "dragStart", "dragEnd", "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "clickThresholdMs", "isSelected"]], template: function TimelineViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
271
|
+
static ɵfac = function TimelineViewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TimelineViewComponent)(i0.ɵɵdirectiveInject(i1.CalendarPointerGestureService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
272
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimelineViewComponent, selectors: [["cal-timeline-view"]], inputs: { currentDate: "currentDate", days: "days", events: "events", visibleResources: "visibleResources", config: "config", previewEvent: "previewEvent", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", clearSelection: "clearSelection", timelineCellClick: "timelineCellClick", timelineDrop: "timelineDrop", dragOverDate: "dragOverDate", hidePreviewEv: "hidePreviewEv", dragEnd: "dragEnd", dragStartEv: "dragStartEv", timelineDropInfo: "timelineDropInfo" }, features: [i0.ɵɵProvidersFeature([CalendarPointerGestureService])], decls: 3, vars: 2, consts: [["withResources", ""], [4, "ngIf", "ngIfElse"], [1, "bm-cal-timeline", "bm-cal-timeline--empty"], [1, "bm-cal-timeline"], [1, "bm-cal-timeline__header"], [1, "bm-cal-timeline__corner"], [3, "class", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-timeline__body"], ["class", "bm-cal-timeline__lane", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-timeline__lane"], [1, "bm-cal-timeline__resource-label"], ["class", "bm-cal-timeline__resource-dot", 3, "background-color", 4, "ngIf"], [1, "bm-cal-timeline__resource-name"], [1, "bm-cal-timeline__lane-content", 3, "dragover", "drop", "dragleave"], ["type", "button", 3, "class", "grid-column", "grid-row", "mousedown", "click", "dblclick", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "config", "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "clickThresholdMs", "isSelected", "eventClick", "selectEvent", "dragStart", "dragEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-timeline__resource-dot"], ["type", "button", 3, "mousedown", "click", "dblclick"], [3, "eventClick", "selectEvent", "dragStart", "dragEnd", "config", "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "clickThresholdMs", "isSelected"]], template: function TimelineViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
217
273
|
i0.ɵɵtemplate(0, TimelineViewComponent_ng_container_0_Template, 3, 1, "ng-container", 1)(1, TimelineViewComponent_ng_template_1_Template, 6, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
218
274
|
} if (rf & 2) {
|
|
219
275
|
const withResources_r10 = i0.ɵɵreference(2);
|
|
220
276
|
i0.ɵɵproperty("ngIf", ctx.visibleResources.length === 0)("ngIfElse", withResources_r10);
|
|
221
|
-
} }, dependencies: [CommonModule,
|
|
277
|
+
} }, dependencies: [CommonModule, i2.NgForOf, i2.NgIf, EventBarComponent], encapsulation: 2, changeDetection: 0 });
|
|
222
278
|
}
|
|
223
279
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimelineViewComponent, [{
|
|
224
280
|
type: Component,
|
|
225
281
|
args: [{
|
|
226
282
|
selector: 'cal-timeline-view',
|
|
283
|
+
providers: [CalendarPointerGestureService],
|
|
227
284
|
standalone: true,
|
|
228
285
|
imports: [CommonModule, EventBarComponent],
|
|
229
286
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -260,6 +317,7 @@ export class TimelineViewComponent {
|
|
|
260
317
|
<button *ngFor="let d of dates; let i = index; trackBy: trackDate"
|
|
261
318
|
type="button"
|
|
262
319
|
[class]="'bm-cal-timeline__cell' + (isToday(d) ? ' bm-cal-timeline__cell--today' : '')"
|
|
320
|
+
[attr.aria-label]="r.name + ', ' + formatDate(d)"
|
|
263
321
|
[style.grid-column]="i + 1"
|
|
264
322
|
[style.grid-row]="'1 / -1'"
|
|
265
323
|
(mousedown)="cellClick.markMouseDown()"
|
|
@@ -267,6 +325,7 @@ export class TimelineViewComponent {
|
|
|
267
325
|
(dblclick)="onCellDoubleClick($event, d, r.id)">
|
|
268
326
|
</button>
|
|
269
327
|
<cal-event-bar *ngFor="let item of itemsFor(r.id); let idx = index; trackBy: trackItem"
|
|
328
|
+
[config]="config"
|
|
270
329
|
[event]="item.segment.event"
|
|
271
330
|
[isStart]="item.segment.isStart"
|
|
272
331
|
[isEnd]="item.segment.isEnd"
|
|
@@ -289,7 +348,7 @@ export class TimelineViewComponent {
|
|
|
289
348
|
</ng-template>
|
|
290
349
|
`,
|
|
291
350
|
}]
|
|
292
|
-
}],
|
|
351
|
+
}], () => [{ type: i1.CalendarPointerGestureService }, { type: i0.ElementRef }], { currentDate: [{
|
|
293
352
|
type: Input
|
|
294
353
|
}], days: [{
|
|
295
354
|
type: Input
|
|
@@ -323,6 +382,8 @@ export class TimelineViewComponent {
|
|
|
323
382
|
type: Output
|
|
324
383
|
}], dragStartEv: [{
|
|
325
384
|
type: Output
|
|
385
|
+
}], timelineDropInfo: [{
|
|
386
|
+
type: Output
|
|
326
387
|
}] }); })();
|
|
327
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimelineViewComponent, { className: "TimelineViewComponent", filePath: "views/timeline/timelineview.ts", lineNumber:
|
|
388
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimelineViewComponent, { className: "TimelineViewComponent", filePath: "views/timeline/timelineview.ts", lineNumber: 87 }); })();
|
|
328
389
|
//# sourceMappingURL=TimelineView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimelineView.js","sourceRoot":"","sources":["../../../src/views/timeline/TimelineView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"TimelineView.js","sourceRoot":"","sources":["../../../src/views/timeline/TimelineView.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { CalendarConfig } from '../../binding/index.js';
|
|
2
|
+
import { CalendarPointerGestureService } from '../../binding/index.js';
|
|
3
|
+
import type { DragInfo } from '@bimetal/calendar-headless';
|
|
4
|
+
import { EventEmitter, ElementRef, AfterViewInit } from '@angular/core';
|
|
2
5
|
import type { CalendarDateTime, CalendarEvent, LayoutItem } from '@bimetal/calendar-core';
|
|
3
6
|
import * as i0 from "@angular/core";
|
|
4
7
|
/**
|
|
5
8
|
* All-day event bar row shown above the week time grid: renders one `cal-event-bar`
|
|
6
9
|
* per laid-out all-day segment and reports drag-over/drop targets.
|
|
7
10
|
*/
|
|
8
|
-
export declare class AllDayRowComponent {
|
|
11
|
+
export declare class AllDayRowComponent implements AfterViewInit {
|
|
12
|
+
private gesture;
|
|
13
|
+
constructor(gesture: CalendarPointerGestureService);
|
|
14
|
+
ngAfterViewInit(): void;
|
|
9
15
|
weekDates: CalendarDateTime[];
|
|
16
|
+
/** Resolved calendar config (mcp-92: locale-aware time display in bars). */
|
|
17
|
+
config: CalendarConfig;
|
|
10
18
|
items: LayoutItem[];
|
|
11
19
|
allDayLabel: string;
|
|
12
20
|
previewEvent: CalendarEvent | null;
|
|
@@ -26,6 +34,11 @@ export declare class AllDayRowComponent {
|
|
|
26
34
|
date: CalendarDateTime;
|
|
27
35
|
}>;
|
|
28
36
|
dragOver: EventEmitter<CalendarDateTime>;
|
|
37
|
+
/** Pointer-gesture drop (mcp-57): same controller path, minus the DataTransfer. */
|
|
38
|
+
dropDayInfo: EventEmitter<{
|
|
39
|
+
info: DragInfo;
|
|
40
|
+
date: CalendarDateTime;
|
|
41
|
+
}>;
|
|
29
42
|
/** Drop-Zone wurde verlassen (dragleave) — Preview visuell ausräumen. */
|
|
30
43
|
hidePreviewEv: EventEmitter<void>;
|
|
31
44
|
/** Native `dragend` der Source — Drag-Session vollständig beendet. */
|
|
@@ -39,6 +52,6 @@ export declare class AllDayRowComponent {
|
|
|
39
52
|
handleDrop(e: DragEvent): void;
|
|
40
53
|
handleDragLeave(e: DragEvent): void;
|
|
41
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<AllDayRowComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AllDayRowComponent, "cal-allday-row", never, { "weekDates": { "alias": "weekDates"; "required": false; }; "items": { "alias": "items"; "required": false; }; "allDayLabel": { "alias": "allDayLabel"; "required": false; }; "previewEvent": { "alias": "previewEvent"; "required": false; }; "selectedEventId": { "alias": "selectedEventId"; "required": false; }; "selectedInstanceDate": { "alias": "selectedInstanceDate"; "required": false; }; }, { "eventClick": "eventClick"; "selectEvent": "selectEvent"; "dropEvent": "dropEvent"; "dragOver": "dragOver"; "hidePreviewEv": "hidePreviewEv"; "dragEnd": "dragEnd"; "dragStartEv": "dragStartEv"; }, never, never, true, never>;
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AllDayRowComponent, "cal-allday-row", never, { "weekDates": { "alias": "weekDates"; "required": false; }; "config": { "alias": "config"; "required": true; }; "items": { "alias": "items"; "required": false; }; "allDayLabel": { "alias": "allDayLabel"; "required": false; }; "previewEvent": { "alias": "previewEvent"; "required": false; }; "selectedEventId": { "alias": "selectedEventId"; "required": false; }; "selectedInstanceDate": { "alias": "selectedInstanceDate"; "required": false; }; }, { "eventClick": "eventClick"; "selectEvent": "selectEvent"; "dropEvent": "dropEvent"; "dragOver": "dragOver"; "dropDayInfo": "dropDayInfo"; "hidePreviewEv": "hidePreviewEv"; "dragEnd": "dragEnd"; "dragStartEv": "dragStartEv"; }, never, never, true, never>;
|
|
43
56
|
}
|
|
44
57
|
//# sourceMappingURL=AllDayRow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllDayRow.d.ts","sourceRoot":"","sources":["../../../src/views/week/AllDayRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AllDayRow.d.ts","sourceRoot":"","sources":["../../../src/views/week/AllDayRow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAA4B,YAAY,EAAa,UAAU,EAAG,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;;AAK1F;;;GAGG;AACH,qBAgCa,kBAAmB,YAAW,aAAa;IAC1C,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,6BAA6B;IAE1D,eAAe;IAkBN,SAAS,EAAE,gBAAgB,EAAE,CAAM;IAC5C,4EAA4E;IACjD,MAAM,EAAG,cAAc,CAAC;IAC1C,KAAK,EAAE,UAAU,EAAE,CAAM;IACzB,WAAW,SAAa;IAExB,YAAY,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC1C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAa;IACpD,UAAU;iBAA+B,MAAM;cAAQ,OAAO;uBAAiB,MAAM;OAAM;IAC3F,WAAW;iBAA+B,MAAM;uBAAiB,MAAM;OAAM;IAC7E,SAAS;eAA6B,SAAS;cAAQ,gBAAgB;OAAM;IAC7E,QAAQ,iCAAwC;IAC1D,mFAAmF;IACzE,WAAW;cAA4B,QAAQ;cAAQ,gBAAgB;OAAM;IACvF,yEAAyE;IAC/D,aAAa,qBAA4B;IACnD,sEAAsE;IAC5D,OAAO,qBAA4B;IACnC,WAAW,oBAA2B;IAE5B,KAAK,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAEvD,IAAI,KAAK,WAAmC;IAG5C,UAAU,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO;IAQtC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM;IAI/C,cAAc,CAAC,CAAC,EAAE,SAAS;IAQ3B,UAAU,CAAC,CAAC,EAAE,SAAS;IAOvB,eAAe,CAAC,CAAC,EAAE,SAAS;yCA1EjB,kBAAkB;2CAAlB,kBAAkB;CAiF9B"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { CalendarPointerGestureService } from '../../binding/index.js';
|
|
1
2
|
import { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
|
|
2
3
|
import { CommonModule } from '@angular/common';
|
|
3
4
|
import { maxLanes, getRecurrenceInstanceMetadata } from '@bimetal/calendar-core';
|
|
4
5
|
import { colFromTimeGridX, DEFAULT_TIME_LABEL_WIDTH_WEEK } from '@bimetal/calendar-headless';
|
|
5
6
|
import { EventBarComponent } from '../../components/EventBar.js';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "
|
|
8
|
+
import * as i1 from "../../binding/index.js";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
8
10
|
const _c0 = ["rowEl"];
|
|
9
11
|
function AllDayRowComponent_div_0_cal_event_bar_5_Template(rf, ctx) { if (rf & 1) {
|
|
10
12
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
@@ -14,7 +16,7 @@ function AllDayRowComponent_div_0_cal_event_bar_5_Template(rf, ctx) { if (rf & 1
|
|
|
14
16
|
} if (rf & 2) {
|
|
15
17
|
const item_r4 = ctx.$implicit;
|
|
16
18
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
17
|
-
i0.ɵɵproperty("event", item_r4.segment.event)("isStart", item_r4.segment.isStart)("isEnd", item_r4.segment.isEnd)("dayIndex", item_r4.dayIndex)("daySpan", item_r4.daySpan)("column", item_r4.column)("weekDates", ctx_r1.weekDates)("ghost", (ctx_r1.previewEvent == null ? null : ctx_r1.previewEvent.id) === item_r4.segment.event.id)("isSelected", ctx_r1.isSelected(item_r4.segment.event));
|
|
19
|
+
i0.ɵɵproperty("config", ctx_r1.config)("event", item_r4.segment.event)("isStart", item_r4.segment.isStart)("isEnd", item_r4.segment.isEnd)("dayIndex", item_r4.dayIndex)("daySpan", item_r4.daySpan)("column", item_r4.column)("weekDates", ctx_r1.weekDates)("ghost", (ctx_r1.previewEvent == null ? null : ctx_r1.previewEvent.id) === item_r4.segment.event.id)("isSelected", ctx_r1.isSelected(item_r4.segment.event));
|
|
18
20
|
} }
|
|
19
21
|
function AllDayRowComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
20
22
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -24,7 +26,7 @@ function AllDayRowComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
24
26
|
i0.ɵɵtext(3);
|
|
25
27
|
i0.ɵɵelementEnd();
|
|
26
28
|
i0.ɵɵelementStart(4, "div", 4);
|
|
27
|
-
i0.ɵɵtemplate(5, AllDayRowComponent_div_0_cal_event_bar_5_Template, 1,
|
|
29
|
+
i0.ɵɵtemplate(5, AllDayRowComponent_div_0_cal_event_bar_5_Template, 1, 10, "cal-event-bar", 5);
|
|
28
30
|
i0.ɵɵelementEnd()();
|
|
29
31
|
} if (rf & 2) {
|
|
30
32
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -40,7 +42,33 @@ function AllDayRowComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
40
42
|
* per laid-out all-day segment and reports drag-over/drop targets.
|
|
41
43
|
*/
|
|
42
44
|
export class AllDayRowComponent {
|
|
45
|
+
gesture;
|
|
46
|
+
constructor(gesture) {
|
|
47
|
+
this.gesture = gesture;
|
|
48
|
+
}
|
|
49
|
+
ngAfterViewInit() {
|
|
50
|
+
// mcp-57 Slice E: zone-scoped FSM — all-day bars live here; timed chips use
|
|
51
|
+
// the week grid's FSM (this component-level provider overrides WeekView's).
|
|
52
|
+
this.gesture.init({
|
|
53
|
+
hitTest: (x, y) => {
|
|
54
|
+
const row = this.rowEl?.nativeElement;
|
|
55
|
+
if (!row)
|
|
56
|
+
return null;
|
|
57
|
+
const rect = row.getBoundingClientRect();
|
|
58
|
+
if (x < rect.left || x > rect.right || y < rect.top || y > rect.bottom)
|
|
59
|
+
return null;
|
|
60
|
+
return { date: this.weekDates[colFromTimeGridX(x, rect, DEFAULT_TIME_LABEL_WIDTH_WEEK, 7, this.rowEl ? getComputedStyle(this.rowEl.nativeElement).direction === 'rtl' : false)] };
|
|
61
|
+
},
|
|
62
|
+
onGestureStart: (info) => this.dragStartEv.emit(info),
|
|
63
|
+
onGestureOver: (hit) => this.dragOver.emit(hit.date),
|
|
64
|
+
onGestureLeave: () => this.hidePreviewEv.emit(),
|
|
65
|
+
onGestureDrop: (info, hit) => this.dropDayInfo.emit({ info, date: hit.date }),
|
|
66
|
+
onGestureEnd: () => this.dragEnd.emit(),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
43
69
|
weekDates = [];
|
|
70
|
+
/** Resolved calendar config (mcp-92: locale-aware time display in bars). */
|
|
71
|
+
config;
|
|
44
72
|
items = [];
|
|
45
73
|
allDayLabel = 'all day';
|
|
46
74
|
// B-CAL-1: the controller-rebuilt dragged event; only the ghost flag reads it.
|
|
@@ -51,6 +79,8 @@ export class AllDayRowComponent {
|
|
|
51
79
|
selectEvent = new EventEmitter();
|
|
52
80
|
dropEvent = new EventEmitter();
|
|
53
81
|
dragOver = new EventEmitter();
|
|
82
|
+
/** Pointer-gesture drop (mcp-57): same controller path, minus the DataTransfer. */
|
|
83
|
+
dropDayInfo = new EventEmitter();
|
|
54
84
|
/** Drop-Zone wurde verlassen (dragleave) — Preview visuell ausräumen. */
|
|
55
85
|
hidePreviewEv = new EventEmitter();
|
|
56
86
|
/** Native `dragend` der Source — Drag-Session vollständig beendet. */
|
|
@@ -74,14 +104,14 @@ export class AllDayRowComponent {
|
|
|
74
104
|
e.dataTransfer.dropEffect = 'move';
|
|
75
105
|
if (!this.rowEl)
|
|
76
106
|
return;
|
|
77
|
-
const col = colFromTimeGridX(e.clientX, this.rowEl.nativeElement.getBoundingClientRect(), DEFAULT_TIME_LABEL_WIDTH_WEEK);
|
|
107
|
+
const col = colFromTimeGridX(e.clientX, this.rowEl.nativeElement.getBoundingClientRect(), DEFAULT_TIME_LABEL_WIDTH_WEEK, 7, this.rowEl ? getComputedStyle(this.rowEl.nativeElement).direction === 'rtl' : false);
|
|
78
108
|
this.dragOver.emit(this.weekDates[col]);
|
|
79
109
|
}
|
|
80
110
|
handleDrop(e) {
|
|
81
111
|
e.preventDefault();
|
|
82
112
|
if (!this.rowEl)
|
|
83
113
|
return;
|
|
84
|
-
const col = colFromTimeGridX(e.clientX, this.rowEl.nativeElement.getBoundingClientRect(), DEFAULT_TIME_LABEL_WIDTH_WEEK);
|
|
114
|
+
const col = colFromTimeGridX(e.clientX, this.rowEl.nativeElement.getBoundingClientRect(), DEFAULT_TIME_LABEL_WIDTH_WEEK, 7, this.rowEl ? getComputedStyle(this.rowEl.nativeElement).direction === 'rtl' : false);
|
|
85
115
|
this.dropEvent.emit({ event: e, date: this.weekDates[col] });
|
|
86
116
|
}
|
|
87
117
|
handleDragLeave(e) {
|
|
@@ -91,22 +121,23 @@ export class AllDayRowComponent {
|
|
|
91
121
|
this.hidePreviewEv.emit();
|
|
92
122
|
}
|
|
93
123
|
}
|
|
94
|
-
static ɵfac = function AllDayRowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AllDayRowComponent)(); };
|
|
124
|
+
static ɵfac = function AllDayRowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AllDayRowComponent)(i0.ɵɵdirectiveInject(i1.CalendarPointerGestureService)); };
|
|
95
125
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AllDayRowComponent, selectors: [["cal-allday-row"]], viewQuery: function AllDayRowComponent_Query(rf, ctx) { if (rf & 1) {
|
|
96
126
|
i0.ɵɵviewQuery(_c0, 5);
|
|
97
127
|
} if (rf & 2) {
|
|
98
128
|
let _t;
|
|
99
129
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rowEl = _t.first);
|
|
100
|
-
} }, hostAttrs: [2, "display", "contents"], inputs: { weekDates: "weekDates", items: "items", allDayLabel: "allDayLabel", previewEvent: "previewEvent", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", dropEvent: "dropEvent", dragOver: "dragOver", hidePreviewEv: "hidePreviewEv", dragEnd: "dragEnd", dragStartEv: "dragStartEv" }, decls: 1, vars: 1, consts: [["rowEl", ""], ["class", "bm-cal-week__allday", 3, "dragover", "drop", "dragleave", 4, "ngIf"], [1, "bm-cal-week__allday", 3, "dragover", "drop", "dragleave"], [1, "bm-cal-week__allday-label"], [1, "bm-cal-week__allday-grid"], [3, "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "isSelected", "eventClick", "selectEvent", "dragStart", "dragEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "eventClick", "selectEvent", "dragStart", "dragEnd", "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "isSelected"]], template: function AllDayRowComponent_Template(rf, ctx) { if (rf & 1) {
|
|
130
|
+
} }, hostAttrs: [2, "display", "contents"], inputs: { weekDates: "weekDates", config: "config", items: "items", allDayLabel: "allDayLabel", previewEvent: "previewEvent", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", dropEvent: "dropEvent", dragOver: "dragOver", dropDayInfo: "dropDayInfo", hidePreviewEv: "hidePreviewEv", dragEnd: "dragEnd", dragStartEv: "dragStartEv" }, features: [i0.ɵɵProvidersFeature([CalendarPointerGestureService])], decls: 1, vars: 1, consts: [["rowEl", ""], ["class", "bm-cal-week__allday", 3, "dragover", "drop", "dragleave", 4, "ngIf"], [1, "bm-cal-week__allday", 3, "dragover", "drop", "dragleave"], [1, "bm-cal-week__allday-label"], [1, "bm-cal-week__allday-grid"], [3, "config", "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "isSelected", "eventClick", "selectEvent", "dragStart", "dragEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "eventClick", "selectEvent", "dragStart", "dragEnd", "config", "event", "isStart", "isEnd", "dayIndex", "daySpan", "column", "weekDates", "ghost", "isSelected"]], template: function AllDayRowComponent_Template(rf, ctx) { if (rf & 1) {
|
|
101
131
|
i0.ɵɵtemplate(0, AllDayRowComponent_div_0_Template, 6, 5, "div", 1);
|
|
102
132
|
} if (rf & 2) {
|
|
103
133
|
i0.ɵɵproperty("ngIf", ctx.items.length > 0);
|
|
104
|
-
} }, dependencies: [CommonModule,
|
|
134
|
+
} }, dependencies: [CommonModule, i2.NgForOf, i2.NgIf, EventBarComponent], encapsulation: 2 });
|
|
105
135
|
}
|
|
106
136
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AllDayRowComponent, [{
|
|
107
137
|
type: Component,
|
|
108
138
|
args: [{
|
|
109
139
|
selector: 'cal-allday-row',
|
|
140
|
+
providers: [CalendarPointerGestureService],
|
|
110
141
|
standalone: true,
|
|
111
142
|
host: { style: 'display: contents' },
|
|
112
143
|
imports: [CommonModule, EventBarComponent],
|
|
@@ -117,6 +148,7 @@ export class AllDayRowComponent {
|
|
|
117
148
|
<div class="bm-cal-week__allday-label">{{ allDayLabel }}</div>
|
|
118
149
|
<div class="bm-cal-week__allday-grid" [style.--lane-count]="lanes">
|
|
119
150
|
<cal-event-bar *ngFor="let item of items; trackBy: trackItem"
|
|
151
|
+
[config]="config"
|
|
120
152
|
[event]="item.segment.event"
|
|
121
153
|
[isStart]="item.segment.isStart"
|
|
122
154
|
[isEnd]="item.segment.isEnd"
|
|
@@ -135,8 +167,11 @@ export class AllDayRowComponent {
|
|
|
135
167
|
</div>
|
|
136
168
|
`,
|
|
137
169
|
}]
|
|
138
|
-
}],
|
|
170
|
+
}], () => [{ type: i1.CalendarPointerGestureService }], { weekDates: [{
|
|
139
171
|
type: Input
|
|
172
|
+
}], config: [{
|
|
173
|
+
type: Input,
|
|
174
|
+
args: [{ required: true }]
|
|
140
175
|
}], items: [{
|
|
141
176
|
type: Input
|
|
142
177
|
}], allDayLabel: [{
|
|
@@ -155,6 +190,8 @@ export class AllDayRowComponent {
|
|
|
155
190
|
type: Output
|
|
156
191
|
}], dragOver: [{
|
|
157
192
|
type: Output
|
|
193
|
+
}], dropDayInfo: [{
|
|
194
|
+
type: Output
|
|
158
195
|
}], hidePreviewEv: [{
|
|
159
196
|
type: Output
|
|
160
197
|
}], dragEnd: [{
|
|
@@ -165,5 +202,5 @@ export class AllDayRowComponent {
|
|
|
165
202
|
type: ViewChild,
|
|
166
203
|
args: ['rowEl']
|
|
167
204
|
}] }); })();
|
|
168
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AllDayRowComponent, { className: "AllDayRowComponent", filePath: "views/week/alldayrow.ts", lineNumber:
|
|
205
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AllDayRowComponent, { className: "AllDayRowComponent", filePath: "views/week/alldayrow.ts", lineNumber: 47 }); })();
|
|
169
206
|
//# sourceMappingURL=AllDayRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllDayRow.js","sourceRoot":"","sources":["../../../src/views/week/AllDayRow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AllDayRow.js","sourceRoot":"","sources":["../../../src/views/week/AllDayRow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { CalendarConfig } from '../../binding/index.js';
|
|
1
2
|
import { EventEmitter } from '@angular/core';
|
|
2
3
|
import type { CalendarEvent, CalendarDateTime } from '@bimetal/calendar-core';
|
|
3
4
|
import { type DragInfo } from '@bimetal/calendar-headless';
|
|
4
|
-
import { EventRenderService } from '../../binding/index.js';
|
|
5
|
+
import { EventRenderService, CalendarPointerGestureService } from '../../binding/index.js';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* Layout-Position eines Termins in einer Spalten-orientierten View
|
|
@@ -24,7 +25,10 @@ export interface TimeEventLayout {
|
|
|
24
25
|
*/
|
|
25
26
|
export declare class TimeEventComponent {
|
|
26
27
|
private renderService?;
|
|
28
|
+
private gesture?;
|
|
27
29
|
event: CalendarEvent;
|
|
30
|
+
/** Resolved calendar config (mcp-92: locale-aware time display). */
|
|
31
|
+
config: CalendarConfig;
|
|
28
32
|
dayCol: number;
|
|
29
33
|
dayCount: number;
|
|
30
34
|
lane: number;
|
|
@@ -53,7 +57,8 @@ export declare class TimeEventComponent {
|
|
|
53
57
|
/** Native `dragend` der Source — bubbelt aus Body und Resize-Handles. */
|
|
54
58
|
dragEnd: EventEmitter<void>;
|
|
55
59
|
private click;
|
|
56
|
-
constructor(renderService?: EventRenderService | undefined);
|
|
60
|
+
constructor(renderService?: EventRenderService | undefined, gesture?: CalendarPointerGestureService | undefined);
|
|
61
|
+
get pointerMode(): boolean;
|
|
57
62
|
/** v0.30 Slice 3 perf probe: a template binding evaluates ONLY on a real view refresh
|
|
58
63
|
* (unlike ngDoCheck), so this counts REAL leaf re-renders. Returns null → no attribute. */
|
|
59
64
|
probe(): null;
|
|
@@ -83,11 +88,13 @@ export declare class TimeEventComponent {
|
|
|
83
88
|
get lockedClass(): string;
|
|
84
89
|
get timeLabel(): string;
|
|
85
90
|
handleMouseDown(): void;
|
|
91
|
+
handlePointerDown(e: PointerEvent): void;
|
|
92
|
+
handleResizePointerDown(e: PointerEvent, edge: 'start' | 'end'): void;
|
|
86
93
|
handleDragStart(e: DragEvent): void;
|
|
87
94
|
handleResizeDragStart(e: DragEvent, edge: 'start' | 'end'): void;
|
|
88
95
|
handleClick(e: MouseEvent): void;
|
|
89
96
|
handleDoubleClick(e: MouseEvent): void;
|
|
90
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TimeEventComponent, [{ optional: true; }]>;
|
|
91
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TimeEventComponent, "cal-time-event", never, { "event": { "alias": "event"; "required": false; }; "dayCol": { "alias": "dayCol"; "required": true; }; "dayCount": { "alias": "dayCount"; "required": true; }; "lane": { "alias": "lane"; "required": true; }; "laneCount": { "alias": "laneCount"; "required": true; }; "startOffset": { "alias": "startOffset"; "required": true; }; "endOffset": { "alias": "endOffset"; "required": true; }; "dayDate": { "alias": "dayDate"; "required": false; }; "hourHeight": { "alias": "hourHeight"; "required": false; }; "timeLabelWidth": { "alias": "timeLabelWidth"; "required": false; }; "ghost": { "alias": "ghost"; "required": false; }; "clickThresholdMs": { "alias": "clickThresholdMs"; "required": false; }; "snapMinutes": { "alias": "snapMinutes"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; }, { "eventClick": "eventClick"; "selectEvent": "selectEvent"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, true, never>;
|
|
97
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TimeEventComponent, [{ optional: true; }, { optional: true; }]>;
|
|
98
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TimeEventComponent, "cal-time-event", never, { "event": { "alias": "event"; "required": false; }; "config": { "alias": "config"; "required": true; }; "dayCol": { "alias": "dayCol"; "required": true; }; "dayCount": { "alias": "dayCount"; "required": true; }; "lane": { "alias": "lane"; "required": true; }; "laneCount": { "alias": "laneCount"; "required": true; }; "startOffset": { "alias": "startOffset"; "required": true; }; "endOffset": { "alias": "endOffset"; "required": true; }; "dayDate": { "alias": "dayDate"; "required": false; }; "hourHeight": { "alias": "hourHeight"; "required": false; }; "timeLabelWidth": { "alias": "timeLabelWidth"; "required": false; }; "ghost": { "alias": "ghost"; "required": false; }; "clickThresholdMs": { "alias": "clickThresholdMs"; "required": false; }; "snapMinutes": { "alias": "snapMinutes"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; }, { "eventClick": "eventClick"; "selectEvent": "selectEvent"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, true, never>;
|
|
92
99
|
}
|
|
93
100
|
//# sourceMappingURL=TimeEvent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeEvent.d.ts","sourceRoot":"","sources":["../../../src/views/week/TimeEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAqC,MAAM,eAAe,CAAC;AAE1G,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,
|
|
1
|
+
{"version":3,"file":"TimeEvent.d.ts","sourceRoot":"","sources":["../../../src/views/week/TimeEvent.ts"],"names":[],"mappings":"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"}
|