Sha256: be12256d17613a9b1bd7e0af801f6eebae02c92085c4182a7bb62e8e0bc246bd

Contents?: true

Size: 778 Bytes

Versions: 12

Compression:

Stored size: 778 Bytes

Contents

module Vis
  module EventSupport
    def off(event, event_handler_id)
      event = lower_camelize(event)
      handler = @event_handlers[event][event_handler_id]
      `self["native"].off(event, handler)`
      @event_handlers[event].delete(event_handler_id)
    end
    
    def on(event, &block)
      event = lower_camelize(event)
      @event_handlers[event] = {} unless @event_handlers[event]
      event_handler_id = `Math.random().toString(36).substring(6)`
      handler = %x{
        function(event_str, properties, sender_id) {
          #{block.call(`event_str`, `Opal.Hash.$new(properties)`, `sender_id`)};
        }
      }
      @event_handlers[event][event_handler_id] = handler
      `self["native"].on(event, handler);`
      event_handler_id
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
hyper-vis-1.0.1 lib/vis/event_support.rb
hyper-vis-1.0.0.lap34 lib/vis/event_support.rb
hyper-vis-1.0.0.lap33 lib/vis/event_support.rb
hyper-vis-1.0.0.lap32 lib/vis/event_support.rb
hyper-vis-1.0.0.lap31 lib/vis/event_support.rb
hyper-vis-1.0.0.lap30 lib/vis/event_support.rb
hyper-vis-1.0.0.lap29 lib/vis/event_support.rb
hyper-vis-1.0.0.lap28 lib/vis/event_support.rb
hyper-vis-1.0.0.lap27 lib/vis/event_support.rb
hyper-vis-1.0.0.lap26 lib/vis/event_support.rb
hyper-vis-1.0.0.lap25 lib/vis/event_support.rb
hyper-vis-1.0.0.lap24 lib/vis/event_support.rb