Module: Opal::Connect::ConnectPlugins::Events::ClassMethods

Defined in:
lib/opal/connect/plugins/events.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#events_dom(selector = false) ⇒ Object

Returns the value of attribute events_dom.



24
25
26
# File 'lib/opal/connect/plugins/events.rb', line 24

def events_dom
  @events_dom
end

Instance Method Details

#connect_eventsObject



19
20
21
# File 'lib/opal/connect/plugins/events.rb', line 19

def connect_events
  $connect_events[self] ||= []
end

#on(name, selector = nil, method = nil, &handler) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/opal/connect/plugins/events.rb', line 34

def on(name, selector = nil, method = nil, &handler)
  if RUBY_ENGINE == 'opal'
    return if $connect_events_started

    if name.to_s != 'document' && events_dom
      selector = "#{events_dom} #{selector}"
    end

    klass   = self
    handler = proc { |evt| klass.new.__send__(method, evt) } if method
    event   = [klass, name, selector, handler]
    connect_events << event unless connect_events.include? event
  end
end