From d0975a6e7ee57de4debda94e823011d813fbf4a1 Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Sun, 5 Sep 2021 21:39:24 -0500 Subject: Initial rewrite in svelte --- src/models/EventInfo.ts | 79 ++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 40 deletions(-) (limited to 'src/models/EventInfo.ts') diff --git a/src/models/EventInfo.ts b/src/models/EventInfo.ts index 962ec70..d20682c 100644 --- a/src/models/EventInfo.ts +++ b/src/models/EventInfo.ts @@ -1,46 +1,45 @@ export default class EventInfo { - days: string; - - start: number; - - end: number; - - constructor(days: string = '', start = 0, end = 0) { - this.days = days; - this.start = start; - this.end = end; - } - - static timeToStr(time: number) { - let hour = Math.floor(time / 100); - const minute = time % 100; - const meridiem = (hour < 12) ? 'AM' : 'PM'; - - if (hour === 0) { - hour = 12; - } else if (hour > 12) { - hour -= 12; - } - - if (minute < 10) { - return `${hour}:0${minute} ${meridiem}`; + days: string; + start: number; + end: number; + + constructor(days: string, start: number | string, end: number | string) { + if (typeof start === "string") { + start = parseInt(start, 10); + } + if (typeof end === "string") { + end = parseInt(end, 10); + } + + this.days = days; + this.start = start; + this.end = end; } - return `${hour}:${minute} ${meridiem}`; - } - - conflictsWith(event: EventInfo) { - const daysConflict = event.days.match(new RegExp(`[${this.days}]`)); - if (daysConflict) { - return (this.start <= event.end) && (event.start <= this.end); + static timeToStr(time: number) { + let hour = Math.floor(time / 100); + const minute = time % 100; + const meridiem = (hour < 12) ? 'AM' : 'PM'; + + if (hour === 0) { + hour = 12; + } else if (hour > 12) { + hour -= 12; + } + + if (minute < 10) { + return `${hour}:0${minute} ${meridiem}`; + } + return `${hour}:${minute} ${meridiem}`; } - return false; - } - get info() { - if (this.days === '') { - return 'WEB'; + get info() { + if(this.days === "") { + return `WEB`; + }else if(this.start === -1 || this.end === -1) { + return `${this.days}`; + } else { + return `${this.days} ${EventInfo.timeToStr(this.start)}-${EventInfo.timeToStr(this.end)}`; + } } - return `${this.days} ${EventInfo.timeToStr(this.start)}-${EventInfo.timeToStr(this.end)}`; - } -} +} \ No newline at end of file -- cgit v1.2.3