fix
This commit is contained in:
@@ -107,7 +107,6 @@ const DesktopDocumentCard = ({
|
|||||||
draggable
|
draggable
|
||||||
data-desk-tag-chip="true"
|
data-desk-tag-chip="true"
|
||||||
onPointerDownCapture={(event) => {
|
onPointerDownCapture={(event) => {
|
||||||
event.stopPropagation();
|
|
||||||
onDocTagPointerDown(event, doc, tag);
|
onDocTagPointerDown(event, doc, tag);
|
||||||
}}
|
}}
|
||||||
onDragStart={(event) => onDocTagDragStart(event, doc, tag)}
|
onDragStart={(event) => onDocTagDragStart(event, doc, tag)}
|
||||||
|
|||||||
@@ -260,7 +260,6 @@
|
|||||||
|
|
||||||
.tag-chip--draggable.is-drag-hidden {
|
.tag-chip--draggable.is-drag-hidden {
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
pointer-events: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.desk-item__tags .tag-chip {
|
.desk-item__tags .tag-chip {
|
||||||
|
|||||||
@@ -146,7 +146,6 @@ export const useDeskTagInteractions = ({
|
|||||||
);
|
);
|
||||||
|
|
||||||
const handleDocTagPointerDown = useCallback((event, doc, tag) => {
|
const handleDocTagPointerDown = useCallback((event, doc, tag) => {
|
||||||
event.stopPropagation();
|
|
||||||
if (!doc || !tag) {
|
if (!doc || !tag) {
|
||||||
pendingDocTagDragRef.current = null;
|
pendingDocTagDragRef.current = null;
|
||||||
return;
|
return;
|
||||||
@@ -263,7 +262,6 @@ export const useDeskTagInteractions = ({
|
|||||||
if (!event?.dataTransfer || !doc || !tag) {
|
if (!event?.dataTransfer || !doc || !tag) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.stopPropagation();
|
|
||||||
event.dataTransfer.effectAllowed = 'move';
|
event.dataTransfer.effectAllowed = 'move';
|
||||||
writeTagTransferData(event.dataTransfer, tag, doc.id);
|
writeTagTransferData(event.dataTransfer, tag, doc.id);
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,14 @@ const DRAG_HYSTERESIS_PX = 4;
|
|||||||
const DRAG_HYSTERESIS_SQUARED = DRAG_HYSTERESIS_PX * DRAG_HYSTERESIS_PX;
|
const DRAG_HYSTERESIS_SQUARED = DRAG_HYSTERESIS_PX * DRAG_HYSTERESIS_PX;
|
||||||
const EDGE_COLLISION_THRESHOLD = 0.5;
|
const EDGE_COLLISION_THRESHOLD = 0.5;
|
||||||
|
|
||||||
|
const getEventTargetElement = (event) => {
|
||||||
|
if (typeof Element === 'undefined' || !event) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
const candidate = event.target || (event.nativeEvent ? event.nativeEvent.target : null);
|
||||||
|
return candidate instanceof Element ? candidate : null;
|
||||||
|
};
|
||||||
|
|
||||||
const useDocumentDrag = (options = {}) => {
|
const useDocumentDrag = (options = {}) => {
|
||||||
const {
|
const {
|
||||||
engine,
|
engine,
|
||||||
@@ -139,6 +147,10 @@ const useDocumentDrag = (options = {}) => {
|
|||||||
|
|
||||||
const handlePointerDown = useCallback(
|
const handlePointerDown = useCallback(
|
||||||
(event, docIdInput, options = {}) => {
|
(event, docIdInput, options = {}) => {
|
||||||
|
const targetElement = getEventTargetElement(event);
|
||||||
|
if (targetElement && typeof targetElement.closest === 'function' && targetElement.closest('[data-desk-tag-chip="true"]')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
preventAll(event);
|
preventAll(event);
|
||||||
|
|
||||||
const docId = docIdInput != null ? docIdInput : null;
|
const docId = docIdInput != null ? docIdInput : null;
|
||||||
|
|||||||
Reference in New Issue
Block a user