我觉得这有点远,但我还是会问。
我有一个显示angular-calendar day-view-scheduler的组件。我使用它来显示任何给定日期的视图以及在该特定日期安排的事件。我得到的要求之一是将此日视图调度程序应用于周视图,以便它显示本周正在发生的事情的更高级别的视图。我修改了周视图以显示日视图调度程序组件,而不是像通常那样显示单个列。
除了能够将事件从一天拖放到另一天之外,我可以根据需要进行这项工作。当我尝试将它们拖过日期边界时,这些事件不会跟随光标,它们基本上卡在日期列中,这让我感到困惑和不走运。
以下是与本周视图组件关联的 html 代码:
<div class="cal-week-view" role="grid">
<mwl-calendar-week-view-header
[days]="days"
[locale]="locale"
[customTemplate]="headerTemplate"
(dayHeaderClicked)="dayHeaderClicked.emit($event)"
(eventDropped)="eventDropped({ dropData: $event }, $event.newStart, true)"
(dragEnter)="dateDragEnter($event.date)">
</mwl-calendar-week-view-header>
<div class="cal-time-events" mwlDroppable (dragEnter)="dragEnter('time')" (dragLeave)="dragLeave('time')">
<div *ngIf="view.hourColumns.length > 0 && daysInWeek !== 1" class="cal-time-label-column">
<div *ngFor="let hour of view.hourColumns[0].hours; trackBy: trackByHour; let odd = odd" class="cal-hour" [class.cal-hour-odd]="odd">
<mwl-calendar-week-view-hour-segment
*ngFor="let segment of hour.segments; trackBy: trackByHourSegment"
[style.height.px]="hourSegmentHeight"
[segment]="segment"
[segmentHeight]="hourSegmentHeight"
[locale]="locale"
[customTemplate]="hourSegmentTemplate"
[isTimeLabel]="true"
[daysInWeek]="daysInWeek">
</mwl-calendar-week-view-hour-segment>
</div>
</div>
<div #dayColumns class="cal-day-columns" [class.cal-resize-active]="timeEventResizes.size > 0">
<div *ngFor="let column of view.hourColumns; trackBy: trackByHourColumn" class="cal-day-column">
<mwl-day-view-scheduler
[viewDate]="column.date"
[events]="events"
[users]="users"
[showHours]="false"
[dayStartHour]="8"
[dayEndHour]="17"
[hourSegments]="hourSegments"
[templateMode]="templateMode"
[eventTemplate]="customTemplate"
[hourSegmentHeight]="25"
(eventTimesChanged)="eventChanged($event)"
(userChanged)="resourceChanged($event)"
(clipboardEventDropped)="eventChanged($event)">
</mwl-day-view-scheduler>
</div>
</div>
<ng-template #customTemplate let-event="weekEvent">
<app-appointment-formatter [event]="event"></app-appointment-formatter>
</ng-template>
</div>
</div>
我的猜测是与 mwlDroppable 相关的某种限制器或边界,我只是不确定如何删除它。任何输入或见解将不胜感激。