Sha256: 9b835e89a1affe7703ba03eddaa11a6adc29e3a84e1e3e6d082a1b194ec084be

Contents?: true

Size: 1.61 KB

Versions: 2

Compression:

Stored size: 1.61 KB

Contents

module Locomotive
  module PagesHelper

    def css_for_page(page)
      %w(index not_found templatized redirect).inject([]) do |memo, state|
        memo << state.dasherize if page.send(:"#{state}?")
        memo
      end.join(' ')
    end

    def page_toggler(page)
      image_tag("locomotive/list/icons/node_#{(cookies["folder-#{page._id}"] != 'none') ? 'open' : 'closed'}.png", :class => 'toggler')
    end

    def parent_pages_options
      roots = current_site.pages.roots.where(:slug.ne => '404').and(:_id.ne => @page.id)

      [].tap do |list|
        roots.each do |page|
          list = add_children_to_options(page, list)
        end
      end
    end

    def add_children_to_options(page, list)
      return list if page.parent_ids.include?(@page.id) || page == @page

      offset = '- ' * (page.depth || 0) * 2

      list << ["#{offset}#{page.title}", page.id]
      page.children.each { |child| add_children_to_options(child, list) }
      list
    end

    def options_for_target_klass_name
      base_models = current_site.content_types.map do |type|
        [type.name.humanize, type.klass_with_custom_fields(:entries)]
      end
      base_models + Locomotive.config.models_for_templatization.map { |name| [name.underscore.humanize, name] }
    end

    def options_for_page_cache_strategy
      [
        [t('.cache_strategy.none'), 'none'],
        [t('.cache_strategy.simple'), 'simple'],
        [t('.cache_strategy.hour'), 1.hour.to_s],
        [t('.cache_strategy.day'), 1.day.to_s],
        [t('.cache_strategy.week'), 1.week.to_s],
        [t('.cache_strategy.month'), 1.month.to_s]
      ]
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc2 app/helpers/locomotive/pages_helper.rb
locomotive_cms-2.0.0.rc1 app/helpers/locomotive/pages_helper.rb