lib/volt/reactive/events.rb in volt-0.7.10 vs lib/volt/reactive/events.rb in volt-0.7.12
- old
+ new
@@ -60,18 +60,16 @@
@callback.call(*args)
end
# Removes the listener from where ever it was created.
def remove
- # puts "FAIL:" if @removed
if @removed
# raise "event #{@event} already removed"
puts "event #{@event} already removed"
return
end
- # puts "e rem: #{@event} on #{@klass.inspect}"
if DEBUG && RUBY_PLATFORM == 'opal'
@@all_events.delete(self) if @@all_events
`window.total_listeners -= 1;`
`console.log("Rem", window.total_listeners);`
@@ -79,12 +77,10 @@
@removed = true
@klass.remove_listener(@event, self)
- # puts "Removed Listener for: #{@event} - #{@scope_provider && @scope_provider.scope.inspect} from #{@klass.inspect}"
-
# We need to clear these references to free the memory
@scope_provider = nil
@callback = nil
# @klass2 = @klass
@klass = nil
@@ -99,11 +95,10 @@
module Events
# Add a listener for an event
def on(event, scope_provider=nil, &block)
- # puts "Register: #{event} on #{self.inspect}"
event = event.to_sym
@has_listeners = true
new_listener = Listener.new(self, event, scope_provider, block)
@@ -175,27 +170,21 @@
end
end
def trigger!(event, filter=nil, *args)
are_reactive = reactive?
- # ObjectTracker.process_queue if !are_reactive
- # puts "DT"
- # insp = self.inspect
- # puts "TRIGGER #{event} on #{insp}"
event = event.to_sym
if @listeners && @listeners[event]
- # puts "LISTENERS FOR #{event} on #{self.inspect} - #{@listeners[event].inspect}"
# TODO: We have to dup here because one trigger might remove another
@listeners[event].dup.each do |listener|
# Call the event on each listener
# If there is no listener, that means another event trigger removed it.
# If there is no filter, call
# if we aren't reactive, we should pass to all of our reactive listeners, since they
# just proxy us.
# If the filter exists, check it
- # puts "CHECK #{listener.inspect} : #{self.inspect} -- #{listener.klass.inspect}"
if (!filter || (!are_reactive && listener.scope_provider.reactive?) || filter.call(listener.scope))
listener.call(filter, *args)
end
end
end