49 lines
1.6 KiB
CoffeeScript
49 lines
1.6 KiB
CoffeeScript
$ ->
|
|
console.log('ready.')
|
|
|
|
$('#result-form').on('submit', addResult)
|
|
|
|
$('#report-benchmarks').on('change', ->
|
|
url = '/api/benchmark/' + $('#report-benchmarks').val() + '/tests'
|
|
$.get(url, (data) ->
|
|
# clear old contents from the selector
|
|
$('#report-tests').empty()
|
|
# add new elements to the selector
|
|
addOption(test) for test in data
|
|
)
|
|
)
|
|
|
|
addOption = (test) ->
|
|
$('#report-tests').append(
|
|
$('<option/>')
|
|
.attr('value', test.id)
|
|
.text(test.title)
|
|
)
|
|
|
|
addResult = (e) ->
|
|
e.preventDefault() # prevent browser from traveling to another page
|
|
|
|
$.post('/result/add', {
|
|
redirect: false
|
|
result_test: $('#result_test').val()
|
|
result_component: $('#result_component').val()
|
|
result_benchmark: $('#result_benchmark').val()
|
|
result_avg: $('#result_avg').val()
|
|
result_min: $('#result_min').val()
|
|
result_max: $('#result_max').val()
|
|
}, (data) ->
|
|
dataRow = $('tr[data-benchmark=' + $('#result_benchmark').val() + ']')
|
|
numResultsElem = dataRow.children('[data-result-count]').eq(0)
|
|
numResults = numResultsElem.text()
|
|
avgElem = dataRow.children('[data-result-avg]').eq(0)
|
|
avgElem.text(((avgElem.text() * numResults) + $('#result_avg').val()) / (numResults + 1))
|
|
|
|
minElem = dataRow.children('[data-result-min]').eq(0)
|
|
minElem.text(((minElem.text() * numResults) + $('#result_min').val()) / (numResults + 1))
|
|
|
|
maxElem = dataRow.children('[data-result-max]').eq(0)
|
|
maxElem.text(((maxElem.text() * numResults) + $('#result_max').val()) / (numResults + 1))
|
|
|
|
numResultsElem.text(numResults + 1)
|
|
)
|