Sha256: 31efde836689c3498f4387e9e289e88c05d8d6de86b9237c6fe5e303a612e255

Contents?: true

Size: 1.06 KB

Versions: 102

Compression:

Stored size: 1.06 KB

Contents

require 'rubygems'
require 'bundler/setup'

require 'ruby-event'

module RubyApp

  module Elements

    module Mobile
      require 'ruby_app/element'

      class Input < RubyApp::Element

        class ChangedEvent < RubyApp::Element::Event

          attr_reader :value

          def initialize(data)
            super(data)
            @value = data['value'].strip
            @value = @value.empty? ? nil : @value
          end

          def to_hash
            super.merge(:value => @value)
          end

        end

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

        attr_accessor :value

        event :changed

        def initialize
          super
          self.attributes.merge!(:type => :text)

          @value = nil

        end

        protected

          def on_event(event)
            on_changed(event) if event.is_a?(RubyApp::Elements::Mobile::Input::ChangedEvent)
            super(event)
          end

          def on_changed(event)
            @value = event.value
            changed(event)
          end

      end

    end

  end

end

Version data entries

102 entries across 102 versions & 1 rubygems

Version Path
RubyApp-0.6.39 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.38 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.36 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.35 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.34 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.33 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.32 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.31 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.29 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.28 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.27 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.26 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.25 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.24 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.22 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.21 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.16 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.12 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.11 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.10 lib/ruby_app/elements/mobile/input.rb