refactor(svelte): prevent jumping nodes
This commit is contained in:
@@ -39,6 +39,7 @@
|
|||||||
export let targetPosition: NodeWrapperProps['targetPosition'] = undefined;
|
export let targetPosition: NodeWrapperProps['targetPosition'] = undefined;
|
||||||
export let zIndex: NodeWrapperProps['zIndex'];
|
export let zIndex: NodeWrapperProps['zIndex'];
|
||||||
export let dragHandle: NodeWrapperProps['dragHandle'] = undefined;
|
export let dragHandle: NodeWrapperProps['dragHandle'] = undefined;
|
||||||
|
export let initialized: NodeWrapperProps['initialized'] = false;
|
||||||
let className: string = '';
|
let className: string = '';
|
||||||
export { className as class };
|
export { className as class };
|
||||||
|
|
||||||
@@ -159,6 +160,7 @@
|
|||||||
style:transform="translate({positionOrigin?.x ?? 0}px, {positionOrigin?.y ?? 0}px)"
|
style:transform="translate({positionOrigin?.x ?? 0}px, {positionOrigin?.y ?? 0}px)"
|
||||||
style:width={node.size?.width && `${node.size?.width}px`}
|
style:width={node.size?.width && `${node.size?.width}px`}
|
||||||
style:height={node.size?.height && `${node.size?.height}px`}
|
style:height={node.size?.height && `${node.size?.height}px`}
|
||||||
|
style:visibility={initialized ? 'visible' : 'hidden'}
|
||||||
{style}
|
{style}
|
||||||
on:click={onSelectNodeHandler}
|
on:click={onSelectNodeHandler}
|
||||||
on:mouseenter={(event) => dispatch('nodemouseenter', { node, event })}
|
on:mouseenter={(event) => dispatch('nodemouseenter', { node, event })}
|
||||||
|
|||||||
@@ -27,4 +27,5 @@ export type NodeWrapperProps = Pick<
|
|||||||
isParent?: boolean;
|
isParent?: boolean;
|
||||||
zIndex: number;
|
zIndex: number;
|
||||||
node: Node;
|
node: Node;
|
||||||
|
initialized: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
{@const posOrigin = getPositionWithOrigin({
|
{@const posOrigin = getPositionWithOrigin({
|
||||||
x: node.positionAbsolute?.x ?? 0,
|
x: node.positionAbsolute?.x ?? 0,
|
||||||
y: node.positionAbsolute?.y ?? 0,
|
y: node.positionAbsolute?.y ?? 0,
|
||||||
width: node.width ?? 0,
|
width: (node.size?.width || node.width) ?? 0,
|
||||||
height: node.height ?? 0,
|
height: (node.size?.height || node.height) ?? 0,
|
||||||
origin: node.origin
|
origin: node.origin
|
||||||
})}
|
})}
|
||||||
<NodeWrapper
|
<NodeWrapper
|
||||||
@@ -65,6 +65,7 @@
|
|||||||
dragging={node.dragging}
|
dragging={node.dragging}
|
||||||
zIndex={node[internalsSymbol]?.z ?? 0}
|
zIndex={node[internalsSymbol]?.z ?? 0}
|
||||||
dragHandle={node.dragHandle}
|
dragHandle={node.dragHandle}
|
||||||
|
initialized={(!!node.width && !!node.height) || (!!node.size?.width && !!node.size?.height)}
|
||||||
{resizeObserver}
|
{resizeObserver}
|
||||||
on:nodeclick
|
on:nodeclick
|
||||||
on:nodemouseenter
|
on:nodemouseenter
|
||||||
|
|||||||
Reference in New Issue
Block a user