($selectedCellId = null)}
->
+
{#each $visibleRows as row, idx}
diff --git a/packages/frontend-core/src/components/sheet/SheetRow.svelte b/packages/frontend-core/src/components/sheet/SheetRow.svelte
index 2238469a30..4f28982d21 100644
--- a/packages/frontend-core/src/components/sheet/SheetRow.svelte
+++ b/packages/frontend-core/src/components/sheet/SheetRow.svelte
@@ -14,10 +14,13 @@
visibleColumns,
hoveredRowId,
selectedCellMap,
+ selectedCellRow,
+ menu,
} = getContext("sheet")
$: rowSelected = !!$selectedRows[row._id]
$: rowHovered = $hoveredRowId === row._id
+ $: containsSelectedCell = $selectedCellRow?._id === row._id
($hoveredRowId = null)}
>
{#each $visibleColumns as column (column.name)}
- {@const cellIdx = `${row._id}-${column.name}`}
+ {@const cellId = `${row._id}-${column.name}`}
($selectedCellId = cellIdx)}
+ on:click={() => ($selectedCellId = cellId)}
+ on:contextmenu={e => menu.actions.open(cellId, e)}
width={column.width}
>
rows.actions.updateRow(row._id, column, val)}
readonly={column.schema.autocolumn}
/>
diff --git a/packages/frontend-core/src/components/sheet/SheetScrollWrapper.svelte b/packages/frontend-core/src/components/sheet/SheetScrollWrapper.svelte
index d5c1fad67d..893be80542 100644
--- a/packages/frontend-core/src/components/sheet/SheetScrollWrapper.svelte
+++ b/packages/frontend-core/src/components/sheet/SheetScrollWrapper.svelte
@@ -12,6 +12,7 @@
hoveredRowId,
maxScrollTop,
maxScrollLeft,
+ selectedCellId,
} = getContext("sheet")
export let scrollVertically = true
@@ -71,7 +72,11 @@
})
-
+
($selectedCellId = null)}
+>
diff --git a/packages/frontend-core/src/components/sheet/StickyColumn.svelte b/packages/frontend-core/src/components/sheet/StickyColumn.svelte
index 090f9c6c98..9dd2230483 100644
--- a/packages/frontend-core/src/components/sheet/StickyColumn.svelte
+++ b/packages/frontend-core/src/components/sheet/StickyColumn.svelte
@@ -1,7 +1,6 @@