@bimetal/calendar-angular-components 0.29.0 → 0.32.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/components/Calendar.d.ts +31 -6
- package/dist/components/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar.js +104 -42
- package/dist/components/Calendar.js.map +1 -1
- package/dist/components/CalendarHeader.js +11 -11
- package/dist/components/CalendarHeader.js.map +1 -1
- package/dist/components/CategoryFilter.js +4 -4
- package/dist/components/CategoryFilter.js.map +1 -1
- package/dist/components/EventBar.d.ts +23 -10
- package/dist/components/EventBar.d.ts.map +1 -1
- package/dist/components/EventBar.js +73 -44
- package/dist/components/EventBar.js.map +1 -1
- package/dist/components/EventDialog.js +86 -68
- package/dist/components/EventDialog.js.map +1 -1
- package/dist/components/EventHistory.d.ts.map +1 -1
- package/dist/components/EventHistory.js +19 -21
- package/dist/components/EventHistory.js.map +1 -1
- package/dist/components/ResourceFilter.js +4 -4
- package/dist/components/ResourceFilter.js.map +1 -1
- package/dist/components/UndoToast.js +7 -8
- package/dist/components/UndoToast.js.map +1 -1
- package/dist/views/agenda/AgendaView.d.ts +29 -30
- package/dist/views/agenda/AgendaView.d.ts.map +1 -1
- package/dist/views/agenda/AgendaView.js +189 -196
- package/dist/views/agenda/AgendaView.js.map +1 -1
- package/dist/views/day/DayView.d.ts.map +1 -1
- package/dist/views/day/DayView.js +30 -27
- package/dist/views/day/DayView.js.map +1 -1
- package/dist/views/month/MonthView.js +5 -5
- package/dist/views/month/MonthView.js.map +1 -1
- package/dist/views/month/WeekRow.d.ts.map +1 -1
- package/dist/views/month/WeekRow.js +36 -32
- package/dist/views/month/WeekRow.js.map +1 -1
- package/dist/views/resource/ResourceView.d.ts +1 -0
- package/dist/views/resource/ResourceView.d.ts.map +1 -1
- package/dist/views/resource/ResourceView.js +35 -27
- package/dist/views/resource/ResourceView.js.map +1 -1
- package/dist/views/timeline/TimelineView.d.ts +1 -0
- package/dist/views/timeline/TimelineView.d.ts.map +1 -1
- package/dist/views/timeline/TimelineView.js +31 -22
- package/dist/views/timeline/TimelineView.js.map +1 -1
- package/dist/views/week/AllDayRow.d.ts +1 -0
- package/dist/views/week/AllDayRow.d.ts.map +1 -1
- package/dist/views/week/AllDayRow.js +21 -11
- package/dist/views/week/AllDayRow.js.map +1 -1
- package/dist/views/week/TimeEvent.d.ts +13 -6
- package/dist/views/week/TimeEvent.d.ts.map +1 -1
- package/dist/views/week/TimeEvent.js +57 -33
- package/dist/views/week/TimeEvent.js.map +1 -1
- package/dist/views/week/WeekView.d.ts +1 -0
- package/dist/views/week/WeekView.d.ts.map +1 -1
- package/dist/views/week/WeekView.js +33 -26
- package/dist/views/week/WeekView.js.map +1 -1
- package/dist/views/year/YearView.js +12 -12
- package/dist/views/year/YearView.js.map +1 -1
- package/package.json +9 -8
- package/dist/binding/utils/date-strings.d.ts +0 -16
- package/dist/binding/utils/date-strings.d.ts.map +0 -1
- package/dist/binding/utils/date-strings.js +0 -30
- package/dist/binding/utils/date-strings.js.map +0 -1
- package/dist/binding/utils/gridUtils.d.ts +0 -6
- package/dist/binding/utils/gridUtils.d.ts.map +0 -1
- package/dist/binding/utils/gridUtils.js +0 -13
- package/dist/binding/utils/gridUtils.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { weekGrid, calendarWeekNumber, isSameDay, now, segmentAllDay, segmentTimed, layoutAllDay, layoutTimed, getHours, getMinutes, getDayOfMonth, } from '@bimetal/calendar-core';
|
|
3
|
+
import { weekGrid, calendarWeekNumber, isSameDay, now, segmentAllDay, segmentTimed, layoutAllDay, layoutTimed, getHours, getMinutes, getDayOfMonth, getRecurrenceInstanceMetadata, } from '@bimetal/calendar-core';
|
|
4
4
|
import { toDateStr, parseDateTimeStr } from '../../binding/index.js';
|
|
5
5
|
import { DEFAULT_HOUR_HEIGHT, DEFAULT_TIME_LABEL_WIDTH_WEEK, DEFAULT_SCROLL_HOUR, createClickIntent, timeGridHit } from '@bimetal/calendar-headless';
|
|
6
6
|
import { AllDayRowComponent } from './AllDayRow.js';
|
|
@@ -20,11 +20,11 @@ function WeekViewComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
20
20
|
const date_r2 = ctx.$implicit;
|
|
21
21
|
const i_r3 = ctx.index;
|
|
22
22
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
23
|
-
i0.ɵɵclassMap("
|
|
23
|
+
i0.ɵɵclassMap("bm-cal-week__day-header" + (ctx_r3.isTodayAt(i_r3) ? " bm-cal-week__day-header--today" : ""));
|
|
24
24
|
i0.ɵɵadvance(2);
|
|
25
25
|
i0.ɵɵtextInterpolate(ctx_r3.config.locale.dayNamesShort[i_r3]);
|
|
26
26
|
i0.ɵɵadvance();
|
|
27
|
-
i0.ɵɵclassMap("
|
|
27
|
+
i0.ɵɵclassMap("bm-cal-week__day-number" + (ctx_r3.isTodayAt(i_r3) ? " bm-cal-week__day-number--today" : ""));
|
|
28
28
|
i0.ɵɵadvance();
|
|
29
29
|
i0.ɵɵtextInterpolate1(" ", ctx_r3.getDayOfMonth(date_r2), " ");
|
|
30
30
|
} }
|
|
@@ -36,7 +36,7 @@ function WeekViewComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
36
36
|
} if (rf & 2) {
|
|
37
37
|
const h_r5 = ctx.$implicit;
|
|
38
38
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
39
|
-
i0.ɵɵclassMap("
|
|
39
|
+
i0.ɵɵclassMap("bm-cal-week__hour-row" + (ctx_r3.isOffHour(h_r5) ? " bm-cal__hour-slot--off" : ""));
|
|
40
40
|
i0.ɵɵstyleProp("top", h_r5 * ctx_r3.hourHeight, "px")("height", ctx_r3.hourHeight, "px");
|
|
41
41
|
i0.ɵɵadvance(2);
|
|
42
42
|
i0.ɵɵtextInterpolate(h_r5 > 0 ? i0.ɵɵpipeBind2(3, 7, h_r5, "2.0-0") + ":00" : "");
|
|
@@ -59,7 +59,7 @@ function WeekViewComponent_ng_container_12_Template(rf, ctx) { if (rf & 1) {
|
|
|
59
59
|
const entry_r8 = ctx.$implicit;
|
|
60
60
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
61
61
|
i0.ɵɵadvance();
|
|
62
|
-
i0.ɵɵproperty("event", entry_r8.event)("layout", entry_r8.layout)("dayDate", ctx_r3.weekDates[entry_r8.layout.dayCol])("hourHeight", ctx_r3.hourHeight)("timeLabelWidth", ctx_r3.timeLabelWidth)("ghost", (ctx_r3.previewEvent == null ? null : ctx_r3.previewEvent.id) === entry_r8.event.id)("clickThresholdMs", ctx_r3.config.clickThresholdMs)("locale", ctx_r3.config.locale)("snapMinutes", ctx_r3.config.core.granularity.day.minutes)("
|
|
62
|
+
i0.ɵɵproperty("event", entry_r8.event)("dayCol", entry_r8.layout.dayCol)("dayCount", entry_r8.layout.dayCount)("lane", entry_r8.layout.lane)("laneCount", entry_r8.layout.laneCount)("startOffset", entry_r8.layout.startOffset)("endOffset", entry_r8.layout.endOffset)("dayDate", ctx_r3.weekDates[entry_r8.layout.dayCol])("hourHeight", ctx_r3.hourHeight)("timeLabelWidth", ctx_r3.timeLabelWidth)("ghost", (ctx_r3.previewEvent == null ? null : ctx_r3.previewEvent.id) === entry_r8.event.id)("clickThresholdMs", ctx_r3.config.clickThresholdMs)("locale", ctx_r3.config.locale)("snapMinutes", ctx_r3.config.core.granularity.day.minutes)("isSelected", ctx_r3.isTimeSelected(entry_r8.event));
|
|
63
63
|
} }
|
|
64
64
|
function WeekViewComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
65
65
|
i0.ɵɵelementStart(0, "div", 17);
|
|
@@ -183,18 +183,23 @@ export class WeekViewComponent {
|
|
|
183
183
|
handleGridClick(e) {
|
|
184
184
|
if (!this.click.accept(this.config.clickThresholdMs))
|
|
185
185
|
return;
|
|
186
|
-
if (e.target.closest('.time-event'))
|
|
186
|
+
if (e.target.closest('.bm-cal-time-event'))
|
|
187
187
|
return;
|
|
188
188
|
// Single click on empty grid deselects; create-dialog moves to dblclick.
|
|
189
189
|
if (this.selectedEventId !== null)
|
|
190
190
|
this.clearSelection.emit();
|
|
191
191
|
}
|
|
192
|
+
// v0.30 Slice 3: per-leaf selection computed here, passed to TimeEvent as `isSelected`.
|
|
193
|
+
isTimeSelected(ev) {
|
|
194
|
+
return this.selectedEventId === ev.id
|
|
195
|
+
&& this.selectedInstanceDate === (getRecurrenceInstanceMetadata(ev)?.instanceDate);
|
|
196
|
+
}
|
|
192
197
|
handleGridDoubleClick(e) {
|
|
193
198
|
if (!this.click.accept(this.config.clickThresholdMs))
|
|
194
199
|
return;
|
|
195
200
|
if (!this.gridInnerEl)
|
|
196
201
|
return;
|
|
197
|
-
if (e.target.closest('.time-event'))
|
|
202
|
+
if (e.target.closest('.bm-cal-time-event'))
|
|
198
203
|
return;
|
|
199
204
|
const gridRect = this.gridInnerEl.nativeElement.getBoundingClientRect();
|
|
200
205
|
const hit = timeGridHit({ x: e.clientX, y: e.clientY }, gridRect, { labelWidth: DEFAULT_TIME_LABEL_WIDTH_WEEK, hourHeight: DEFAULT_HOUR_HEIGHT, snapMinutes: this.timeSnapMinutes });
|
|
@@ -212,7 +217,7 @@ export class WeekViewComponent {
|
|
|
212
217
|
let _t;
|
|
213
218
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.timeGridEl = _t.first);
|
|
214
219
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.gridInnerEl = _t.first);
|
|
215
|
-
} }, hostAttrs: [2, "display", "contents"], inputs: { currentDate: "currentDate", events: "events", config: "config", previewEvent: "previewEvent", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", clearSelection: "clearSelection", dayCellClick: "dayCellClick", dropEvent: "dropEvent", dropTimedEvent: "dropTimedEvent", dragOverDate: "dragOverDate", dragOverDateTime: "dragOverDateTime", hidePreviewEv: "hidePreviewEv", dragEnd: "dragEnd", dragStartEv: "dragStartEv" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 15, consts: [["timeGridEl", ""], ["gridInnerEl", ""], [1, "week
|
|
220
|
+
} }, hostAttrs: [2, "display", "contents"], inputs: { currentDate: "currentDate", events: "events", config: "config", previewEvent: "previewEvent", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", clearSelection: "clearSelection", dayCellClick: "dayCellClick", dropEvent: "dropEvent", dropTimedEvent: "dropTimedEvent", dragOverDate: "dragOverDate", dragOverDateTime: "dragOverDateTime", hidePreviewEv: "hidePreviewEv", dragEnd: "dragEnd", dragStartEv: "dragStartEv" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 15, consts: [["timeGridEl", ""], ["gridInnerEl", ""], [1, "bm-cal-week"], [1, "bm-cal-week__header"], [1, "bm-cal-week__corner"], [3, "class", 4, "ngFor", "ngForOf"], [3, "eventClick", "selectEvent", "dropEvent", "dragOver", "hidePreviewEv", "dragEnd", "dragStartEv", "weekDates", "items", "allDayLabel", "previewEvent", "selectedEventId", "selectedInstanceDate"], [1, "bm-cal-week__time-grid", 3, "dragover", "drop", "dragleave", "mousedown", "click", "dblclick"], [1, "bm-cal-week__time-grid-inner"], [3, "class", "top", "height", 4, "ngFor", "ngForOf"], ["class", "bm-cal-week__day-col", 3, "left", "width", 4, "ngFor", "ngForOf"], [4, "ngFor", "ngForOf"], ["class", "bm-cal-week__now-line", 3, "top", "left", "width", 4, "ngIf"], [1, "bm-cal-week__day-name"], [1, "bm-cal-week__hour-label"], [1, "bm-cal-week__day-col"], [3, "eventClick", "selectEvent", "dragStart", "dragEnd", "event", "dayCol", "dayCount", "lane", "laneCount", "startOffset", "endOffset", "dayDate", "hourHeight", "timeLabelWidth", "ghost", "clickThresholdMs", "locale", "snapMinutes", "isSelected"], [1, "bm-cal-week__now-line"], [1, "bm-cal-week__now-dot"]], template: function WeekViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
216
221
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
217
222
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4);
|
|
218
223
|
i0.ɵɵtext(3);
|
|
@@ -225,7 +230,7 @@ export class WeekViewComponent {
|
|
|
225
230
|
i0.ɵɵelementStart(6, "div", 7, 0);
|
|
226
231
|
i0.ɵɵlistener("dragover", function WeekViewComponent_Template_div_dragover_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleGridDragOver($event)); })("drop", function WeekViewComponent_Template_div_drop_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleGridDrop($event)); })("dragleave", function WeekViewComponent_Template_div_dragleave_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleGridDragLeave($event)); })("mousedown", function WeekViewComponent_Template_div_mousedown_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.click.markMouseDown()); })("click", function WeekViewComponent_Template_div_click_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleGridClick($event)); })("dblclick", function WeekViewComponent_Template_div_dblclick_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleGridDoubleClick($event)); });
|
|
227
232
|
i0.ɵɵelementStart(8, "div", 8, 1);
|
|
228
|
-
i0.ɵɵtemplate(10, WeekViewComponent_div_10_Template, 4, 10, "div", 9)(11, WeekViewComponent_div_11_Template, 1, 4, "div", 10)(12, WeekViewComponent_ng_container_12_Template, 2,
|
|
233
|
+
i0.ɵɵtemplate(10, WeekViewComponent_div_10_Template, 4, 10, "div", 9)(11, WeekViewComponent_div_11_Template, 1, 4, "div", 10)(12, WeekViewComponent_ng_container_12_Template, 2, 15, "ng-container", 11)(13, WeekViewComponent_div_13_Template, 2, 6, "div", 12);
|
|
229
234
|
i0.ɵɵelementEnd()()();
|
|
230
235
|
} if (rf & 2) {
|
|
231
236
|
i0.ɵɵadvance(3);
|
|
@@ -254,13 +259,13 @@ export class WeekViewComponent {
|
|
|
254
259
|
host: { style: 'display: contents' },
|
|
255
260
|
imports: [CommonModule, AllDayRowComponent, TimeEventComponent],
|
|
256
261
|
template: `
|
|
257
|
-
<div class="week
|
|
258
|
-
<div class="
|
|
259
|
-
<div class="
|
|
262
|
+
<div class="bm-cal-week">
|
|
263
|
+
<div class="bm-cal-week__header">
|
|
264
|
+
<div class="bm-cal-week__corner">{{ config.locale.calendarWeek }} {{ weekNumber }}</div>
|
|
260
265
|
<div *ngFor="let date of weekDates; let i = index"
|
|
261
|
-
[class]="'
|
|
262
|
-
<span class="
|
|
263
|
-
<span [class]="'
|
|
266
|
+
[class]="'bm-cal-week__day-header' + (isTodayAt(i) ? ' bm-cal-week__day-header--today' : '')">
|
|
267
|
+
<span class="bm-cal-week__day-name">{{ config.locale.dayNamesShort[i] }}</span>
|
|
268
|
+
<span [class]="'bm-cal-week__day-number' + (isTodayAt(i) ? ' bm-cal-week__day-number--today' : '')">
|
|
264
269
|
{{ getDayOfMonth(date) }}
|
|
265
270
|
</span>
|
|
266
271
|
</div>
|
|
@@ -281,33 +286,35 @@ export class WeekViewComponent {
|
|
|
281
286
|
(dragStartEv)="dragStartEv.emit($event)">
|
|
282
287
|
</cal-allday-row>
|
|
283
288
|
|
|
284
|
-
<div #timeGridEl class="
|
|
289
|
+
<div #timeGridEl class="bm-cal-week__time-grid"
|
|
285
290
|
(dragover)="handleGridDragOver($event)"
|
|
286
291
|
(drop)="handleGridDrop($event)"
|
|
287
292
|
(dragleave)="handleGridDragLeave($event)"
|
|
288
293
|
(mousedown)="click.markMouseDown()"
|
|
289
294
|
(click)="handleGridClick($event)"
|
|
290
295
|
(dblclick)="handleGridDoubleClick($event)">
|
|
291
|
-
<div #gridInnerEl class="
|
|
296
|
+
<div #gridInnerEl class="bm-cal-week__time-grid-inner" [style.height.px]="24 * hourHeight">
|
|
292
297
|
<div *ngFor="let h of hours"
|
|
293
|
-
[class]="'
|
|
298
|
+
[class]="'bm-cal-week__hour-row' + (isOffHour(h) ? ' bm-cal__hour-slot--off' : '')"
|
|
294
299
|
[style.top.px]="h * hourHeight" [style.height.px]="hourHeight">
|
|
295
|
-
<div class="
|
|
300
|
+
<div class="bm-cal-week__hour-label">{{ h > 0 ? (h | number:'2.0-0') + ':00' : '' }}</div>
|
|
296
301
|
</div>
|
|
297
302
|
|
|
298
|
-
<div *ngFor="let date of weekDates; let col = index" class="
|
|
303
|
+
<div *ngFor="let date of weekDates; let col = index" class="bm-cal-week__day-col"
|
|
299
304
|
[style.left]="dayColLeft(col)" [style.width]="dayColWidth">
|
|
300
305
|
</div>
|
|
301
306
|
|
|
302
307
|
<ng-container *ngFor="let entry of timedEntries">
|
|
303
308
|
<cal-time-event
|
|
304
|
-
[event]="entry.event"
|
|
309
|
+
[event]="entry.event"
|
|
310
|
+
[dayCol]="entry.layout.dayCol" [dayCount]="entry.layout.dayCount"
|
|
311
|
+
[lane]="entry.layout.lane" [laneCount]="entry.layout.laneCount"
|
|
312
|
+
[startOffset]="entry.layout.startOffset" [endOffset]="entry.layout.endOffset"
|
|
305
313
|
[dayDate]="weekDates[entry.layout.dayCol]" [hourHeight]="hourHeight"
|
|
306
314
|
[timeLabelWidth]="timeLabelWidth" [ghost]="previewEvent?.id === entry.event.id"
|
|
307
315
|
[clickThresholdMs]="config.clickThresholdMs" [locale]="config.locale"
|
|
308
316
|
[snapMinutes]="config.core.granularity.day.minutes"
|
|
309
|
-
[
|
|
310
|
-
[selectedInstanceDate]="selectedInstanceDate"
|
|
317
|
+
[isSelected]="isTimeSelected(entry.event)"
|
|
311
318
|
(eventClick)="eventClick.emit($event)"
|
|
312
319
|
(selectEvent)="selectEvent.emit($event)"
|
|
313
320
|
(dragStart)="dragStartEv.emit($event)"
|
|
@@ -315,10 +322,10 @@ export class WeekViewComponent {
|
|
|
315
322
|
</cal-time-event>
|
|
316
323
|
</ng-container>
|
|
317
324
|
|
|
318
|
-
<div *ngIf="nowCol >= 0" class="
|
|
325
|
+
<div *ngIf="nowCol >= 0" class="bm-cal-week__now-line"
|
|
319
326
|
[style.top.px]="nowHours * hourHeight"
|
|
320
327
|
[style.left]="dayColLeft(nowCol)" [style.width]="dayColWidth">
|
|
321
|
-
<div class="
|
|
328
|
+
<div class="bm-cal-week__now-dot"></div>
|
|
322
329
|
</div>
|
|
323
330
|
</div>
|
|
324
331
|
</div>
|
|
@@ -366,5 +373,5 @@ export class WeekViewComponent {
|
|
|
366
373
|
type: ViewChild,
|
|
367
374
|
args: ['gridInnerEl']
|
|
368
375
|
}] }); })();
|
|
369
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeekViewComponent, { className: "WeekViewComponent", filePath: "views/week/weekview.ts", lineNumber:
|
|
376
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeekViewComponent, { className: "WeekViewComponent", filePath: "views/week/weekview.ts", lineNumber: 96 }); })();
|
|
370
377
|
//# sourceMappingURL=WeekView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeekView.js","sourceRoot":"","sources":["../../../src/views/week/WeekView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAA4B,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,EAC5C,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EACtD,QAAQ,EAAE,UAAU,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"WeekView.js","sourceRoot":"","sources":["../../../src/views/week/WeekView.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,10 +94,10 @@ export class YearViewComponent {
|
|
|
94
94
|
const inMonth = getMonth(date) === month;
|
|
95
95
|
const isToday = isSameDay(date, this.today);
|
|
96
96
|
const hasEvents = this.eventDays.has(startOfDay(date).epochMs);
|
|
97
|
-
return 'year-month__day'
|
|
98
|
-
+ (inMonth ? '' : ' year-month__day--outside')
|
|
99
|
-
+ (isToday ? ' year-month__day--today' : '')
|
|
100
|
-
+ (hasEvents ? ' year-month__day--has-events' : '');
|
|
97
|
+
return 'bm-cal-year-month__day'
|
|
98
|
+
+ (inMonth ? '' : ' bm-cal-year-month__day--outside')
|
|
99
|
+
+ (isToday ? ' bm-cal-year-month__day--today' : '')
|
|
100
|
+
+ (hasEvents ? ' bm-cal-year-month__day--has-events' : '');
|
|
101
101
|
}
|
|
102
102
|
onDayClick(e, date) {
|
|
103
103
|
const rect = e.currentTarget.getBoundingClientRect();
|
|
@@ -107,7 +107,7 @@ export class YearViewComponent {
|
|
|
107
107
|
trackWeek(idx) { return idx; }
|
|
108
108
|
trackDay(_, d) { return d.epochMs; }
|
|
109
109
|
static ɵfac = function YearViewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || YearViewComponent)(); };
|
|
110
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: YearViewComponent, selectors: [["cal-year-view"]], inputs: { year: "year", events: "events", config: "config" }, outputs: { monthClick: "monthClick", dayCellClick: "dayCellClick" }, decls: 2, vars: 2, consts: [[1, "year
|
|
110
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: YearViewComponent, selectors: [["cal-year-view"]], inputs: { year: "year", events: "events", config: "config" }, outputs: { monthClick: "monthClick", dayCellClick: "dayCellClick" }, decls: 2, vars: 2, consts: [[1, "bm-cal-year"], ["class", "bm-cal-year-month", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-year-month"], ["type", "button", 1, "bm-cal-year-month__header", 3, "click"], [1, "bm-cal-year-month__day-headers"], ["class", "bm-cal-year-month__day-header", 4, "ngFor", "ngForOf"], [1, "bm-cal-year-month__days"], [4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "bm-cal-year-month__day-header"], ["type", "button", 3, "class", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["type", "button", 3, "click"], [1, "bm-cal-year-month__day-num"]], template: function YearViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
111
111
|
i0.ɵɵelementStart(0, "div", 0);
|
|
112
112
|
i0.ɵɵtemplate(1, YearViewComponent_div_1_Template, 7, 4, "div", 1);
|
|
113
113
|
i0.ɵɵelementEnd();
|
|
@@ -124,22 +124,22 @@ export class YearViewComponent {
|
|
|
124
124
|
imports: [CommonModule],
|
|
125
125
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
126
126
|
template: `
|
|
127
|
-
<div class="year
|
|
128
|
-
<div *ngFor="let mc of months; trackBy: trackMonth" class="year-month">
|
|
129
|
-
<button type="button" class="year-month__header"
|
|
127
|
+
<div class="bm-cal-year">
|
|
128
|
+
<div *ngFor="let mc of months; trackBy: trackMonth" class="bm-cal-year-month">
|
|
129
|
+
<button type="button" class="bm-cal-year-month__header"
|
|
130
130
|
(click)="monthClick.emit({ year, month: mc.month })">
|
|
131
131
|
{{ mc.label }}
|
|
132
132
|
</button>
|
|
133
|
-
<div class="year-month__day-headers">
|
|
134
|
-
<div *ngFor="let n of dayNames" class="year-month__day-header">{{ n[0] }}</div>
|
|
133
|
+
<div class="bm-cal-year-month__day-headers">
|
|
134
|
+
<div *ngFor="let n of dayNames" class="bm-cal-year-month__day-header">{{ n[0] }}</div>
|
|
135
135
|
</div>
|
|
136
|
-
<div class="year-month__days">
|
|
136
|
+
<div class="bm-cal-year-month__days">
|
|
137
137
|
<ng-container *ngFor="let week of mc.weeks; trackBy: trackWeek">
|
|
138
138
|
<button *ngFor="let date of week; trackBy: trackDay"
|
|
139
139
|
type="button"
|
|
140
140
|
[class]="dayClass(date, mc.month)"
|
|
141
141
|
(click)="onDayClick($event, date)">
|
|
142
|
-
<span class="year-month__day-num">{{ getDayOfMonth(date) }}</span>
|
|
142
|
+
<span class="bm-cal-year-month__day-num">{{ getDayOfMonth(date) }}</span>
|
|
143
143
|
</button>
|
|
144
144
|
</ng-container>
|
|
145
145
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearView.js","sourceRoot":"","sources":["../../../src/views/year/YearView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,GACxE,MAAM,wBAAwB,CAAC;;;;IAsBtB,
|
|
1
|
+
{"version":3,"file":"YearView.js","sourceRoot":"","sources":["../../../src/views/year/YearView.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bimetal/calendar-angular-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Angular calendar components — month, week, day, agenda views with drag & drop",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -24,13 +24,14 @@
|
|
|
24
24
|
"prepublishOnly": "npm run build"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@bimetal/angular": "^0.
|
|
28
|
-
"@bimetal/core": "^0.
|
|
29
|
-
"@bimetal/calendar-core": "^0.
|
|
30
|
-
"@bimetal/calendar-data": "^0.
|
|
31
|
-
"@bimetal/calendar-headless": "^0.
|
|
32
|
-
"@bimetal/
|
|
33
|
-
"@bimetal/calendar-
|
|
27
|
+
"@bimetal/angular": "^0.32.0",
|
|
28
|
+
"@bimetal/core": "^0.32.0",
|
|
29
|
+
"@bimetal/calendar-core": "^0.32.0",
|
|
30
|
+
"@bimetal/calendar-data": "^0.32.0",
|
|
31
|
+
"@bimetal/calendar-headless": "^0.32.0",
|
|
32
|
+
"@bimetal/a11y-dom": "^0.32.0",
|
|
33
|
+
"@bimetal/calendar-rules": "^0.32.0",
|
|
34
|
+
"@bimetal/calendar-themes": "^0.32.0"
|
|
34
35
|
},
|
|
35
36
|
"peerDependencies": {
|
|
36
37
|
"@angular/core": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { CalendarDateTime } from '@bimetal/core';
|
|
2
|
-
/** Convert CalendarDateTime to a date string "YYYY-MM-DD". */
|
|
3
|
-
export declare function toDateStr(dt: CalendarDateTime): string;
|
|
4
|
-
/** Convert CalendarDateTime to a time string "HH:MM". */
|
|
5
|
-
export declare function toTimeStr(dt: CalendarDateTime): string;
|
|
6
|
-
/**
|
|
7
|
-
* Parse a date string "YYYY-MM-DD" to CalendarDateTime (at midnight).
|
|
8
|
-
* Validation is delegated to createDateTime() — invalid dates throw CalendarValidationError.
|
|
9
|
-
*/
|
|
10
|
-
export declare function parseDateStr(dateStr: string, timezone?: string): CalendarDateTime;
|
|
11
|
-
/**
|
|
12
|
-
* Parse date + time strings into a single CalendarDateTime.
|
|
13
|
-
* Validation is delegated to createDateTime() — invalid values throw CalendarValidationError.
|
|
14
|
-
*/
|
|
15
|
-
export declare function parseDateTimeStr(dateStr: string, timeStr: string, timezone?: string): CalendarDateTime;
|
|
16
|
-
//# sourceMappingURL=date-strings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-strings.d.ts","sourceRoot":"","sources":["../../../src/binding/utils/date-strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAKtD;AAED,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAc,GAAG,gBAAgB,CAGxF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAc,GACvB,gBAAgB,CAIlB"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { getYear, getMonth, getDayOfMonth, getHours, getMinutes, createDateTime } from '@bimetal/core';
|
|
2
|
-
/** Convert CalendarDateTime to a date string "YYYY-MM-DD". */
|
|
3
|
-
export function toDateStr(dt) {
|
|
4
|
-
const y = getYear(dt);
|
|
5
|
-
const m = getMonth(dt) + 1;
|
|
6
|
-
const d = getDayOfMonth(dt);
|
|
7
|
-
return `${y}-${String(m).padStart(2, '0')}-${String(d).padStart(2, '0')}`;
|
|
8
|
-
}
|
|
9
|
-
/** Convert CalendarDateTime to a time string "HH:MM". */
|
|
10
|
-
export function toTimeStr(dt) {
|
|
11
|
-
return `${String(getHours(dt)).padStart(2, '0')}:${String(getMinutes(dt)).padStart(2, '0')}`;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Parse a date string "YYYY-MM-DD" to CalendarDateTime (at midnight).
|
|
15
|
-
* Validation is delegated to createDateTime() — invalid dates throw CalendarValidationError.
|
|
16
|
-
*/
|
|
17
|
-
export function parseDateStr(dateStr, timezone = 'UTC') {
|
|
18
|
-
const [y, m, d] = dateStr.split('-').map(Number);
|
|
19
|
-
return createDateTime(y, m - 1, d, 0, 0, timezone);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Parse date + time strings into a single CalendarDateTime.
|
|
23
|
-
* Validation is delegated to createDateTime() — invalid values throw CalendarValidationError.
|
|
24
|
-
*/
|
|
25
|
-
export function parseDateTimeStr(dateStr, timeStr, timezone = 'UTC') {
|
|
26
|
-
const [y, mo, d] = dateStr.split('-').map(Number);
|
|
27
|
-
const [h, mi] = timeStr.split(':').map(Number);
|
|
28
|
-
return createDateTime(y, mo - 1, d, h, mi, timezone);
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=date-strings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-strings.js","sourceRoot":"","sources":["../../../src/binding/utils/date-strings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvG,8DAA8D;AAC9D,MAAM,UAAU,SAAS,CAAC,EAAoB;IAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,SAAS,CAAC,EAAoB;IAC5C,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,WAAmB,KAAK;IACpE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,OAAe,EACf,WAAmB,KAAK;IAExB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Calculate which day column (0-6) the cursor is over,
|
|
3
|
-
* based on the mouse X position relative to a week-row element.
|
|
4
|
-
*/
|
|
5
|
-
export declare function getColFromX(clientX: number, rowEl: HTMLElement, colCount?: number): number;
|
|
6
|
-
//# sourceMappingURL=gridUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gridUtils.d.ts","sourceRoot":"","sources":["../../../src/binding/utils/gridUtils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,SAAI,GAAG,MAAM,CAMrF"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { WEEK_NUM_COL_WIDTH } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Calculate which day column (0-6) the cursor is over,
|
|
4
|
-
* based on the mouse X position relative to a week-row element.
|
|
5
|
-
*/
|
|
6
|
-
export function getColFromX(clientX, rowEl, colCount = 7) {
|
|
7
|
-
const rect = rowEl.getBoundingClientRect();
|
|
8
|
-
const x = clientX - rect.left - WEEK_NUM_COL_WIDTH;
|
|
9
|
-
const dayAreaWidth = rect.width - WEEK_NUM_COL_WIDTH;
|
|
10
|
-
const col = Math.floor((x / dayAreaWidth) * colCount);
|
|
11
|
-
return Math.max(0, Math.min(colCount - 1, col));
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=gridUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gridUtils.js","sourceRoot":"","sources":["../../../src/binding/utils/gridUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAkB,EAAE,QAAQ,GAAG,CAAC;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAC3C,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC"}
|