@magicbe/design
Version:
React + Antd Drag Drop Visual design
38 lines (37 loc) • 1.9 kB
JavaScript
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
return cooked;
};
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import { jsx as _jsx } from "react/jsx-runtime";
import { useDesignContext } from "../context";
import createInstance from "@emotion/css/create-instance";
var _a = createInstance({ key: "draggable" }), css = _a.css, cx = _a.cx;
/**推拽 */
var Draggable = function (_a) {
var children = _a.children, className = _a.className, widget = _a.widget, group = _a.group;
var _b = useDesignContext(), setDragWidget = _b.setDragWidget, setDropWidget = _b.setDropWidget, onDrag = _b.onDrag;
var cls = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n cursor: pointer;\n margin-bottom: 15px;\n margin-right: 15px;\n "], ["\n cursor: pointer;\n margin-bottom: 15px;\n margin-right: 15px;\n "])));
var onDragStart = function () {
setDragWidget({ widget: widget, group: group });
onDrag && onDrag({ widget: widget, group: group });
};
var onDragEnd = function () {
setDragWidget(undefined);
setDropWidget(undefined);
onDrag && onDrag(undefined);
};
return (_jsx("div", __assign({ className: cx(cls, className), draggable: true, onDragStart: onDragStart, onDragEnd: onDragEnd }, { children: children })));
};
export default Draggable;
var templateObject_1;