mirror of
https://github.com/richard-loafle/fuse-angular.git
synced 2025-04-20 07:08:12 +00:00
75 lines
1.7 KiB
TypeScript
75 lines
1.7 KiB
TypeScript
import {
|
|
CalendarEventAction
|
|
} from 'angular-calendar';
|
|
|
|
import {
|
|
startOfDay,
|
|
endOfDay,
|
|
subDays,
|
|
addDays,
|
|
endOfMonth,
|
|
isSameDay,
|
|
isSameMonth,
|
|
addHours
|
|
} from 'date-fns';
|
|
// import { CalendarEvent } from 'calendar-utils/dist/calendar-utils';
|
|
|
|
/*
|
|
export interface EventAction
|
|
{
|
|
label: string;
|
|
cssClass?: string;
|
|
|
|
onClick({event}: {
|
|
event: CalendarEvent;
|
|
}): any;
|
|
}*/
|
|
|
|
export class CalendarEventModel
|
|
{
|
|
start: Date;
|
|
end?: Date;
|
|
title: string;
|
|
color: {
|
|
primary: string;
|
|
secondary: string;
|
|
};
|
|
actions?: CalendarEventAction[];
|
|
allDay?: boolean;
|
|
cssClass?: string;
|
|
resizable?: {
|
|
beforeStart?: boolean;
|
|
afterEnd?: boolean;
|
|
};
|
|
draggable?: boolean;
|
|
meta?: {
|
|
location: string,
|
|
notes: string
|
|
};
|
|
|
|
constructor(data?)
|
|
{
|
|
data = data || {};
|
|
this.start = new Date(data.start) || startOfDay(new Date());
|
|
this.end = new Date(data.end) || endOfDay(new Date());
|
|
this.title = data.title || '';
|
|
this.color = {
|
|
primary : data.color && data.color.primary || '#1e90ff',
|
|
secondary: data.color && data.color.secondary || '#D1E8FF'
|
|
};
|
|
this.draggable = data.draggable || true;
|
|
this.resizable = {
|
|
beforeStart: data.resizable && data.resizable.beforeStart || true,
|
|
afterEnd : data.resizable && data.resizable.afterEnd || true
|
|
};
|
|
this.actions = data.actions || [];
|
|
this.allDay = data.allDay || false;
|
|
this.cssClass = data.cssClass || '';
|
|
this.meta = {
|
|
location: data.meta && data.meta.location || '',
|
|
notes : data.meta && data.meta.notes || ''
|
|
};
|
|
}
|
|
|
|
}
|