From 23bd635a8bf0ee534824b04db8af31052a861eb0 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 24 Apr 2024 20:26:58 +0100 Subject: [PATCH] Update relationship cells to use popovers --- .../grid/cells/AttachmentCell.svelte | 9 ++- .../src/components/grid/cells/DateCell.svelte | 2 +- .../components/grid/cells/OptionsCell.svelte | 8 +-- .../grid/cells/RelationshipCell.svelte | 60 +++++-------------- .../src/components/grid/lib/constants.js | 5 ++ .../grid/overlays/GridPopover.svelte | 45 ++++++++++++-- 6 files changed, 70 insertions(+), 59 deletions(-) diff --git a/packages/frontend-core/src/components/grid/cells/AttachmentCell.svelte b/packages/frontend-core/src/components/grid/cells/AttachmentCell.svelte index ac1bb464b3..a74878467b 100644 --- a/packages/frontend-core/src/components/grid/cells/AttachmentCell.svelte +++ b/packages/frontend-core/src/components/grid/cells/AttachmentCell.svelte @@ -93,7 +93,14 @@ {#if isOpen} - +
{#if isOpen} - + {#if isOpen} - -
e.stopPropagation()}> + +
{#each options as option, idx} {@const color = optionColors[option] || getOptionColor(option)} @@ -219,10 +219,6 @@ flex-direction: column; justify-content: flex-start; align-items: stretch; - max-height: var(--max-cell-render-overflow); - overflow-y: auto; - min-width: 200px; - max-width: 400px; } .option { flex: 0 0 var(--default-row-height); diff --git a/packages/frontend-core/src/components/grid/cells/RelationshipCell.svelte b/packages/frontend-core/src/components/grid/cells/RelationshipCell.svelte index a52dd9d53c..ba84316ab4 100644 --- a/packages/frontend-core/src/components/grid/cells/RelationshipCell.svelte +++ b/packages/frontend-core/src/components/grid/cells/RelationshipCell.svelte @@ -1,8 +1,9 @@ -
dispatch("close")}> +
dispatch("close")} + on:wheel={e => e.stopPropagation()} + >
@@ -26,5 +54,12 @@ :global(.grid-popover-container .spectrum-Popover) { background: var(--grid-background-alt); border: var(--cell-border); + min-width: none; + max-width: none; + overflow: hidden; + } + .grid-popover-contents { + overflow-y: auto; + overflow-x: hidden; }