Improve repository graph
This commit is contained in:
parent
7825830ca5
commit
31e9f82ebc
|
@ -16,7 +16,7 @@ class window.ContributorsStatGraph
|
|||
_.each(limited_author_data, (d) =>
|
||||
author_header = @create_author_header(d)
|
||||
$(".contributors-list").append(author_header)
|
||||
@authors[d.author] = author_graph = new ContributorsAuthorGraph(d.dates)
|
||||
@authors[d.author_name] = author_graph = new ContributorsAuthorGraph(d.dates)
|
||||
author_graph.draw()
|
||||
)
|
||||
format_author_commit_info: (author) ->
|
||||
|
@ -46,13 +46,15 @@ class window.ContributorsStatGraph
|
|||
class: 'person'
|
||||
style: 'display: block;'
|
||||
})
|
||||
author_name = $('<h4>' + author.author + '</h4>')
|
||||
author_name = $('<h4>' + author.author_name + '</h4>')
|
||||
author_email = $('<p class="graph-author-email">' + author.author_email + '</p>')
|
||||
author_commit_info_span = $('<span/>', {
|
||||
class: 'commits'
|
||||
})
|
||||
author_commit_info = @format_author_commit_info(author)
|
||||
author_commit_info_span.html(author_commit_info)
|
||||
list_item.append(author_name)
|
||||
list_item.append(author_email)
|
||||
list_item.append(author_commit_info_span)
|
||||
list_item
|
||||
redraw_master: ->
|
||||
|
@ -65,9 +67,9 @@ class window.ContributorsStatGraph
|
|||
author_commits = ContributorsStatGraphUtil.get_author_data(@parsed_log, @field, x_domain)
|
||||
_.each(author_commits, (d) =>
|
||||
@redraw_author_commit_info(d)
|
||||
$(@authors[d.author].list_item).appendTo("ol")
|
||||
@authors[d.author].set_data(d.dates)
|
||||
@authors[d.author].redraw()
|
||||
$(@authors[d.author_name].list_item).appendTo("ol")
|
||||
@authors[d.author_name].set_data(d.dates)
|
||||
@authors[d.author_name].redraw()
|
||||
)
|
||||
set_current_field: (field) ->
|
||||
@field = field
|
||||
|
@ -77,6 +79,6 @@ class window.ContributorsStatGraph
|
|||
print = print_date_format(x_domain[0]) + " - " + print_date_format(x_domain[1])
|
||||
$("#date_header").text(print)
|
||||
redraw_author_commit_info: (author) ->
|
||||
author_list_item = $(@authors[author.author].list_item)
|
||||
author_list_item = $(@authors[author.author_name].list_item)
|
||||
author_commit_info = @format_author_commit_info(author)
|
||||
author_list_item.find("span").html(author_commit_info)
|
||||
|
|
|
@ -90,9 +90,9 @@ class window.ContributorsMasterGraph extends ContributorsGraph
|
|||
y(d.commits = d.commits ? d.additions ? d.deletions)
|
||||
).interpolate("basis")
|
||||
create_brush: ->
|
||||
@brush = d3.svg.brush().x(@x).on("brushend", @update_content);
|
||||
@brush = d3.svg.brush().x(@x).on("brushend", @update_content)
|
||||
draw_path: (data) ->
|
||||
@svg.append("path").datum(data).attr("class", "area").attr("d", @area);
|
||||
@svg.append("path").datum(data).attr("class", "area").attr("d", @area)
|
||||
add_brush: ->
|
||||
@svg.append("g").attr("class", "selection").call(@brush).selectAll("rect").attr("height", @height);
|
||||
update_content: =>
|
||||
|
|
|
@ -4,9 +4,9 @@ window.ContributorsStatGraphUtil =
|
|||
by_author = {}
|
||||
for entry in log
|
||||
@add_date(entry.date, total) unless total[entry.date]?
|
||||
@add_author(entry.author, by_author) unless by_author[entry.author]?
|
||||
@add_date(entry.date, by_author[entry.author]) unless by_author[entry.author][entry.date]
|
||||
@store_data(entry, total[entry.date], by_author[entry.author][entry.date])
|
||||
@add_author(entry, by_author) unless by_author[entry.author_name]?
|
||||
@add_date(entry.date, by_author[entry.author_name]) unless by_author[entry.author_name][entry.date]
|
||||
@store_data(entry, total[entry.date], by_author[entry.author_name][entry.date])
|
||||
total = _.toArray(total)
|
||||
by_author = _.toArray(by_author)
|
||||
total: total, by_author: by_author
|
||||
|
@ -16,8 +16,9 @@ window.ContributorsStatGraphUtil =
|
|||
collection[date].date = date
|
||||
|
||||
add_author: (author, by_author) ->
|
||||
by_author[author] = {}
|
||||
by_author[author].author = author
|
||||
by_author[author.author_name] = {}
|
||||
by_author[author.author_name].author_name = author.author_name
|
||||
by_author[author.author_name].author_email = author.author_email
|
||||
|
||||
store_data: (entry, total, by_author) ->
|
||||
@store_commits(total, by_author)
|
||||
|
@ -71,10 +72,11 @@ window.ContributorsStatGraphUtil =
|
|||
|
||||
parse_log_entry: (log_entry, field, date_range) ->
|
||||
parsed_entry = {}
|
||||
parsed_entry.author = log_entry.author
|
||||
parsed_entry.author_name = log_entry.author_name
|
||||
parsed_entry.author_email = log_entry.author_email
|
||||
parsed_entry.dates = {}
|
||||
parsed_entry.commits = parsed_entry.additions = parsed_entry.deletions = 0
|
||||
_.each(_.omit(log_entry, 'author'), (value, key) =>
|
||||
_.each(_.omit(log_entry, 'author_name', 'author_email'), (value, key) =>
|
||||
if @in_range(value.date, date_range)
|
||||
parsed_entry.dates[value.date] = value[field]
|
||||
parsed_entry.commits += value.commits
|
||||
|
@ -88,4 +90,4 @@ window.ContributorsStatGraphUtil =
|
|||
true
|
||||
else
|
||||
false
|
||||
|
||||
|
||||
|
|
|
@ -22,6 +22,11 @@
|
|||
.graph-author-commits-count {
|
||||
}
|
||||
|
||||
.graph-author-email {
|
||||
float: right;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.graph-additions {
|
||||
color: #4a2;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
.loading-graph
|
||||
%center
|
||||
.loading
|
||||
%h3.page-title Building repository graph. Please wait a moment.
|
||||
%h3.page-title Building repository graph.
|
||||
%p Please wait a moment, this page will automatically refresh when ready.
|
||||
|
||||
.stat-graph
|
||||
.header.clearfix
|
||||
|
@ -11,6 +12,8 @@
|
|||
%option{:value => "additions"} Additions
|
||||
%option{:value => "deletions"} Deletions
|
||||
%h3#date_header.page-title
|
||||
%p.light
|
||||
Commits to #{@project.default_branch}, excluding merge commits. Limited by 8,000 commits
|
||||
%input#brush_change{:type => "hidden"}
|
||||
.graphs
|
||||
#contributors-master
|
||||
|
|
Loading…
Reference in New Issue