Files
coopgo/node_modules/react-dnd/dist/cjs/hooks/useDrag/useDragSourceConnector.js
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

36 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useDragSourceConnector = useDragSourceConnector;
var _react = require("react");
var _internals = require("../../internals");
var _useDragDropManager = require("../useDragDropManager");
var _useIsomorphicLayoutEffect = require("../useIsomorphicLayoutEffect");
function useDragSourceConnector(dragSourceOptions, dragPreviewOptions) {
var manager = (0, _useDragDropManager.useDragDropManager)();
var connector = (0, _react.useMemo)(function () {
return new _internals.SourceConnector(manager.getBackend());
}, [manager]);
(0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
connector.dragSourceOptions = dragSourceOptions || null;
connector.reconnect();
return function () {
return connector.disconnectDragSource();
};
}, [connector, dragSourceOptions]);
(0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
connector.dragPreviewOptions = dragPreviewOptions || null;
connector.reconnect();
return function () {
return connector.disconnectDragPreview();
};
}, [connector, dragPreviewOptions]);
return connector;
}