fix nodeview dragging (#1775)

This commit is contained in:
Philip Okugbe
2025-12-11 19:32:18 +00:00
committed by GitHub
parent cb9f27da9a
commit 6e350f6746
9 changed files with 11 additions and 10 deletions
@@ -87,7 +87,7 @@ export default function DrawioView(props: NodeViewProps) {
}; };
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
<Modal.Root opened={opened} onClose={close} fullScreen> <Modal.Root opened={opened} onClose={close} fullScreen>
<Modal.Overlay /> <Modal.Overlay />
<Modal.Content style={{ overflow: "hidden" }}> <Modal.Content style={{ overflow: "hidden" }}>
@@ -85,7 +85,7 @@ export default function EmbedView(props: NodeViewProps) {
} }
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
{embedUrl ? ( {embedUrl ? (
<ResizableWrapper <ResizableWrapper
initialHeight={nodeHeight || 480} initialHeight={nodeHeight || 480}
@@ -118,7 +118,7 @@ export default function ExcalidrawView(props: NodeViewProps) {
}; };
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
<ReactClearModal <ReactClearModal
style={{ style={{
backgroundColor: "rgba(0, 0, 0, 0.5)", backgroundColor: "rgba(0, 0, 0, 0.5)",
@@ -16,7 +16,7 @@ export default function ImageView(props: NodeViewProps) {
}, [align]); }, [align]);
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
<Image <Image
radius="md" radius="md"
fit="contain" fit="contain"
@@ -31,7 +31,7 @@ export default function MentionView(props: NodeViewProps) {
}); });
return ( return (
<NodeViewWrapper style={{ display: "inline" }}> <NodeViewWrapper style={{ display: "inline" }} data-drag-handle>
{entityType === "user" && ( {entityType === "user" && (
<Text className={classes.userMention} component="span"> <Text className={classes.userMention} component="span">
@{label} @{label}
@@ -52,7 +52,7 @@ export default function SubpagesView(props: NodeViewProps) {
if (error && !shareId) { if (error && !shareId) {
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
<Text c="dimmed" size="md" py="md"> <Text c="dimmed" size="md" py="md">
{t("Failed to load subpages")} {t("Failed to load subpages")}
</Text> </Text>
@@ -62,7 +62,7 @@ export default function SubpagesView(props: NodeViewProps) {
if (subpages.length === 0) { if (subpages.length === 0) {
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
<div className={classes.container}> <div className={classes.container}>
<Text c="dimmed" size="md" py="md"> <Text c="dimmed" size="md" py="md">
{t("No subpages")} {t("No subpages")}
@@ -73,7 +73,7 @@ export default function SubpagesView(props: NodeViewProps) {
} }
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
<div className={classes.container}> <div className={classes.container}>
<Stack gap={5}> <Stack gap={5}>
{subpages.map((page) => ( {subpages.map((page) => (
@@ -15,7 +15,7 @@ export default function VideoView(props: NodeViewProps) {
}, [align]); }, [align]);
return ( return (
<NodeViewWrapper> <NodeViewWrapper data-drag-handle>
<video <video
preload="metadata" preload="metadata"
width={width} width={width}
+1
View File
@@ -165,6 +165,7 @@ export const Mention = Node.create<MentionOptions>({
inline: true, inline: true,
selectable: true, selectable: true,
atom: true, atom: true,
draggable: true,
addAttributes() { addAttributes() {
return { return {
@@ -28,7 +28,7 @@ export const Subpages = Node.create<SubpagesOptions>({
group: "block", group: "block",
atom: true, atom: true,
draggable: false, draggable: true,
parseHTML() { parseHTML() {
return [ return [