You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

41 lines
1.3 KiB

module Admin::AdminHelper
def entries_info(collection)
n = collection.respond_to?(:total_count) ? collection.total_count : collection.size
tag.div class: 'entries-info', id: 'n-entries' do
return "#{n} #{collection.model_name.human(count: n)}" if collection.respond_to?(:model_name)
return "#{n} #{collection.first.model_name.human(count: n)}" if collection.is_a?(Array) and collection.any?
end
end
def audit_info(obj)
tag.div do
concat tag.div(l(obj.updated_at, format: :listing), title: l(obj.updated_at, format: :long), class: 'audit-date')
concat tag.div(obj.own_and_associated_audits&.first&.user&.name, class: 'audit-info') if obj.respond_to?(:audits)
end
end
def link_to_sortable(sort_by, title=nil, options={})
title ||= sort_by.titleize
current = (sort_by.to_sym == sorting_technique.to_sym)
reverse = (params[:reverse].blank? and current) ? 1 : nil
css_class = ['sort_link']
css_class << 'current' if current
css_class << (reverse.blank? ? 'asc' : 'desc')
link_to title,
url_for(
params.permit(:q, :category, :tag).merge(sort: sort_by, reverse: reverse)
),
data: options[:data] || {
turbo_action: 'advance'
} ,
class: css_class.join(' ')
end
end