@@ -225,7 +225,10 @@ function populateUIData(responseData: SelfProfileResponse, state: Selector) {
225
225
}
226
226
}
227
227
228
- function sortTable(columnName : string , defaultDirection : SortDirection ) {
228
+ function changeSortParameters(
229
+ columnName : string ,
230
+ defaultDirection : SortDirection
231
+ ) {
229
232
// Toggle direction if clicking the same column, otherwise use default direction
230
233
if (currentSortColumn .value === columnName ) {
231
234
currentSortDirection .value =
@@ -239,13 +242,15 @@ function sortTable(columnName: string, defaultDirection: SortDirection) {
239
242
storeSortToUrl ();
240
243
}
241
244
242
- function getSortAttributes(columnName : string ) {
243
- if (currentSortColumn .value === columnName ) {
244
- return {
245
- " data-sorted-by" : currentSortDirection .value ,
246
- };
245
+ function getHeaderClass(columnName : string ): string {
246
+ if (columnName === currentSortColumn .value ) {
247
+ if (currentSortDirection .value === " asc" ) {
248
+ return " header-sort-asc" ;
249
+ } else {
250
+ return " header-sort-desc" ;
251
+ }
247
252
}
248
- return {} ;
253
+ return " header-sort " ;
249
254
}
250
255
251
256
function DeltaComponent({delta }: {delta: DeltaData | null }) {
@@ -316,15 +321,15 @@ loadData();
316
321
<a :href =" downloadLinksData.baseLinks.crox" >crox</a >,
317
322
<a :href =" downloadLinksData.baseLinks.codegen" >codegen-schedule</a >
318
323
(<a
319
- href =" #"
320
- @click.prevent ="
324
+ href =" #"
325
+ @click.prevent ="
321
326
handlePerfettoClick(
322
327
downloadLinksData.baseLinks.perfetto.link,
323
328
downloadLinksData.baseLinks.perfetto.traceTitle
324
329
)
325
330
"
326
- >Perfetto</a
327
- >,
331
+ >Perfetto</a
332
+ >,
328
333
<a :href =" downloadLinksData.baseLinks.firefox" >Firefox profiler</a >)
329
334
results for {{ selector?.base_commit?.substring(0, 10) }} (base
330
335
commit)
@@ -337,15 +342,15 @@ loadData();
337
342
<a :href =" downloadLinksData.newLinks.crox" >crox</a >,
338
343
<a :href =" downloadLinksData.newLinks.codegen" >codegen-schedule</a >
339
344
(<a
340
- href =" #"
341
- @click.prevent ="
345
+ href =" #"
346
+ @click.prevent ="
342
347
handlePerfettoClick(
343
348
downloadLinksData.newLinks.perfetto.link,
344
349
downloadLinksData.newLinks.perfetto.traceTitle
345
350
)
346
351
"
347
- >Perfetto</a
348
- >, <a :href =" downloadLinksData.newLinks.firefox" >Firefox profiler</a >)
352
+ >Perfetto</a
353
+ >, <a :href =" downloadLinksData.newLinks.firefox" >Firefox profiler</a >)
349
354
results for {{ selector?.commit?.substring(0, 10) }} (new commit)
350
355
351
356
<template v-if =" downloadLinksData .diffLink " >
@@ -397,85 +402,75 @@ loadData();
397
402
<table :class =" {'hide-incr': !showIncr, 'hide-delta': !showDelta}" >
398
403
<thead >
399
404
<tr id =" table-header" >
400
- <th
401
- v-bind =" getSortAttributes('label')"
402
- data-sort-column =" label"
403
- data-default-sort-dir =" 1"
404
- >
405
- <a href =" #" @click.prevent =" sortTable('label', 1)"
406
- <a href =" #" @click.prevent =" sortTable('label', 'asc')"
405
+ <th :class =" getHeaderClass('label')" >
406
+ <a href =" #" @click.prevent =" changeSortParameters('label', 'asc')"
407
407
>Query/Function</a
408
408
>
409
409
</th >
410
- <th
411
- v-bind =" getSortAttributes('timePercent')"
412
- data-sort-column =" timePercent"
413
- data-default-sort-dir =" -1"
414
- >
415
- <a href =" #" @click.prevent =" sortTable('timePercent', 'desc')"
410
+ <th :class =" getHeaderClass('timePercent')" >
411
+ <a
412
+ href =" #"
413
+ @click.prevent =" changeSortParameters('timePercent', 'desc')"
416
414
>Time (%)</a
417
415
>
418
416
</th >
419
- <th
420
- v-bind =" getSortAttributes('timeSeconds')"
421
- data-sort-column =" timeSeconds"
422
- data-default-sort-dir =" -1"
423
- >
424
- <a href =" #" @click.prevent =" sortTable('timeSeconds', 'desc')"
417
+ <th :class =" getHeaderClass('timeSeconds')" >
418
+ <a
419
+ href =" #"
420
+ @click.prevent =" changeSortParameters('timeSeconds', 'desc')"
425
421
>Time (s)</a
426
422
>
427
423
</th >
428
- <th
429
- v-bind =" getSortAttributes('timeDelta')"
430
- class =" delta"
431
- data-sort-column =" timeDelta"
432
- data-default-sort-dir =" -1"
433
- >
434
- <a href =" #" @click.prevent =" sortTable('timeDelta', 'desc')"
424
+ <th :class =" {[getHeaderClass('timeDelta')]: true, delta: true}" >
425
+ <a
426
+ href =" #"
427
+ @click.prevent =" changeSortParameters('timeDelta', 'desc')"
435
428
>Time delta</a
436
429
>
437
430
</th >
438
- <th
439
- v-bind =" getSortAttributes('executions')"
440
- data-sort-column =" executions"
441
- data-default-sort-dir =" -1"
442
- >
443
- <a href =" #" @click.prevent =" sortTable('executions', 'desc')"
431
+ <th :class =" getHeaderClass('executions')" >
432
+ <a
433
+ href =" #"
434
+ @click.prevent =" changeSortParameters('executions', 'desc')"
444
435
>Executions</a
445
436
>
446
437
</th >
447
438
<th
448
- v-bind =" getSortAttributes('executionsDelta')"
449
- class =" delta"
450
- data-sort-column =" executionsDelta"
451
- data-default-sort-dir =" -1"
439
+ :class =" {[getHeaderClass('executionsDelta')]: true, delta: true}"
452
440
>
453
- <a href =" #" @click.prevent =" sortTable('executionsDelta', 'desc')"
441
+ <a
442
+ href =" #"
443
+ @click.prevent =" changeSortParameters('executionsDelta', 'desc')"
454
444
>Executions delta</a
455
445
>
456
446
</th >
457
447
<th
458
- v-bind = " getSortAttributes('incrementalLoading') "
459
- class = " incr "
460
- data-sort-column = " incrementalLoading "
461
- data-default-sort-dir = " -1 "
448
+ :class = " {
449
+ [getHeaderClass('incrementalLoading')]: true,
450
+ incr: true,
451
+ } "
462
452
title =" Incremental loading time"
463
453
>
464
454
<a
465
455
href =" #"
466
- @click.prevent =" sortTable('incrementalLoading', 'desc')"
456
+ @click.prevent ="
457
+ changeSortParameters('incrementalLoading', 'desc')
458
+ "
467
459
>Incremental loading (s)</a
468
460
>
469
461
</th >
470
462
<th
471
- v-bind =" getSortAttributes('incrementalLoadingDelta')"
472
- class =" incr delta"
473
- data-sort-column =" incrementalLoadingDelta"
474
- data-default-sort-dir =" -1"
463
+ :class =" {
464
+ [getHeaderClass('incrementalLoadingDelta')]: true,
465
+ incr: true,
466
+ delta: true,
467
+ }"
475
468
>
476
469
<a
477
470
href =" #"
478
- @click.prevent =" sortTable('incrementalLoadingDelta', 'desc')"
471
+ @click.prevent ="
472
+ changeSortParameters('incrementalLoadingDelta', 'desc')
473
+ "
479
474
>Incremental loading delta</a
480
475
>
481
476
</th >
@@ -573,15 +568,15 @@ thead th {
573
568
border-bottom : 1px solid black ;
574
569
}
575
570
576
- [ data -sort-column ] ::after {
571
+ .header -sort::after {
577
572
content : " ⇕" ;
578
573
}
579
574
580
- [ data-sorted-by = " desc" ] ::after {
575
+ .header-sort- desc::after {
581
576
content : " ▼" ;
582
577
}
583
578
584
- [ data-sorted-by = " asc" ] ::after {
579
+ .header-sort- asc::after {
585
580
content : " ▲" ;
586
581
}
587
582
0 commit comments