Module: Vis::EventSupport
Instance Method Summary collapse
Instance Method Details
#off(event, event_handler_id) ⇒ Object
3 4 5 6 7 8 |
# File 'lib/vis/event_support.rb', line 3 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 |
#on(event, &block) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/vis/event_support.rb', line 10 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 |