Sha256: 60611a52a7b99817bd4a52eaf55e6d4211b0df299d4dcf0cee24a2e09a3176bf

Contents?: true

Size: 903 Bytes

Versions: 78

Compression:

Stored size: 903 Bytes

Contents

require 'rubygems'
require 'bundler/setup'

require 'ruby-event'

module RubyApp

  module Elements
    require 'ruby_app/element'

    class List < RubyApp::Element

      class ClickedEvent < RubyApp::Element::Event

        attr_reader :index, :item

        def initialize(data)
          super(data)
          @index = data['index'].to_i
          @item = self.source.items[@index]
        end

        def to_hash
          super.merge('index' => @index)
        end

      end

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

      attr_accessor :items

      event :clicked

      def initialize
        super
        @items = []
      end

      protected

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

        def on_clicked(event)
          clicked(event)
        end

    end

  end

end

Version data entries

78 entries across 78 versions & 1 rubygems

Version Path
RubyApp-0.2.7 lib/ruby_app/elements/list.rb
RubyApp-0.2.6 lib/ruby_app/elements/list.rb
RubyApp-0.2.5 lib/ruby_app/elements/list.rb
RubyApp-0.2.4 lib/ruby_app/elements/list.rb
RubyApp-0.2.3 lib/ruby_app/elements/list.rb
RubyApp-0.2.2 lib/ruby_app/elements/list.rb
RubyApp-0.2.1 lib/ruby_app/elements/list.rb
RubyApp-0.2.0 lib/ruby_app/elements/list.rb
RubyApp-0.0.91 lib/ruby_app/elements/list.rb
RubyApp-0.0.90 lib/ruby_app/elements/list.rb
RubyApp-0.0.89 lib/ruby_app/elements/list.rb
RubyApp-0.0.88 lib/ruby_app/elements/list.rb
RubyApp-0.0.87 lib/ruby_app/elements/list.rb
RubyApp-0.0.86 lib/ruby_app/elements/list.rb
RubyApp-0.0.85 lib/ruby_app/elements/list.rb
RubyApp-0.0.84 lib/ruby_app/elements/list.rb
RubyApp-0.0.83 lib/ruby_app/elements/list.rb
RubyApp-0.0.82 lib/ruby_app/elements/list.rb
RubyApp-0.0.81 lib/ruby_app/elements/list.rb
RubyApp-0.0.80 lib/ruby_app/elements/list.rb