Commit 3f709e0a authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge pull request #5848 from bke-drewb/feature/time_ago_tooltips

Add time ago tooltips to show actual date/time
parents 3221dc53 fa817dff
...@@ -72,7 +72,7 @@ module ApplicationHelper ...@@ -72,7 +72,7 @@ module ApplicationHelper
def last_commit(project) def last_commit(project)
if project.repo_exists? if project.repo_exists?
time_ago_in_words(project.repository.commit.committed_date) + " ago" time_ago_with_tooltip(project.repository.commit.committed_date) + " ago"
else else
"Never" "Never"
end end
...@@ -136,9 +136,9 @@ module ApplicationHelper ...@@ -136,9 +136,9 @@ module ApplicationHelper
Digest::SHA1.hexdigest string Digest::SHA1.hexdigest string
end end
def project_last_activity project def project_last_activity(project)
if project.last_activity_at if project.last_activity_at
time_ago_in_words(project.last_activity_at) + " ago" time_ago_with_tooltip(project.last_activity_at, 'bottom', 'last_activity_time_ago') + " ago"
else else
"Never" "Never"
end end
...@@ -215,4 +215,14 @@ module ApplicationHelper ...@@ -215,4 +215,14 @@ module ApplicationHelper
Pygments::Lexer[:js].highlight(string).html_safe Pygments::Lexer[:js].highlight(string).html_safe
end end
end end
def time_ago_with_tooltip(date, placement = 'top', html_class = 'time_ago')
capture_haml do
haml_tag :time, time_ago_in_words(date),
class: html_class, datetime: date, title: date.stamp("Aug 21, 2011 9:23pm"),
data: { toggle: 'tooltip', placement: placement }
haml_tag :script, "$('." + html_class + "').tooltip()"
end.html_safe
end
end end
...@@ -31,8 +31,14 @@ module NotesHelper ...@@ -31,8 +31,14 @@ module NotesHelper
def note_timestamp(note) def note_timestamp(note)
# Shows the created at time and the updated at time if different # Shows the created at time and the updated at time if different
ts = "#{time_ago_in_words(note.created_at)} ago" ts = "#{time_ago_with_tooltip(note.created_at, 'bottom', 'note_created_ago')} ago"
ts << content_tag(:small, " (Edited #{time_ago_in_words(note.updated_at)} ago)") if note.updated_at != note.created_at if note.updated_at != note.created_at
ts << capture_haml do
haml_tag :small do
haml_concat " (Edited #{time_ago_with_tooltip(note.updated_at, 'bottom', 'note_edited_ago')} ago)"
end
end
end
ts.html_safe ts.html_safe
end end
end end
...@@ -37,8 +37,7 @@ ...@@ -37,8 +37,7 @@
%p %p
= link_to project.name_with_namespace, [:admin, project] = link_to project.name_with_namespace, [:admin, project]
%span.light.pull-right %span.light.pull-right
= time_ago_in_words project.created_at #{time_ago_with_tooltip(project.created_at)} ago
ago
.span4 .span4
%h4 Latest users %h4 Latest users
...@@ -48,8 +47,7 @@ ...@@ -48,8 +47,7 @@
= link_to [:admin, user] do = link_to [:admin, user] do
= user.name = user.name
%span.light.pull-right %span.light.pull-right
= time_ago_in_words user.created_at #{time_ago_with_tooltip(user.created_at)} ago
ago
.span4 .span4
%h4 Latest groups %h4 Latest groups
...@@ -59,8 +57,7 @@ ...@@ -59,8 +57,7 @@
= link_to [:admin, group] do = link_to [:admin, group] do
= group.name = group.name
%span.light.pull-right %span.light.pull-right
= time_ago_in_words group.created_at #{time_ago_with_tooltip(group.created_at)} ago
ago
%br %br
.row .row
......
- if event.proper? - if event.proper?
.event-item{class: "#{event.body? ? "event-block" : "event-inline" }"} .event-item{class: "#{event.body? ? "event-block" : "event-inline" }"}
%span.cgray.pull-right %span.cgray.pull-right
#{time_ago_in_words(event.created_at)} ago. #{time_ago_with_tooltip(event.created_at)} ago
= cache event do = cache event do
= image_tag avatar_icon(event.author_email, 24), class: "avatar s24", alt:'' = image_tag avatar_icon(event.author_email, 24), class: "avatar s24", alt:''
......
...@@ -5,9 +5,8 @@ ...@@ -5,9 +5,8 @@
%strong= truncate(event.ref_name, length: 28) %strong= truncate(event.ref_name, length: 28)
at at
%strong= link_to_project event.project %strong= link_to_project event.project
%span #{time_ago_with_tooltip(event.created_at)} ago
= time_ago_in_words(event.created_at)
ago.
.pull-right .pull-right
= link_to new_mr_path_from_push_event(event), title: "New Merge Request", class: "btn btn-create btn-small" do = link_to new_mr_path_from_push_event(event), title: "New Merge Request", class: "btn btn-create btn-small" do
Create Merge Request Create Merge Request
......
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
%span %span
(#{key.fingerprint}) (#{key.fingerprint})
%span.cgray %span.cgray
added added #{time_ago_with_tooltip(key.created_at)} ago
= time_ago_in_words(key.created_at)
ago
= link_to 'Remove', profile_key_path(key), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-small btn-remove delete-key pull-right" = link_to 'Remove', profile_key_path(key), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-small btn-remove delete-key pull-right"
...@@ -27,6 +27,4 @@ ...@@ -27,6 +27,4 @@
= image_tag avatar_icon(commit.author_email), class: "avatar s16", alt: '' = image_tag avatar_icon(commit.author_email), class: "avatar s16", alt: ''
%span.light %span.light
= gfm escape_once(truncate(commit.title, length: 40)) = gfm escape_once(truncate(commit.title, length: 40))
%span #{time_ago_with_tooltip(commit.committed_date)} ago
= time_ago_in_words(commit.committed_date)
ago
...@@ -23,16 +23,14 @@ ...@@ -23,16 +23,14 @@
%span.light Authored by %span.light Authored by
%strong %strong
= commit_author_link(@commit, avatar: true, size: 24) = commit_author_link(@commit, avatar: true, size: 24)
%time{title: @commit.authored_date.stamp("Aug 21, 2011 9:23pm")} #{time_ago_with_tooltip(@commit.authored_date)} ago
#{time_ago_in_words(@commit.authored_date)} ago
- if @commit.different_committer? - if @commit.different_committer?
.commit-info-row .commit-info-row
%span.light Committed by %span.light Committed by
%strong %strong
= commit_committer_link(@commit, avatar: true, size: 24) = commit_committer_link(@commit, avatar: true, size: 24)
%time{title: @commit.committed_date.stamp("Aug 21, 2011 9:23pm")} #{time_ago_with_tooltip(@commit.committed_date)} ago
#{time_ago_in_words(@commit.committed_date)} ago
.commit-info-row .commit-info-row
%span.cgray= pluralize(@commit.parents.count, "parent") %span.cgray= pluralize(@commit.parents.count, "parent")
......
...@@ -13,7 +13,4 @@ ...@@ -13,7 +13,4 @@
.commit-row-info .commit-row-info
= commit_author_link(commit, avatar: true, size: 16) = commit_author_link(commit, avatar: true, size: 16)
%time.committed_ago{ datetime: commit.committed_date, title: commit.committed_date.stamp("Aug 21, 2011 9:23pm") } #{time_ago_with_tooltip(commit.committed_date)} ago &nbsp;
= time_ago_in_words(commit.committed_date)
ago
&nbsp;
...@@ -3,7 +3,4 @@ ...@@ -3,7 +3,4 @@
= link_to commit.short_id(8), project_commit_path(project, commit), class: "commit_short_id" = link_to commit.short_id(8), project_commit_path(project, commit), class: "commit_short_id"
&nbsp; &nbsp;
= link_to_gfm truncate(commit.title, length: 40), project_commit_path(project, commit.id), class: "commit-row-message" = link_to_gfm truncate(commit.title, length: 40), project_commit_path(project, commit.id), class: "commit-row-message"
%time.committed_ago{ datetime: commit.committed_date, title: commit.committed_date.stamp("Aug 21, 2011 9:23pm") } #{time_ago_with_tooltip(commit.committed_date)} ago &nbsp;
= time_ago_in_words(commit.committed_date)
ago
&nbsp;
...@@ -21,5 +21,4 @@ ...@@ -21,5 +21,4 @@
- deploy_key.projects.map(&:name_with_namespace).each do |project_name| - deploy_key.projects.map(&:name_with_namespace).each do |project_name|
%span.label= project_name %span.label= project_name
%small.pull-right %small.pull-right
Created #{time_ago_in_words(deploy_key.created_at)} ago Created #{time_ago_with_tooltip(deploy_key.created_at)} ago
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
%i.icon-time %i.icon-time
= issue.milestone.title = issue.milestone.title
.pull-right .pull-right
%small updated #{time_ago_in_words(issue.updated_at)} ago %small updated #{time_ago_with_tooltip(issue.updated_at, 'bottom', 'issue_update_ago')} ago
.issue-labels .issue-labels
- issue.labels.each do |label| - issue.labels.each do |label|
......
...@@ -34,4 +34,4 @@ ...@@ -34,4 +34,4 @@
.pull-right .pull-right
%small updated #{time_ago_in_words(merge_request.updated_at)} ago %small updated #{time_ago_with_tooltip(merge_request.updated_at, 'bottom', 'merge_request_updated_ago')} ago
...@@ -34,13 +34,13 @@ ...@@ -34,13 +34,13 @@
%span %span
%i.icon-remove %i.icon-remove
Closed by #{link_to_member(@project, @merge_request.closed_event.author)} Closed by #{link_to_member(@project, @merge_request.closed_event.author)}
%span #{time_ago_in_words(@merge_request.closed_event.created_at)} ago. #{time_ago_with_tooltip(@merge_request.closed_event.created_at)} ago.
- if @merge_request.merged? - if @merge_request.merged?
.ui-box-bottom.alert-success .ui-box-bottom.alert-success
%span %span
%i.icon-ok %i.icon-ok
Merged by #{link_to_member(@project, @merge_request.merge_event.author)} Merged by #{link_to_member(@project, @merge_request.merge_event.author)}
#{time_ago_in_words(@merge_request.merge_event.created_at)} ago. #{time_ago_with_tooltip(@merge_request.merge_event.created_at)} ago.
- if !@closes_issues.empty? && @merge_request.opened? - if !@closes_issues.empty? && @merge_request.opened?
.ui-box-bottom.alert-info .ui-box-bottom.alert-info
%span %span
......
...@@ -32,8 +32,7 @@ ...@@ -32,8 +32,7 @@
last updated by last updated by
= link_to_member(@project, last_note.author, avatar: false) = link_to_member(@project, last_note.author, avatar: false)
%span.discussion-last-update %span.discussion-last-update
= time_ago_in_words(last_note.updated_at) #{time_ago_with_tooltip(last_note.updated_at, 'bottom', 'discussion_updated_ago')} ago
ago
.discussion-body .discussion-body
- if note.for_diff_line? - if note.for_diff_line?
- if note.active? - if note.active?
......
...@@ -46,8 +46,6 @@ ...@@ -46,8 +46,6 @@
= commit.short_id = commit.short_id
%span.light %span.light
= gfm escape_once(truncate(commit.title, length: 40)) = gfm escape_once(truncate(commit.title, length: 40))
%span #{time_ago_with_tooltip(commit.committed_date)} ago
= time_ago_in_words(commit.committed_date)
ago
- else - else
(branch was removed from repository) (branch was removed from repository)
...@@ -5,5 +5,5 @@ ...@@ -5,5 +5,5 @@
:plain :plain
var row = $("table.table_#{@hex_path} tr.file_#{hexdigest(file_name)}"); var row = $("table.table_#{@hex_path} tr.file_#{hexdigest(file_name)}");
row.find("td.tree_time_ago").html('#{escape_javascript time_ago_in_words(commit.committed_date)} ago'); row.find("td.tree_time_ago").html('#{escape_javascript time_ago_with_tooltip(commit.committed_date)} ago');
row.find("td.tree_commit").html('#{escape_javascript render("projects/tree/tree_commit_column", commit: commit)}'); row.find("td.tree_commit").html('#{escape_javascript render("projects/tree/tree_commit_column", commit: commit)}');
...@@ -18,4 +18,5 @@ ...@@ -18,4 +18,5 @@
by by
= image_tag avatar_icon(snippet.author_email), class: "avatar avatar-inline s16" = image_tag avatar_icon(snippet.author_email), class: "avatar avatar-inline s16"
= snippet.author_name = snippet.author_name
%span.light #{time_ago_in_words(snippet.created_at)} ago %span.light
#{time_ago_with_tooltip(snippet.created_at)} ago
...@@ -24,8 +24,7 @@ ...@@ -24,8 +24,7 @@
.pull-right .pull-right
%small.cdark %small.cdark
%i.icon-calendar %i.icon-calendar
= time_ago_in_words(commit.committed_date) #{time_ago_with_tooltip(commit.committed_date)} ago
ago
%p.prepend-left-20 %p.prepend-left-20
= link_to commit.short_id(8), project_commit_path(@project, commit), class: "monospace" = link_to commit.short_id(8), project_commit_path(@project, commit), class: "monospace"
&ndash; &ndash;
......
...@@ -23,8 +23,7 @@ ...@@ -23,8 +23,7 @@
%td %td
= commit.title = commit.title
%td %td
= time_ago_in_words(version.date) #{time_ago_with_tooltip(version.date)} ago
ago
%td %td
%strong %strong
= @wiki.page.wiki.page(@wiki.page.name, commit.id).try(:format) = @wiki.page.wiki.page(@wiki.page.name, commit.id).try(:format)
...@@ -8,4 +8,4 @@ ...@@ -8,4 +8,4 @@
= link_to wiki_page.title.titleize, project_wiki_path(@project, wiki_page) = link_to wiki_page.title.titleize, project_wiki_path(@project, wiki_page)
%small (#{wiki_page.format}) %small (#{wiki_page.format})
.pull-right .pull-right
%small Last edited #{time_ago_in_words(wiki_page.commit.created_at)} ago %small Last edited #{time_ago_with_tooltip(wiki_page.commit.created_at)} ago
...@@ -12,4 +12,4 @@ ...@@ -12,4 +12,4 @@
= preserve do = preserve do
= render_wiki_content(@wiki) = render_wiki_content(@wiki)
%p.time Last edited by #{commit_author_link(@wiki.commit, avatar: true, size: 16)} #{time_ago_in_words @wiki.commit.created_at} ago %p.span Last edited by #{commit_author_link(@wiki.commit, avatar: true, size: 16)} #{time_ago_with_tooltip(@wiki.commit.created_at)} ago
...@@ -20,4 +20,4 @@ ...@@ -20,4 +20,4 @@
= link_to user_snippets_path(snippet.author) do = link_to user_snippets_path(snippet.author) do
= image_tag avatar_icon(snippet.author_email), class: "avatar avatar-inline s16", alt: '' = image_tag avatar_icon(snippet.author_email), class: "avatar avatar-inline s16", alt: ''
= snippet.author_name = snippet.author_name
%span.light #{time_ago_in_words(snippet.created_at)} ago %span.light #{time_ago_with_tooltip(snippet.created_at)} ago
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment