All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
49 lines
1.1 KiB
CoffeeScript
49 lines
1.1 KiB
CoffeeScript
$ ->
|
|
# let us know when javascript is running.
|
|
console.log('Ready.')
|
|
|
|
lastColumn = null
|
|
ascending = true
|
|
|
|
tableHeaders = $('th')
|
|
tableHeaders.click (e) ->
|
|
column = $(this).index()
|
|
table = $(this).closest('table')
|
|
|
|
if column is lastColumn
|
|
ascending = not ascending
|
|
else
|
|
ascending = true
|
|
|
|
lastColumn = column
|
|
sortTable(table, column, ascending)
|
|
|
|
sortTable = (table, column, ascending) ->
|
|
rows = table.find('tbody tr').get()
|
|
|
|
compareFunction = (a, b) ->
|
|
res = a.cells[column].textContent.localeCompare b.cells[column].textContent
|
|
if ascending then res else -res
|
|
|
|
rows.sort compareFunction
|
|
$(rows).detach().appendTo(table.find('tbody'))
|
|
return
|
|
|
|
averageResults = (results, decimals = 2) ->
|
|
avgScore = 0
|
|
minScore = Infinity
|
|
maxScore = -Infinity
|
|
|
|
factor = (10 ^ decimals)
|
|
|
|
for result in results
|
|
avgScore += result.avg_score
|
|
minScore = Math.min(minScore, result.min_score)
|
|
maxScore = Math.max(maxScore, result.max_score)
|
|
|
|
return {
|
|
avgScore: Math.round((avgScore / results.length) * factor) / factor,
|
|
minScore: minScore,
|
|
maxScore: maxScore,
|
|
}
|