From 26ca96eaa9398c797d2e9a7d8fae4db162fe8c97 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 28 Feb 2023 14:17:06 +0000 Subject: [PATCH] Use nicer checkboxes and fix some hover styles --- .../src/components/sheet/HeaderRow.svelte | 13 ++----- .../src/components/sheet/NewRow.svelte | 2 +- .../src/components/sheet/SheetCell.svelte | 6 +++- .../src/components/sheet/SheetRow.svelte | 35 ++++++------------- 4 files changed, 19 insertions(+), 37 deletions(-) diff --git a/packages/frontend-core/src/components/sheet/HeaderRow.svelte b/packages/frontend-core/src/components/sheet/HeaderRow.svelte index 3802fc2664..61152f35e8 100644 --- a/packages/frontend-core/src/components/sheet/HeaderRow.svelte +++ b/packages/frontend-core/src/components/sheet/HeaderRow.svelte @@ -2,6 +2,7 @@ import SheetCell from "./SheetCell.svelte" import { getContext } from "svelte" import { Icon } from "@budibase/bbui" + import { Checkbox } from "@budibase/bbui" const { visibleColumns, reorder, selectedRows, rows } = getContext("spreadsheet") @@ -36,10 +37,7 @@
- + {#each $visibleColumns as column} :last-child) { border-right-width: 1px; } - input[type="checkbox"] { - margin: 0; - } diff --git a/packages/frontend-core/src/components/sheet/NewRow.svelte b/packages/frontend-core/src/components/sheet/NewRow.svelte index bea996ecab..09121d636b 100644 --- a/packages/frontend-core/src/components/sheet/NewRow.svelte +++ b/packages/frontend-core/src/components/sheet/NewRow.svelte @@ -35,7 +35,7 @@ width: inherit; position: absolute; } - .row:hover :global(.cell) { + :global(.sheet:not(.is-resizing):not(.is-reordering) .row:hover .cell) { background: var(--cell-background-hover); cursor: pointer; } diff --git a/packages/frontend-core/src/components/sheet/SheetCell.svelte b/packages/frontend-core/src/components/sheet/SheetCell.svelte index 2fc20bf8b7..8d177d39af 100644 --- a/packages/frontend-core/src/components/sheet/SheetCell.svelte +++ b/packages/frontend-core/src/components/sheet/SheetCell.svelte @@ -76,7 +76,7 @@ gap: calc(2 * var(--cell-spacing)); z-index: 10; } - .cell.header :global(span) { + .cell.header :global(> span) { flex: 1 1 auto; width: 0; white-space: nowrap; @@ -127,5 +127,9 @@ position: sticky; left: 0; z-index: 5; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; } diff --git a/packages/frontend-core/src/components/sheet/SheetRow.svelte b/packages/frontend-core/src/components/sheet/SheetRow.svelte index 9ecc134e20..67a479963a 100644 --- a/packages/frontend-core/src/components/sheet/SheetRow.svelte +++ b/packages/frontend-core/src/components/sheet/SheetRow.svelte @@ -9,6 +9,7 @@ import NumberCell from "./cells/NumberCell.svelte" import RelationshipCell from "./cells/RelationshipCell.svelte" import TextCell from "./cells/TextCell.svelte" + import { Checkbox } from "@budibase/bbui" export let row @@ -20,25 +21,16 @@ visibleColumns, cellHeight, } = getContext("spreadsheet") + const TypeComponentMap = { + options: OptionsCell, + datetime: DateCell, + array: MultiSelectCell, + number: NumberCell, + link: RelationshipCell, + } $: rowSelected = !!$selectedRows[row._id] - const getCellForField = field => { - const type = field.schema.type - if (type === "options") { - return OptionsCell - } else if (type === "datetime") { - return DateCell - } else if (type === "array") { - return MultiSelectCell - } else if (type === "number") { - return NumberCell - } else if (type === "link") { - return RelationshipCell - } - return TextCell - } - const selectRow = id => { selectedRows.update(state => ({ ...state, @@ -50,7 +42,7 @@
selectRow(row._id)}>
- +
{row.__idx + 1} @@ -70,7 +62,7 @@ column={column.idx} >