From fd1579191203c770f7c3b3dec53f8fdbeab3f971 Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Tue, 18 Oct 2022 18:39:17 +1100 Subject: Keep track of date ranges where server has no more results - In TimeLine.vue, separate idToEvent and idToPos, to avoid sending event-req while a previous one is still waiting on a server response - In histDate, add cmp() method --- src/lib.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/lib.ts') diff --git a/src/lib.ts b/src/lib.ts index b635d28..4edf2f8 100644 --- a/src/lib.ts +++ b/src/lib.ts @@ -89,6 +89,15 @@ export class HistDate { return Math.floor(this.year / scale) == Math.floor(other.year / scale); } } + cmp(other: HistDate, scale=DAY_SCALE){ + if (this.isEarlier(other)){ + return -1; + } else if (!this.equals(other)){ + return 1; + } else { + return 0; + } + } isEarlier(other: HistDate, scale=DAY_SCALE){ const yearlyScale = scale != DAY_SCALE && scale != MONTH_SCALE; const thisYear = yearlyScale ? Math.floor(this.year / scale) : this.year; @@ -324,13 +333,8 @@ export class HistEvent { } } export function cmpHistEvent(event: HistEvent, event2: HistEvent){ - if (event.start.isEarlier(event2.start)){ - return -1; - } else if (!event.start.equals(event2.start)){ - return 1; - } else { - return event.id - event2.id; - } + let cmp = event.start.cmp(event2.start); + return cmp != 0 ? cmp : event.id - event2.id;; } // For server requests -- cgit v1.2.3