我使用 Angular-calendar-scheduler 来创建包含我的事件的日历视图。
首先,我将其添加到我的 core.module 中并将语言环境设置为 en 和 en_US。
registerLocaleData(localeEn);
export function momentAdapterFactory() {
return adapterFactory(moment);
};
@NgModule({
imports: [
CommonModule,
MaskitoDirective,
IonicModule.forRoot(),
NgToastModule,
CalendarModule.forRoot({ provide: DateAdapter, useFactory: momentAdapterFactory }),
SchedulerModule.forRoot({ locale: 'en', headerDateFormat: 'daysRange' }),
],
declarations: [
SimpleNotifyComponent,
FormNotifyComponent,
ConfirmationNotifyComponent,
],
providers: [
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
{ provide: ErrorHandler, useClass: ErrorHandlerService },
{ provide: LOCALE_ID, useValue: 'en-US' },
{ provide: MOMENT, useValue: moment }
],
exports: [IonicModule, NgToastModule, MaskitoDirective, CalendarModule, SchedulerModule],
})
export class LibrariesCoreUtilsModule {}
这是视图(角度日历调度程序的实例):
<div [ngSwitch]="view">
<calendar-scheduler-view
*ngSwitchCase="CalendarView.Week"
[viewDate]="viewDate"
[events]="myEventsInput"
[locale]="locale"
[viewDays]="viewDays"
[weekStartsOn]="weekStartsOn"
[excludeDays]="excludeDays"
[startsWithToday]="startsWithToday"
[hourSegments]="hourSegments"
[dayStartHour]="dayStartHour"
[dayEndHour]="dayEndHour"
[dayModifier]="dayModifier"
[hourModifier]="hourModifier"
[segmentModifier]="segmentModifier"
[eventModifier]="eventModifier"
[showEventActions]="true"
[showSegmentHour]="false"
[zoomEventOnHover]="true"
(dayHeaderClicked)="dayHeaderClicked($event.day)"
(hourClicked)="hourClicked($event.hour)"
(segmentClicked)="segmentClicked('Clicked', $event.segment)"
(eventClicked)="eventClicked('Clicked', $event.event)"
(eventTimesChanged)="eventTimesChanged($event)"
[refresh]="refresh"
>
</calendar-scheduler-view>
</div>
最后是填充它的道具:
@Input() myEventsInput: CalendarSchedulerEvent[] = [];
title = 'Angular Calendar Scheduler Demo';
CalendarView = CalendarView;
view: CalendarView = CalendarView.Week;
viewDate: Date = new Date();
viewDays: number = DAYS_IN_WEEK;
refresh: Subject<any> = new Subject();
locale = 'pt-BR';
hourSegments: 1 | 2 | 4 | 6 = 4;
weekStartsOn = 1;
startsWithToday = true;
activeDayIsOpen = true;
excludeDays: number[] = []; // [0];
weekendDays: number[] = [0, 6];
dayStartHour = 6;
dayEndHour = 22;
minDate: Date = new Date();
maxDate: Date = endOfDay(addMonths(new Date(), 1));
dayModifier!: Function;
hourModifier!: Function;
segmentModifier: Function;
eventModifier: Function;
prevBtnDisabled = false;
nextBtnDisabled = false;
在我发现它可以工作的所有示例中,都使用相同的代码。但是当我运行它时,值显示如下:
我也需要看会议记录。
6:00 6:15 6:30 6:45 ...
您可能需要更改时间段
#来自 小时段: 1 | 2 | 4 | 6 = 4;
#致 小时段:数字 = 4;