@@ -83,37 +83,60 @@ function navigateToMessage(message: Message) {
83
83
}
84
84
}
85
85
86
- let firstLoad = true ;
87
-
88
- onBeforeMount (async () => {
86
+ function setQuery() {
89
87
const query = router .currentRoute .value .query ;
90
88
91
89
watchHandle .pause ();
92
90
93
91
if (query .filter ) {
94
92
messageFilterString .value = query .filter as string ;
93
+ } else {
94
+ messageFilterString .value = " " ;
95
95
}
96
96
if (query .sortBy && query .sortDir ) {
97
97
sortBy .value = { isAscending: query .sortDir === " asc" , property: query .sortBy as string };
98
+ } else {
99
+ sortBy .value = { isAscending: false , property: " time_sent" };
98
100
}
99
101
if (query .pageSize ) {
100
- itemsPerPage .value = Number (query .pageSize as string );
102
+ itemsPerPage .value = parseInt (query .pageSize as string , 10 );
103
+ } else {
104
+ itemsPerPage .value = 100 ;
101
105
}
102
106
if (query .from && query .to ) {
103
107
dateRange .value = [new Date (query .from as string ), new Date (query .to as string )];
108
+ } else {
109
+ dateRange .value = [];
104
110
}
105
111
if (query .endpoint ) {
106
112
selectedEndpointName .value = query .endpoint as string ;
113
+ } else {
114
+ selectedEndpointName .value = " " ;
107
115
}
108
116
109
117
watchHandle .resume ();
118
+ }
119
+
120
+ let firstLoad = true ;
121
+
122
+ onBeforeMount (async () => {
123
+ setQuery ();
110
124
111
125
await Promise .all ([store .refresh (), store .loadEndpoints ()]);
112
126
113
127
firstLoad = false ;
114
128
});
115
129
116
- const watchHandle = watch ([itemsPerPage , sortBy , messageFilterString , selectedEndpointName , dateRange ], async () => {
130
+ watch (
131
+ () => router .currentRoute .value .query ,
132
+ async () => {
133
+ setQuery ();
134
+ await store .refresh ();
135
+ },
136
+ { deep: true }
137
+ );
138
+
139
+ const watchHandle = watch ([() => route .query , itemsPerPage , sortBy , messageFilterString , selectedEndpointName , dateRange ], async () => {
117
140
if (firstLoad ) {
118
141
return ;
119
142
}
@@ -124,6 +147,7 @@ const watchHandle = watch([itemsPerPage, sortBy, messageFilterString, selectedEn
124
147
from = dateRange .value [0 ].toISOString ();
125
148
to = dateRange .value [1 ].toISOString ();
126
149
}
150
+
127
151
await router .push ({
128
152
query: {
129
153
sortBy: sortBy .value .property ,
0 commit comments