Small performance boost for dragging within containers

This commit is contained in:
space-nuko
2023-05-20 09:39:28 -05:00
parent fb8cca4a2b
commit c644f2e891
3 changed files with 9 additions and 9 deletions

View File

@@ -25,7 +25,7 @@
export let isMobile: boolean = false; export let isMobile: boolean = false;
let isOpen: Writable<boolean> | null = null; let isOpen: Writable<boolean> | null = null;
let children: IDragItem[] | null = null; let children: IDragItem[] = [];
const flipDurationMs = 100; const flipDurationMs = 100;
let selectedIndex: number = 0; let selectedIndex: number = 0;
@@ -61,7 +61,7 @@
} }
</script> </script>
{#if container && Array.isArray(children)} {#if container}
{@const selected = $uiState.uiUnlocked && $selectionState.currentSelection.includes(container.id)} {@const selected = $uiState.uiUnlocked && $selectionState.currentSelection.includes(container.id)}
<div class="container {container.attrs.direction} {container.attrs.classes} {classes.join(' ')} z-index{zIndex}" <div class="container {container.attrs.direction} {container.attrs.classes} {classes.join(' ')} z-index{zIndex}"
class:hide-block={container.attrs.containerVariant === "hidden"} class:hide-block={container.attrs.containerVariant === "hidden"}

View File

@@ -24,7 +24,7 @@
export let isMobile: boolean = false; export let isMobile: boolean = false;
let attrsChanged: Writable<number> | null = null; let attrsChanged: Writable<number> | null = null;
let children: IDragItem[] | null = null; let children: IDragItem[] = [];
const flipDurationMs = 100; const flipDurationMs = 100;
$: if (container) { $: if (container) {
@@ -35,12 +35,12 @@
} }
else { else {
container = null; container = null;
children = null; children = [];
attrsChanged = null; attrsChanged = null;
} }
} }
else { else {
children = null; children = [];
attrsChanged = null attrsChanged = null
} }
@@ -55,7 +55,7 @@
}; };
</script> </script>
{#if container && Array.isArray(children)} {#if container}
{@const selected = $uiState.uiUnlocked && $selectionState.currentSelection.includes(container.id)} {@const selected = $uiState.uiUnlocked && $selectionState.currentSelection.includes(container.id)}
<div class="container {container.attrs.direction} {container.attrs.classes} {classes.join(' ')} z-index{zIndex}" <div class="container {container.attrs.direction} {container.attrs.classes} {classes.join(' ')} z-index{zIndex}"
class:hide-block={container.attrs.containerVariant === "hidden"} class:hide-block={container.attrs.containerVariant === "hidden"}

View File

@@ -25,7 +25,7 @@
export let isMobile: boolean = false; export let isMobile: boolean = false;
let attrsChanged: Writable<boolean> | null = null; let attrsChanged: Writable<boolean> | null = null;
let children: IDragItem[] | null = null; let children: IDragItem[] = [];
const flipDurationMs = 100; const flipDurationMs = 100;
let selectedIndex: number = 0; let selectedIndex: number = 0;
@@ -35,7 +35,7 @@
attrsChanged = container.attrsChanged attrsChanged = container.attrsChanged
} }
else { else {
children = null; children = [];
attrsChanged = null attrsChanged = null
} }
@@ -68,7 +68,7 @@
} }
</script> </script>
{#if container && Array.isArray(children)} {#if container}
{@const selected = $uiState.uiUnlocked && $selectionState.currentSelection.includes(container.id)} {@const selected = $uiState.uiUnlocked && $selectionState.currentSelection.includes(container.id)}
<div class="container {container.attrs.direction} {container.attrs.classes} {classes.join(' ')} z-index{zIndex}" <div class="container {container.attrs.direction} {container.attrs.classes} {classes.join(' ')} z-index{zIndex}"
class:hide-block={container.attrs.containerVariant === "hidden"} class:hide-block={container.attrs.containerVariant === "hidden"}