From 8e4c8b8143c2d939a46e96fd8bd197f480390b67 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 28 Feb 2024 14:01:42 +0530 Subject: [PATCH] fix: sort activities in creation order --- frontend/src/components/Activities.vue | 28 +++++++++++--------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/frontend/src/components/Activities.vue b/frontend/src/components/Activities.vue index be69f1ef..3721395b 100644 --- a/frontend/src/components/Activities.vue +++ b/frontend/src/components/Activities.vue @@ -847,9 +847,7 @@ function get_activities() { if (!all_activities.data?.versions) return [] if (!all_activities.data?.calls.length) return all_activities.data.versions || [] - return [...all_activities.data.versions, ...all_activities.data.calls].sort( - (a, b) => new Date(a.creation) - new Date(b.creation) - ) + return [...all_activities.data.versions, ...all_activities.data.calls] } const activities = computed(() => { @@ -858,24 +856,18 @@ const activities = computed(() => { activities = get_activities() } else if (props.title == 'Emails') { if (!all_activities.data?.versions) return [] - activities = all_activities.data.versions - .filter((activity) => activity.activity_type === 'communication') - .sort((a, b) => new Date(a.creation) - new Date(b.creation)) + activities = all_activities.data.versions.filter( + (activity) => activity.activity_type === 'communication' + ) } else if (props.title == 'Calls') { if (!all_activities.data?.calls) return [] - return all_activities.data.calls.sort( - (a, b) => new Date(a.creation) - new Date(b.creation) - ) + return sortByCreation(all_activities.data.calls) } else if (props.title == 'Tasks') { if (!all_activities.data?.tasks) return [] - return all_activities.data.tasks.sort( - (a, b) => new Date(a.creation) - new Date(b.creation) - ) + return sortByCreation(all_activities.data.tasks) } else if (props.title == 'Notes') { if (!all_activities.data?.notes) return [] - return all_activities.data.notes.sort( - (a, b) => new Date(a.creation) - new Date(b.creation) - ) + return sortByCreation(all_activities.data.notes) } activities.forEach((activity) => { activity.icon = timelineIcon(activity.activity_type, activity.is_lead) @@ -896,9 +888,13 @@ const activities = computed(() => { }) } }) - return activities + return sortByCreation(activities) }) +function sortByCreation(list) { + return list.sort((a, b) => new Date(a.creation) - new Date(b.creation)) +} + function update_activities_details(activity) { activity.owner_name = getUser(activity.owner).full_name activity.type = ''