|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = createTargetConnector;
-
- var _wrapConnectorHooks = require('./wrapConnectorHooks');
-
- var _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);
-
- var _areOptionsEqual = require('./areOptionsEqual');
-
- var _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function createTargetConnector(backend) {
- var currentHandlerId = void 0;
-
- var currentDropTargetNode = void 0;
- var currentDropTargetOptions = void 0;
- var disconnectCurrentDropTarget = void 0;
-
- function reconnectDropTarget() {
- if (disconnectCurrentDropTarget) {
- disconnectCurrentDropTarget();
- disconnectCurrentDropTarget = null;
- }
-
- if (currentHandlerId && currentDropTargetNode) {
- disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);
- }
- }
-
- function receiveHandlerId(handlerId) {
- if (handlerId === currentHandlerId) {
- return;
- }
-
- currentHandlerId = handlerId;
- reconnectDropTarget();
- }
-
- var hooks = (0, _wrapConnectorHooks2.default)({
- dropTarget: function connectDropTarget(node, options) {
- if (node === currentDropTargetNode && (0, _areOptionsEqual2.default)(options, currentDropTargetOptions)) {
- return;
- }
-
- currentDropTargetNode = node;
- currentDropTargetOptions = options;
-
- reconnectDropTarget();
- }
- });
-
- return {
- receiveHandlerId: receiveHandlerId,
- hooks: hooks
- };
- }
|