lin3s-event-bus
Version:
Simple but powerful event bus written in ES2015
36 lines (28 loc) • 1.05 kB
JavaScript
/*
* This file is part of the EventBusJS library.
*
* Copyright (c) 2016-present LIN3S <info@lin3s.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author Beñat Espiña <benatespina@gmail.com>
* @author Mikel Tuesta <mikeltuesta@gmail.com>
*/
import EventSubscriber from './../Core/EventSubscriber';
import NodeAddedEvent from './../Events/NodeAddedEvent';
import isDomNodeDescendantOfDomNode from './../Dom/isDomNodeDescendantOfDomNode';
class NodeAddedEventSubscriber extends EventSubscriber {
constructor(aCallback, aPriority, selector, rootNode) {
super(aCallback, aPriority);
this.selector = selector;
this.rootNode = rootNode;
}
isSubscribedTo(anEvent) {
const event = new NodeAddedEvent();
return anEvent.getName() === event.getName()
&& this.selector === anEvent.selector
&& anEvent.nodes.every(node => isDomNodeDescendantOfDomNode(node, this.rootNode));
}
}
export default NodeAddedEventSubscriber;