Skip to content

Commit 295165b

Browse files
committed
Use strong typing for column names
1 parent 02ead2a commit 295165b

File tree

1 file changed

+6
-5
lines changed
  • site/frontend/src/pages/detailed-query

1 file changed

+6
-5
lines changed

site/frontend/src/pages/detailed-query/page.vue

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@ const showIncr = ref(true);
2121
const showDelta = ref(true);
2222
2323
type SortDirection = "asc" | "desc";
24+
type ColumnName = keyof TableRowData;
2425
2526
// Client-side sorting state
26-
const currentSortColumn = ref<string>("timeSeconds");
27+
const currentSortColumn = ref<ColumnName>("timeSeconds");
2728
const currentSortDirection = ref<SortDirection>("desc");
2829
2930
// Computed properties for UI data
@@ -173,10 +174,10 @@ function loadSortFromUrl(urlParams: Dict<string>) {
173174
const sort = urlParams["sort"] ?? "-timeSeconds"; // Default to descending timeSeconds
174175
// Handle sort format: either "columnName" for asc or "-columnName" for desc
175176
if (sort.startsWith("-")) {
176-
currentSortColumn.value = sort.substring(1);
177+
currentSortColumn.value = sort.substring(1) as ColumnName;
177178
currentSortDirection.value = "desc";
178179
} else {
179-
currentSortColumn.value = sort;
180+
currentSortColumn.value = sort as ColumnName;
180181
currentSortDirection.value = "asc";
181182
}
182183
}
@@ -223,7 +224,7 @@ function populateUIData(responseData: SelfProfileResponse, state: Selector) {
223224
}
224225
225226
function changeSortParameters(
226-
columnName: string,
227+
columnName: ColumnName,
227228
defaultDirection: SortDirection
228229
) {
229230
// Toggle direction if clicking the same column, otherwise use default direction
@@ -239,7 +240,7 @@ function changeSortParameters(
239240
storeSortToUrl();
240241
}
241242
242-
function getHeaderClass(columnName: string): string {
243+
function getHeaderClass(columnName: keyof TableRowData): string {
243244
if (columnName === currentSortColumn.value) {
244245
if (currentSortDirection.value === "asc") {
245246
return "header-sort-asc";

0 commit comments

Comments
 (0)