@@ -2,7 +2,6 @@ import { useTypedFetchFromServiceControl } from "@/composables/serviceServiceCon
2
2
import { acceptHMRUpdate, defineStore } from "pinia";
3
3
import { ref, watch } from "vue";
4
4
import useAutoRefresh from "@/composables/autoRefresh";
5
- //import { SortDirection, type GroupPropertyType } from "@/resources/SortOptions";
6
5
import type { SortInfo } from "@/components/SortInfo";
7
6
import Message from "@/resources/Message";
8
7
@@ -14,37 +13,35 @@ export enum ColumnNames {
14
13
ProcessingTime = "processingTime",
15
14
}
16
15
17
- // const columnSortings = new Map<string, (endpoint: Message) => GroupPropertyType>([
18
- // // [ColumnNames.Name, (endpoint) => endpoint.name],
19
- // // [ColumnNames.InstancesDown, (endpoint) => endpoint.alive_count - endpoint.down_count],
20
- // // [ColumnNames.InstancesTotal, (endpoint) => endpoint.alive_count + endpoint.down_count],
21
- // // [ColumnNames.LastHeartbeat, (endpoint) => moment.utc(endpoint.heartbeat_information?.last_report_at ?? "1975-01-01T00:00:00")],
22
- // // [ColumnNames.Tracked, (endpoint) => endpoint.track_instances],
23
- // // [ColumnNames.TrackToggle, (endpoint) => endpoint.track_instances],
24
- // ]);
16
+ const columnSortings = new Map<string, string>([
17
+ [ColumnNames.Status, "status"],
18
+ [ColumnNames.MessageId, "id"],
19
+ [ColumnNames.MessageType, "message_type"],
20
+ [ColumnNames.TimeSent, "time_sent"],
21
+ [ColumnNames.ProcessingTime, "processing_time"],
22
+ ]);
25
23
26
24
export const useAuditStore = defineStore("AuditStore", () => {
27
25
const sortByInstances = ref<SortInfo>({
28
- property: ColumnNames.MessageId ,
29
- isAscending: true ,
26
+ property: ColumnNames.TimeSent ,
27
+ isAscending: false ,
30
28
});
31
29
32
30
const messageFilterString = ref("");
33
31
const itemsPerPage = ref(20);
34
32
const selectedPage = ref(1);
35
33
const totalCount = ref(0);
36
34
const messages = ref<Message[]>([]);
37
- // const sortedMessages = computed<Message[]>(() =>
38
- // [...messages.value].sort(getSortFunction(columnSortings.get(sortByInstances.value.property), sortByInstances.value.isAscending ? SortDirection.Ascending : SortDirection.Descending))
39
- // );
40
35
// const filteredMessages = computed<Message[]>(() => sortedMessages.value.filter((message) => !messageFilterString.value || message.id.toLowerCase().includes(messageFilterString.value.toLowerCase())));
41
36
watch(messageFilterString, (newValue) => {
42
37
setMessageFilterString(newValue);
43
38
});
44
39
45
40
const dataRetriever = useAutoRefresh(async () => {
46
41
try {
47
- const [response, data] = await useTypedFetchFromServiceControl<Message[]>(`messages/?include_system_messages=false&per_page=${itemsPerPage.value}&page=${selectedPage.value}`);
42
+ const [response, data] = await useTypedFetchFromServiceControl<Message[]>(
43
+ `messages/?include_system_messages=false&per_page=${itemsPerPage.value}&page=${selectedPage.value}&sort=${columnSortings.get(sortByInstances.value.property)}&direction=${sortByInstances.value.isAscending ? "asc" : "desc"}`
44
+ );
48
45
totalCount.value = parseInt(response.headers.get("total-count") ?? "0");
49
46
messages.value = data;
50
47
} catch (e) {
@@ -56,6 +53,7 @@ export const useAuditStore = defineStore("AuditStore", () => {
56
53
const refresh = dataRetriever.executeAndResetTimer;
57
54
watch(itemsPerPage, () => refresh());
58
55
watch(selectedPage, () => refresh());
56
+ watch(sortByInstances, () => refresh());
59
57
60
58
function setMessageFilterString(filter: string) {
61
59
messageFilterString.value = filter;
0 commit comments