1 require "RedCloth"
2
3 module Admin::ReferencesHelper
4 def tag_reference
5 String.new.tap do |output|
6 class_of_page.tag_descriptions.sort.each do |tag_name, description|
7 value = t("desc.#{tag_name.gsub(':','-')}").match('desc') ? description : t("desc.#{tag_name.gsub(':','-')}")
8 output << render(:partial => "admin/references/tag_reference.haml",
9 :locals => {:tag_name => tag_name,
10 :description => RedCloth.new(Radiant::Taggable::Util.strip_leading_whitespace(value)).to_html
11 })
12 end
13 end
14 end
15
16 def filter_reference
17 unless filter.blank?
18 if filter.description.blank?
19 "There is no documentation on this filter."
20 else
21 filter.description
22 end
23 else
24 "There is no filter on the current page part."
25 end
26 end
27
28 def _display_name
29 case params[:type]
30 when 'filters'
31 filter ? filter.filter_name : t('select.none')
32 when 'tags'
33 class_of_page.display_name
34 end
35 end
36
37 def filter
38 @filter ||= begin
39 TextFilter.find_descendant(params[:filter_name])
40 end
41 end
42
43 def class_of_page
44 @page_class ||= (params[:class_name].blank? ? 'Page' : params[:class_name]).constantize
45 end
46 end