Skip to content

Commit

Permalink
Push disposables out of the backend
Browse files Browse the repository at this point in the history
  • Loading branch information
gaearon committed Apr 4, 2015
1 parent f37f5b7 commit 1f74ac8
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
13 changes: 6 additions & 7 deletions modules/backends/HTML5.js
@@ -1,5 +1,4 @@
import { DragSource } from 'dnd-core';
import { Disposable } from 'rx-lite';
import NativeTypes from '../NativeTypes';
import EnterLeaveCounter from '../utils/EnterLeaveCounter';
import invariant from 'react/lib/invariant';
Expand Down Expand Up @@ -398,9 +397,9 @@ export default class HTML5Backend {
connectSourcePreviewNode(sourceId, node) {
this.sourcePreviewNodes[sourceId] = node;

return new Disposable(() => {
return () => {
delete this.sourcePreviewNodes[sourceId];
});
};
}

connectSourceNode(sourceId, node) {
Expand All @@ -409,10 +408,10 @@ export default class HTML5Backend {
node.setAttribute('draggable', true);
node.addEventListener('dragstart', handleDragStart);

return new Disposable(() => {
return () => {
node.removeEventListener('dragstart', handleDragStart);
node.setAttribute('draggable', false);
});
};
}

connectTargetNode(targetId, node) {
Expand All @@ -424,10 +423,10 @@ export default class HTML5Backend {
node.addEventListener('dragover', handleDragOver);
node.addEventListener('drop', handleDrop);

return new Disposable(() => {
return () => {
node.removeEventListener('dragenter', handleDragEnter);
node.removeEventListener('dragover', handleDragOver);
node.removeEventListener('drop', handleDrop);
});
};
}
}
6 changes: 3 additions & 3 deletions modules/configureDragDrop.js
@@ -1,5 +1,5 @@
import React, { Component, PropTypes, findDOMNode } from 'react';
import { CompositeDisposable, SerialDisposable } from 'rx-lite';
import { CompositeDisposable, SerialDisposable, Disposable } from 'rx-lite';
import ComponentDragSource from './ComponentDragSource';
import ComponentDropTarget from './ComponentDropTarget';
import shallowEqual from './utils/shallowEqual';
Expand Down Expand Up @@ -235,8 +235,8 @@ export default function configureDragDrop(InnerComponent, {
serialDisposable.setDisposable(null);

if (nextNode) {
const nextDisposable = connectBackend(handlerId, nextNode);
serialDisposable.setDisposable(nextDisposable);
const dispose = connectBackend(handlerId, nextNode);
serialDisposable.setDisposable(new Disposable(dispose));
currentNode = nextNode;
}
};
Expand Down

0 comments on commit 1f74ac8

Please sign in to comment.