Fixed issue with timeago not firing
This commit is contained in:
parent
12506abfe7
commit
cd1d045fe2
|
@ -179,13 +179,19 @@ module ApplicationHelper
|
|||
# `html_class` argument is provided.
|
||||
#
|
||||
# Returns an HTML-safe String
|
||||
def time_ago_with_tooltip(time, placement: 'top', html_class: 'time_ago')
|
||||
def time_ago_with_tooltip(time, placement: 'top', html_class: 'time_ago', skip_js: false)
|
||||
element = content_tag :time, time.to_s,
|
||||
class: "#{html_class} js-timeago",
|
||||
class: "#{html_class} js-timeago #{"js-timeago-pending" unless skip_js}",
|
||||
datetime: time.to_time.getutc.iso8601,
|
||||
title: time.in_time_zone.to_s(:medium),
|
||||
data: { toggle: 'tooltip', placement: placement, container: 'body' }
|
||||
|
||||
unless skip_js
|
||||
element << javascript_tag(
|
||||
"$('.js-timeago-pending').removeClass('js-timeago-pending').timeago()"
|
||||
)
|
||||
end
|
||||
|
||||
element
|
||||
end
|
||||
|
||||
|
|
|
@ -8,5 +8,5 @@
|
|||
= link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit_short_id"
|
||||
= link_to_gfm commit.title, namespace_project_commit_path(project.namespace, project, commit), class: "commit-row-message"
|
||||
·
|
||||
#{time_ago_with_tooltip(commit.committed_date)} by
|
||||
#{time_ago_with_tooltip(commit.committed_date, skip_js: true)} by
|
||||
= commit_author_link(commit, avatar: true, size: 24)
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
.light
|
||||
= commit_author_link(commit, avatar: false)
|
||||
authored
|
||||
#{time_ago_with_tooltip(commit.committed_date)}
|
||||
#{time_ago_with_tooltip(commit.committed_date, skip_js: true)}
|
||||
%td.line-numbers
|
||||
- line_count = blame_group[:lines].count
|
||||
- (current_line...(current_line + line_count)).each do |i|
|
||||
|
|
|
@ -38,5 +38,5 @@
|
|||
= commit_author_link(commit, avatar: true, size: 24)
|
||||
authored
|
||||
.committed_ago
|
||||
#{time_ago_with_tooltip(commit.committed_date)}
|
||||
#{time_ago_with_tooltip(commit.committed_date, skip_js: true)}
|
||||
= link_to_browse_code(project, commit)
|
||||
|
|
|
@ -263,18 +263,29 @@ describe ApplicationHelper do
|
|||
end
|
||||
|
||||
it 'includes a default js-timeago class' do
|
||||
expect(element.attr('class')).to eq 'time_ago js-timeago'
|
||||
expect(element.attr('class')).to eq 'time_ago js-timeago js-timeago-pending'
|
||||
end
|
||||
|
||||
it 'accepts a custom html_class' do
|
||||
expect(element(html_class: 'custom_class').attr('class')).
|
||||
to eq 'custom_class js-timeago'
|
||||
to eq 'custom_class js-timeago js-timeago-pending'
|
||||
end
|
||||
|
||||
it 'accepts a custom tooltip placement' do
|
||||
expect(element(placement: 'bottom').attr('data-placement')).to eq 'bottom'
|
||||
end
|
||||
|
||||
it 're-initializes timeago Javascript' do
|
||||
el = element.next_element
|
||||
|
||||
expect(el.name).to eq 'script'
|
||||
expect(el.text).to include "$('.js-timeago-pending').removeClass('js-timeago-pending').timeago()"
|
||||
end
|
||||
|
||||
it 'allows the script tag to be excluded' do
|
||||
expect(element(skip_js: true)).not_to include 'script'
|
||||
end
|
||||
|
||||
it 'converts to Time' do
|
||||
expect { helper.time_ago_with_tooltip(Date.today) }.not_to raise_error
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue