From 31e9f82ebc24ff04cb4eeaf933f6f3b158a38a62 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Tue, 13 Aug 2013 16:26:48 +0300 Subject: [PATCH] Improve repository graph --- .../stat_graph_contributors.js.coffee | 14 ++++++++------ .../stat_graph_contributors_graph.js.coffee | 4 ++-- .../stat_graph_contributors_util.js.coffee | 18 ++++++++++-------- app/assets/stylesheets/sections/graph.scss | 5 +++++ app/views/projects/graphs/show.html.haml | 5 ++++- 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/stat_graph_contributors.js.coffee b/app/assets/javascripts/stat_graph_contributors.js.coffee index 5b4b3dae41..168b733704 100644 --- a/app/assets/javascripts/stat_graph_contributors.js.coffee +++ b/app/assets/javascripts/stat_graph_contributors.js.coffee @@ -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) diff --git a/app/assets/javascripts/stat_graph_contributors_graph.js.coffee b/app/assets/javascripts/stat_graph_contributors_graph.js.coffee index cc83486e8c..29583a1824 100644 --- a/app/assets/javascripts/stat_graph_contributors_graph.js.coffee +++ b/app/assets/javascripts/stat_graph_contributors_graph.js.coffee @@ -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: => diff --git a/app/assets/javascripts/stat_graph_contributors_util.js.coffee b/app/assets/javascripts/stat_graph_contributors_util.js.coffee index 8f816313db..364cab1837 100644 --- a/app/assets/javascripts/stat_graph_contributors_util.js.coffee +++ b/app/assets/javascripts/stat_graph_contributors_util.js.coffee @@ -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 - \ No newline at end of file + diff --git a/app/assets/stylesheets/sections/graph.scss b/app/assets/stylesheets/sections/graph.scss index 156ecdeeff..1e22d161bf 100644 --- a/app/assets/stylesheets/sections/graph.scss +++ b/app/assets/stylesheets/sections/graph.scss @@ -22,6 +22,11 @@ .graph-author-commits-count { } + .graph-author-email { + float: right; + color: #777; + } + .graph-additions { color: #4a2; } diff --git a/app/views/projects/graphs/show.html.haml b/app/views/projects/graphs/show.html.haml index 6f9a161a13..cfa10ae407 100644 --- a/app/views/projects/graphs/show.html.haml +++ b/app/views/projects/graphs/show.html.haml @@ -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 -- 2.30.9