@@ -225,7 +225,10 @@ function populateUIData(responseData: SelfProfileResponse, state: Selector) {
225225 }
226226}
227227
228- function sortTable(columnName : string , defaultDirection : SortDirection ) {
228+ function changeSortParameters(
229+ columnName : string ,
230+ defaultDirection : SortDirection
231+ ) {
229232 // Toggle direction if clicking the same column, otherwise use default direction
230233 if (currentSortColumn .value === columnName ) {
231234 currentSortDirection .value =
@@ -239,13 +242,15 @@ function sortTable(columnName: string, defaultDirection: SortDirection) {
239242 storeSortToUrl ();
240243}
241244
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+ }
247252 }
248- return {} ;
253+ return " header-sort " ;
249254}
250255
251256function DeltaComponent({delta }: {delta: DeltaData | null }) {
@@ -316,15 +321,15 @@ loadData();
316321 <a :href =" downloadLinksData.baseLinks.crox" >crox</a >,
317322 <a :href =" downloadLinksData.baseLinks.codegen" >codegen-schedule</a >
318323 (<a
319- href =" #"
320- @click.prevent ="
324+ href =" #"
325+ @click.prevent ="
321326 handlePerfettoClick(
322327 downloadLinksData.baseLinks.perfetto.link,
323328 downloadLinksData.baseLinks.perfetto.traceTitle
324329 )
325330 "
326- >Perfetto</a
327- >,
331+ >Perfetto</a
332+ >,
328333 <a :href =" downloadLinksData.baseLinks.firefox" >Firefox profiler</a >)
329334 results for {{ selector?.base_commit?.substring(0, 10) }} (base
330335 commit)
@@ -337,15 +342,15 @@ loadData();
337342 <a :href =" downloadLinksData.newLinks.crox" >crox</a >,
338343 <a :href =" downloadLinksData.newLinks.codegen" >codegen-schedule</a >
339344 (<a
340- href =" #"
341- @click.prevent ="
345+ href =" #"
346+ @click.prevent ="
342347 handlePerfettoClick(
343348 downloadLinksData.newLinks.perfetto.link,
344349 downloadLinksData.newLinks.perfetto.traceTitle
345350 )
346351 "
347- >Perfetto</a
348- >, <a :href =" downloadLinksData.newLinks.firefox" >Firefox profiler</a >)
352+ >Perfetto</a
353+ >, <a :href =" downloadLinksData.newLinks.firefox" >Firefox profiler</a >)
349354 results for {{ selector?.commit?.substring(0, 10) }} (new commit)
350355
351356 <template v-if =" downloadLinksData .diffLink " >
@@ -397,85 +402,75 @@ loadData();
397402 <table :class =" {'hide-incr': !showIncr, 'hide-delta': !showDelta}" >
398403 <thead >
399404 <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')"
407407 >Query/Function</a
408408 >
409409 </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')"
416414 >Time (%)</a
417415 >
418416 </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')"
425421 >Time (s)</a
426422 >
427423 </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')"
435428 >Time delta</a
436429 >
437430 </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')"
444435 >Executions</a
445436 >
446437 </th >
447438 <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}"
452440 >
453- <a href =" #" @click.prevent =" sortTable('executionsDelta', 'desc')"
441+ <a
442+ href =" #"
443+ @click.prevent =" changeSortParameters('executionsDelta', 'desc')"
454444 >Executions delta</a
455445 >
456446 </th >
457447 <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+ } "
462452 title =" Incremental loading time"
463453 >
464454 <a
465455 href =" #"
466- @click.prevent =" sortTable('incrementalLoading', 'desc')"
456+ @click.prevent ="
457+ changeSortParameters('incrementalLoading', 'desc')
458+ "
467459 >Incremental loading (s)</a
468460 >
469461 </th >
470462 <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+ }"
475468 >
476469 <a
477470 href =" #"
478- @click.prevent =" sortTable('incrementalLoadingDelta', 'desc')"
471+ @click.prevent ="
472+ changeSortParameters('incrementalLoadingDelta', 'desc')
473+ "
479474 >Incremental loading delta</a
480475 >
481476 </th >
@@ -573,15 +568,15 @@ thead th {
573568 border-bottom : 1px solid black ;
574569}
575570
576- [ data -sort-column ] ::after {
571+ .header -sort::after {
577572 content : " ⇕" ;
578573}
579574
580- [ data-sorted-by = " desc" ] ::after {
575+ .header-sort- desc::after {
581576 content : " ▼" ;
582577}
583578
584- [ data-sorted-by = " asc" ] ::after {
579+ .header-sort- asc::after {
585580 content : " ▲" ;
586581}
587582
0 commit comments