Module: Opal::Connect::ConnectPlugins::Events::ConnectClassMethods
- Defined in:
- lib/opal/connect/plugins/events.rb
Instance Method Summary collapse
Instance Method Details
#start_events ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/opal/connect/plugins/events.rb', line 67 def start_events $connect_events_started = true $connect_events.each do |klass, events| el = dom('html') events.map! do |event| klass, name, selector, handler = event wrapper = ->(e) do # we want to create an anonymous class so we can use instance # methods if events are coming from the Connect module. c = klass.name == 'Opal::Connect' \ ? Class.new { include Opal::Connect }.new \ : klass.new c.connect_event_instance_variables(e, name, selector) c.instance_exec(e, &handler) end if name != :document el.dom.on(name, selector, &wrapper) else Document.on(selector, &wrapper) end [klass, name, selector, wrapper] end end end |
#teardown_events ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/opal/connect/plugins/events.rb', line 52 def teardown_events $connect_events.each do |klass, events| el = dom('html') events.each do |event| _, name, selector, wrapper = event if name.to_s != 'document' el.off(name, selector, &wrapper) else Document.off(selector, &wrapper) end end end end |