Sha256: 85a03213e6059cc8a429bbe3395c814f6939a52cd3f8c16cedf4115e0f5552ba

Contents?: true

Size: 1.19 KB

Versions: 8

Compression:

Stored size: 1.19 KB

Contents

require 'rubygems'
require 'bundler/setup'

require 'ruby-event'

module RubyApp

  module Elements

    module Navigation

      module Base
        require 'ruby_app'
        require 'ruby_app/element'

        class BaseBreadcrumbs < RubyApp::Element

          class ClickedEvent < RubyApp::Element::Event

            attr_reader :page

            def initialize(data)
              super(data)
              @page = RubyApp::Element.get_element(data['page_id'])
            end

            def to_hash
              super.merge('page_id' => @page.element_id)
            end

          end

          template_path(:all, File.dirname(__FILE__))

          def initialize
            super
          end

          protected

            def on_event(event)
              on_clicked(event) if event.is_a?(RubyApp::Elements::Navigation::Base::BaseBreadcrumbs::ClickedEvent)
              super(event)
            end

            def on_clicked(event)
              RubyApp::Session.pages.slice!(RubyApp::Session.pages.index(event.page) + 1, RubyApp::Session.pages.length - ( RubyApp::Session.pages.index(event.page) + 1 ))
              event.refresh
            end

        end

      end

    end

  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
RubyApp-0.2.7 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb
RubyApp-0.2.6 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb
RubyApp-0.2.5 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb
RubyApp-0.2.4 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb
RubyApp-0.2.3 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb
RubyApp-0.2.2 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb
RubyApp-0.2.1 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb
RubyApp-0.2.0 lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb