ef2679d0b9
Closes #2653
86 lines
2.2 KiB
Text
86 lines
2.2 KiB
Text
- page_title "Commits", "Graphs"
|
|
= render "header_title"
|
|
.tree-ref-holder
|
|
= render 'shared/ref_switcher', destination: 'graphs_commits'
|
|
= render 'head'
|
|
|
|
%p.lead
|
|
Commit statistics for
|
|
%strong #{@ref}
|
|
#{@commits_graph.start_date.strftime('%b %d')} - #{@commits_graph.end_date.strftime('%b %d')}
|
|
|
|
.row
|
|
.col-md-6
|
|
%ul
|
|
%li
|
|
%p.lead
|
|
%strong #{@commits_graph.commits.size}
|
|
commits during
|
|
%strong #{@commits_graph.duration}
|
|
days
|
|
%li
|
|
%p.lead
|
|
Average
|
|
%strong #{@commits_graph.commit_per_day}
|
|
commits per day
|
|
%li
|
|
%p.lead
|
|
Contributed by
|
|
%strong #{@commits_graph.authors}
|
|
authors
|
|
.col-md-6
|
|
%div
|
|
%p.slead
|
|
Commits per day of month
|
|
%canvas#month-chart
|
|
.row
|
|
.col-md-6
|
|
%div
|
|
%p.slead
|
|
Commits per day hour (UTC)
|
|
%canvas#hour-chart
|
|
.col-md-6
|
|
%div
|
|
%p.slead
|
|
Commits per weekday
|
|
%canvas#weekday-chart
|
|
|
|
:coffeescript
|
|
responsiveChart = (selector, data) ->
|
|
options = { "scaleOverlay": true, responsive: true, pointHitDetectionRadius: 2, maintainAspectRatio: false }
|
|
|
|
# get selector by context
|
|
ctx = selector.get(0).getContext("2d")
|
|
# pointing parent container to make chart.js inherit its width
|
|
container = $(selector).parent()
|
|
|
|
generateChart = ->
|
|
selector.attr('width', $(container).width())
|
|
new Chart(ctx).Bar(data, options)
|
|
|
|
# enabling auto-resizing
|
|
$(window).resize( generateChart )
|
|
|
|
generateChart()
|
|
|
|
chartData = (keys, values) ->
|
|
data = {
|
|
labels : keys,
|
|
datasets : [{
|
|
fillColor : "rgba(220,220,220,0.5)",
|
|
strokeColor : "rgba(220,220,220,1)",
|
|
barStrokeWidth: 1,
|
|
barValueSpacing: 1,
|
|
barDatasetSpacing: 1,
|
|
data : values
|
|
}]
|
|
}
|
|
|
|
hourData = chartData(#{@commits_per_time.keys.to_json}, #{@commits_per_time.values.to_json})
|
|
responsiveChart($('#hour-chart'), hourData)
|
|
|
|
dayData = chartData(#{@commits_per_week_days.keys.to_json}, #{@commits_per_week_days.values.to_json})
|
|
responsiveChart($('#weekday-chart'), dayData)
|
|
|
|
monthData = chartData(#{@commits_per_month.keys.to_json}, #{@commits_per_month.values.to_json})
|
|
responsiveChart($('#month-chart'), monthData)
|