diff --git a/packages/builder/src/components/backend/DataTable/modals/grid/GridCreateEditRowModal.svelte b/packages/builder/src/components/backend/DataTable/modals/grid/GridCreateEditRowModal.svelte index e45ffc586e..12ca61722f 100644 --- a/packages/builder/src/components/backend/DataTable/modals/grid/GridCreateEditRowModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/grid/GridCreateEditRowModal.svelte @@ -1,7 +1,7 @@ - rows.actions.refreshRow(e.detail)} /> + rows.actions.refreshRow(e.detail)} + on:deleteRows={deleteRow} + /> diff --git a/packages/frontend-core/src/components/grid/cells/DataCell.svelte b/packages/frontend-core/src/components/grid/cells/DataCell.svelte index f205c0a74a..5a2e02340f 100644 --- a/packages/frontend-core/src/components/grid/cells/DataCell.svelte +++ b/packages/frontend-core/src/components/grid/cells/DataCell.svelte @@ -48,8 +48,8 @@ } const cellAPI = { - focus: () => api?.focus(), - blur: () => api?.blur(), + focus: () => api?.focus?.(), + blur: () => api?.blur?.(), isActive: () => api?.isActive?.() ?? false, onKeyDown: (...params) => api?.onKeyDown(...params), isReadonly: () => readonly, diff --git a/packages/frontend-core/src/components/grid/cells/GutterCell.svelte b/packages/frontend-core/src/components/grid/cells/GutterCell.svelte index d7d197758d..d9fd09fb6c 100644 --- a/packages/frontend-core/src/components/grid/cells/GutterCell.svelte +++ b/packages/frontend-core/src/components/grid/cells/GutterCell.svelte @@ -113,11 +113,15 @@ } .expand { opacity: 0; - pointer-events: none; margin-right: 4px; } + .expand :global(.spectrum-Icon) { + pointer-events: none; + } .expand.visible { opacity: 1; + } + .expand.visible :global(.spectrum-Icon) { pointer-events: all; } diff --git a/packages/frontend-core/src/components/grid/cells/HeaderCell.svelte b/packages/frontend-core/src/components/grid/cells/HeaderCell.svelte index 3979e1114a..165711c51f 100644 --- a/packages/frontend-core/src/components/grid/cells/HeaderCell.svelte +++ b/packages/frontend-core/src/components/grid/cells/HeaderCell.svelte @@ -93,6 +93,16 @@ columns.actions.changePrimaryDisplay(column.name) open = false } + + const hideColumn = () => { + columns.update(state => { + const index = state.findIndex(col => col.name === column.name) + state[index].visible = false + return state.slice() + }) + columns.actions.saveChanges() + open = false + }
Move right + Hide column diff --git a/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte b/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte index 7d7c4664b6..30904fbebc 100644 --- a/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte +++ b/packages/frontend-core/src/components/grid/controls/HideColumnsButton.svelte @@ -2,7 +2,7 @@ import { getContext } from "svelte" import { ActionButton, Popover, Toggle } from "@budibase/bbui" - const { columns } = getContext("grid") + const { columns, stickyColumn } = getContext("grid") let open = false let anchor @@ -55,13 +55,17 @@
+ {#if $stickyColumn} + + {$stickyColumn.label} + {/if} {#each $columns as column} toggleVisibility(column, e.detail)} /> - {column.name} + {column.label} {/each}
diff --git a/packages/frontend-core/src/components/grid/overlays/KeyboardManager.svelte b/packages/frontend-core/src/components/grid/overlays/KeyboardManager.svelte index 4b6d611757..e0e842dc16 100644 --- a/packages/frontend-core/src/components/grid/overlays/KeyboardManager.svelte +++ b/packages/frontend-core/src/components/grid/overlays/KeyboardManager.svelte @@ -46,6 +46,7 @@ } return } else if (e.key === "Tab") { + e.preventDefault() api?.blur?.() changeFocusedColumn(1) return