UNPKG

react-dnd-html5-backend

Version:

HTML5 backend for React DnD

26 lines (25 loc) 915 B
import { union, without } from './utils/js_utils.js'; export class EnterLeaveCounter { enter(enteringNode) { const previousLength = this.entered.length; const isNodeEntered = (node)=>this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode)) ; this.entered = union(this.entered.filter(isNodeEntered), [ enteringNode ]); return previousLength === 0 && this.entered.length > 0; } leave(leavingNode) { const previousLength = this.entered.length; this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode); return previousLength > 0 && this.entered.length === 0; } reset() { this.entered = []; } constructor(isNodeInDocument){ this.entered = []; this.isNodeInDocument = isNodeInDocument; } } //# sourceMappingURL=EnterLeaveCounter.js.map