Add data-src
when image is to be lazy loaded, use tag
helper instead of image_tag
helper
This commit is contained in:
parent
31d43e3458
commit
abb9981d20
1 changed files with 16 additions and 9 deletions
|
@ -13,22 +13,29 @@ module AvatarsHelper
|
||||||
user_name = options[:user].try(:name) || options[:user_name]
|
user_name = options[:user].try(:name) || options[:user_name]
|
||||||
avatar_url = options[:url] || avatar_icon(options[:user] || options[:user_email], avatar_size)
|
avatar_url = options[:url] || avatar_icon(options[:user] || options[:user_email], avatar_size)
|
||||||
has_tooltip = options[:has_tooltip].nil? ? true : options[:has_tooltip]
|
has_tooltip = options[:has_tooltip].nil? ? true : options[:has_tooltip]
|
||||||
data_attributes = {}
|
data_attributes = options[:data] || {}
|
||||||
css_class = %W[avatar s#{avatar_size}].push(*options[:css_class])
|
css_class = %W[avatar s#{avatar_size}].push(*options[:css_class])
|
||||||
|
|
||||||
if has_tooltip
|
if has_tooltip
|
||||||
css_class.push('has-tooltip')
|
css_class.push('has-tooltip')
|
||||||
data_attributes = { container: 'body' }
|
data_attributes[:container] = 'body'
|
||||||
end
|
end
|
||||||
|
|
||||||
image_tag(
|
if options[:lazy]
|
||||||
avatar_url,
|
css_class << 'lazy'
|
||||||
|
data_attributes[:src] = avatar_url
|
||||||
|
avatar_url = LazyImageTagHelper.placeholder_image
|
||||||
|
end
|
||||||
|
|
||||||
|
image_options = {
|
||||||
|
alt: "#{user_name}'s avatar",
|
||||||
|
src: avatar_url,
|
||||||
|
data: data_attributes,
|
||||||
class: css_class,
|
class: css_class,
|
||||||
alt: "#{user_name}'s avatar",
|
title: user_name
|
||||||
title: user_name,
|
}
|
||||||
data: data_attributes,
|
|
||||||
lazy: true
|
tag(:img, image_options)
|
||||||
)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def user_avatar(options = {})
|
def user_avatar(options = {})
|
||||||
|
|
Loading…
Reference in a new issue