All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
36 lines
1.2 KiB
JavaScript
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;
|
|
} |