Sha256: 17aec642c12609e42fdf1f41c4dd6f63cefb3859c9b612b14c74581b501df926

Contents?: true

Size: 1.06 KB

Versions: 43

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

43 entries across 43 versions & 1 rubygems

Version Path
RubyApp-0.7.16 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.15 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.14 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.13 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.12 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.11 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.10 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.9 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.5 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.4 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.3 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.2 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.1 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.7.0 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.71 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.70 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.69 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.68 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.67 lib/ruby_app/elements/mobile/input.rb
RubyApp-0.6.66 lib/ruby_app/elements/mobile/input.rb