diff --git a/packages/web/src/datagrid/ColumnManager.svelte b/packages/web/src/datagrid/ColumnManager.svelte index d6ff99ecd..ee889e90e 100644 --- a/packages/web/src/datagrid/ColumnManager.svelte +++ b/packages/web/src/datagrid/ColumnManager.svelte @@ -142,6 +142,8 @@ }, }); } + + let isColumnManagerFocused = false; {#if allowChangeChangeSetStructure} @@ -207,9 +209,13 @@ bind:this={domFocusField} on:keydown={handleKeyDown} on:focus={() => { + isColumnManagerFocused = true; // activator.activate(); // invalidateCommands(); }} + on:blur={() => { + isColumnManagerFocused = false; + }} on:copy={copyToClipboard} /> @@ -224,6 +230,7 @@ {database} {tableInfo} {setTableInfo} + {isColumnManagerFocused} columnInfo={tableInfo?.columns?.[columnIndex]} {columnIndex} {allowChangeChangeSetStructure} diff --git a/packages/web/src/datagrid/ColumnManagerRow.svelte b/packages/web/src/datagrid/ColumnManagerRow.svelte index 5ec95caf2..864f6c60d 100644 --- a/packages/web/src/datagrid/ColumnManagerRow.svelte +++ b/packages/web/src/datagrid/ColumnManagerRow.svelte @@ -22,6 +22,8 @@ export let columnInfo = null; export let columnIndex = -1; + export let isColumnManagerFocused = false; + export let allowChangeChangeSetStructure = false; $: addDataCommand = allowChangeChangeSetStructure; @@ -49,6 +51,7 @@ else display.focusColumns([column.uniqueName]); }} class:isSelected + class:isFocused={isColumnManagerFocused} on:click on:mousedown on:mousemove @@ -123,6 +126,10 @@ } .row.isSelected { + background: var(--theme-bg-3); + } + + .row.isSelected.isFocused { background: var(--theme-bg-selected); } diff --git a/packages/web/src/datagrid/DataGridCell.svelte b/packages/web/src/datagrid/DataGridCell.svelte index 657d9f39b..12100ddbb 100644 --- a/packages/web/src/datagrid/DataGridCell.svelte +++ b/packages/web/src/datagrid/DataGridCell.svelte @@ -173,6 +173,9 @@ background: var(--theme-bg-volcano); } td.isSelected { + background: var(--theme-bg-3); + } + :global(.data-grid-focused) td.isSelected { background: var(--theme-bg-selected); } td.isDeleted { diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index d5b54d698..3010f74db 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -492,6 +492,8 @@ let autofillSelectedCells = emptyCellArray; const domFilterControlsRef = createRef({}); + let isGridFocused=false; + const tabid = getContext('tabid'); let unsubscribeDbRefresh; @@ -1041,7 +1043,6 @@ return !hideGridLeftColumn; } - $: autofillMarkerCell = selectedCells && selectedCells.length > 0 && _.uniq(selectedCells.map(x => x[0])).length == 1 ? [_.max(selectedCells.map(x => x[0])), _.max(selectedCells.map(x => x[1]))] @@ -1863,6 +1864,7 @@ {:else}
{ activator.activate(); invalidateCommands(); + isGridFocused = true; }} + on:blur on:paste={handlePaste} on:copy={copyToClipboard} - on:blur={handleBlur} + on:blur={() => { + isGridFocused = false; + }} />