Module: EventMock

Defined in:
opal/fron/event_mock.rb

Overview

Event Mock module for mocking events

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.mockBoolean

Sets / gets the whether or not to mock events.

Parameters:

  • value (Boolean)

    To mock or not

Returns:

  • (Boolean)

    The value



18
19
20
# File 'opal/fron/event_mock.rb', line 18

def mock
  @mock
end

.verboseBoolean

Sets / gets the whether or not log event triggers

Parameters:

  • value (Boolean)

    The verbosity

Returns:

  • (Boolean)

    The verbosity



11
12
13
# File 'opal/fron/event_mock.rb', line 11

def verbose
  @verbose
end

Class Method Details

.dispath_event(element, event, type) ⇒ type

Dispatches a sytetic event

Parameters:

  • element (DOM::Element)

    The element

  • event (SynteticEvent)

    The event

  • type (String)

    Event type

Returns:

  • (type)
    description


37
38
39
40
41
42
43
44
45
46
47
48
# File 'opal/fron/event_mock.rb', line 37

def dispath_event(element, event, type)
  if `#{element.listeners} || Opal.nil`
    element.listeners[type].to_a.each do |method|
      break unless `#{event}.immediatePropagate`
      method.call event
    end
  end
  return unless `#{event}.propagate`
  return unless element.respond_to?(:parent)
  return unless element.parent
  dispath_event element.parent, event, type
end

.mock_eventsObject

Mocks triggers on DOM::Events



51
52
53
54
55
56
# File 'opal/fron/event_mock.rb', line 51

def mock_events
  @mock = true
  yield
ensure
  @mock = false
end

.trigger_event(element, type, data = {}) ⇒ Object

Triggers a syntetic event.

Parameters:

  • element (DOM::Element)

    The element

  • type (String)

    Event type

  • data (Hash) (defaults to: {})

    The data for the event



25
26
27
28
# File 'opal/fron/event_mock.rb', line 25

def trigger_event(element, type, data = {})
  event = `new SynteticEvent(#{element.instance_variable_get('@el')}, #{data.to_n})`
  dispath_event element, event, type
end