@jbrowse/plugin-linear-genome-view
Version:
JBrowse 2 linear genome view
33 lines (32 loc) • 1.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const DragIndicator_1 = __importDefault(require("@mui/icons-material/DragIndicator"));
const mui_1 = require("tss-react/mui");
const useStyles = (0, mui_1.makeStyles)()({
dragHandle: {
cursor: 'grab',
},
dragHandleIcon: {
display: 'inline-block',
verticalAlign: 'middle',
pointerEvents: 'none',
},
});
function TrackLabelDragHandle({ trackId, view, track, }) {
const { classes } = useStyles();
return ((0, jsx_runtime_1.jsx)("span", { draggable: true, className: classes.dragHandle, onDragStart: event => {
const target = event.currentTarget;
if (target.parentNode) {
const parent = target.parentNode;
event.dataTransfer.setDragImage(parent, 20, 20);
view.setDraggingTrackId(track.id);
}
}, onDragEnd: () => {
view.setDraggingTrackId(undefined);
}, "data-testid": `dragHandle-${view.id}-${trackId}`, children: (0, jsx_runtime_1.jsx)(DragIndicator_1.default, { className: classes.dragHandleIcon, fontSize: "small" }) }));
}
exports.default = TrackLabelDragHandle;