74 lines
1.9 KiB
CoffeeScript
74 lines
1.9 KiB
CoffeeScript
@Travis.reopen
|
|
StatsView: Travis.View.extend
|
|
templateName: 'stats/show'
|
|
didInsertElement: ->
|
|
# @renderChart(config) for name, config of @CHARTS
|
|
|
|
renderChart: (config) ->
|
|
chart = new Highcharts.Chart(config)
|
|
@fetch config.source, (data) ->
|
|
stats = (config.map(stats) for stats in data.stats)
|
|
chart.series[0].setData(stats)
|
|
|
|
fetch: (url, callback) ->
|
|
$.ajax
|
|
type: 'GET'
|
|
url: url
|
|
accepts: { json: 'application/vnd.travis-ci.2+json' }
|
|
success: callback
|
|
|
|
CHARTS:
|
|
repos:
|
|
source: '/api/stats/repos'
|
|
total: 0
|
|
map: (data) ->
|
|
[Date.parse(data.date), @total += parseInt(data.count)]
|
|
chart:
|
|
renderTo: "repos_stats"
|
|
title:
|
|
text: "Total Projects/Repositories"
|
|
xAxis:
|
|
type: "datetime"
|
|
dateTimeLabelFormats: # don't display the dummy year
|
|
month: "%e. %b"
|
|
year: "%b"
|
|
yAxis:
|
|
title:
|
|
text: "Count"
|
|
min: 0
|
|
tooltip:
|
|
formatter: ->
|
|
Highcharts.dateFormat("%e. %b", @x) + ": " + @y + " repos"
|
|
series: [
|
|
name: "Repository Growth"
|
|
data: []
|
|
]
|
|
|
|
builds:
|
|
source: '/api/stats/tests'
|
|
map: (data) ->
|
|
[Date.parse(data.date), parseInt(data.count)]
|
|
chart:
|
|
renderTo: "tests_stats"
|
|
type: "column"
|
|
title:
|
|
text: "Build Count"
|
|
subtitle:
|
|
text: "last month"
|
|
xAxis:
|
|
type: "datetime"
|
|
dateTimeLabelFormats: # don't display the dummy year
|
|
month: "%e. %b"
|
|
year: "%b"
|
|
yAxis:
|
|
title:
|
|
text: "Count"
|
|
min: 0
|
|
tooltip:
|
|
formatter: ->
|
|
Highcharts.dateFormat("%e. %b", @x) + ": " + @y + " builds"
|
|
series: [
|
|
name: "Total Builds"
|
|
data: []
|
|
]
|