ovdashboard/ui/src/components/calendar/EventModel.ts

30 lines
719 B
TypeScript
Raw Normal View History

2022-09-15 19:32:05 +00:00
import { Model } from "@/components/Model";
2022-09-15 13:28:49 +00:00
import { DateTime, Duration } from "luxon";
export type EventData = {
summary: string;
description: string;
dtstart: string;
dtend: string;
};
export class EventModel extends Model {
public summary: string;
public description: string;
public start: DateTime;
public duration: Duration;
public constructor(json_data: EventData) {
super();
this.summary = json_data.summary;
this.description = json_data.description;
2023-10-26 22:28:59 +00:00
this.start = DateTime.fromISO(json_data.dtstart).setLocale(
navigator.language,
);
const end = DateTime.fromISO(json_data.dtend).setLocale(navigator.language);
2022-09-15 13:28:49 +00:00
this.duration = end.diff(this.start);
}
2023-10-26 22:28:59 +00:00
}