aboutsummaryrefslogtreecommitdiff
path: root/src/models/EventInfo.ts
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2021-09-05 21:39:24 -0500
committerFurkan Sahin <furkan-dev@proton.me>2021-09-05 21:39:24 -0500
commitd0975a6e7ee57de4debda94e823011d813fbf4a1 (patch)
tree69d61bf6c29104434b9e3de4946e7d5dd549dec0 /src/models/EventInfo.ts
parentffef3a6be19d1139b6378c8119d444082dd0cbac (diff)
Initial rewrite in svelte
Diffstat (limited to 'src/models/EventInfo.ts')
-rw-r--r--src/models/EventInfo.ts79
1 files changed, 39 insertions, 40 deletions
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