Sha256: fb5f07157147ba3132df2f76d4b657860443a57831b03b9ae7479d9e0f062281

Contents?: true

Size: 603 Bytes

Versions: 4

Compression:

Stored size: 603 Bytes

Contents

module Spina::Pages
  class PageSelectComponent < Spina::ApplicationComponent
    attr_accessor :name, :pages, :include_blank, :selected, :disabled

    def initialize(name, pages, include_blank: false, selected: nil, disabled: nil)
      @name = name
      @pages = pages
      @include_blank = include_blank
      @selected = selected
      @disabled = disabled
    end

    def options
      Spina::Page.sort_by_ancestry(pages.arrange(order: :position)).map do |page|
        page_menu_title = page.menu_title&.indent(page.depth, "–")
        [page_menu_title, page.id]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spina-2.19.0 app/components/spina/pages/page_select_component.rb
spina-2.18.0 app/components/spina/pages/page_select_component.rb
spina-2.17.0 app/components/spina/pages/page_select_component.rb
spina-2.16.0 app/components/spina/pages/page_select_component.rb