Use magic icon for auto column and show icons in hide columns button

This commit is contained in:
Andrew Kingston 2023-05-05 08:56:45 +01:00
parent 9b4fa75954
commit 1ec5df1299
2 changed files with 23 additions and 4 deletions

View File

@ -1,6 +1,7 @@
<script>
import { getContext } from "svelte"
import { ActionButton, Popover, Toggle } from "@budibase/bbui"
import { ActionButton, Popover, Toggle, Icon } from "@budibase/bbui"
import { getColumnIcon } from "../lib/utils"
const { columns, stickyColumn, compact } = getContext("grid")
@ -57,16 +58,24 @@
<div class="content">
<div class="columns">
{#if $stickyColumn}
<div class="column">
<Icon size="S" name={getColumnIcon($stickyColumn)} />
{$stickyColumn.label}
</div>
<Toggle disabled size="S" value={true} />
<span>{$stickyColumn.label}</span>
{/if}
{#each $columns as column}
<div class="column">
<!--{#if column.schema.autocolumn}-->
<Icon size="S" name={getColumnIcon(column)} />
<!--{/if}-->
{column.label}
</div>
<Toggle
size="S"
value={column.visible}
on:change={e => toggleVisibility(column, e.detail)}
/>
<span>{column.label}</span>
{/each}
</div>
<div class="buttons">
@ -91,6 +100,13 @@
.columns {
display: grid;
align-items: center;
grid-template-columns: auto 1fr;
grid-template-columns: 1fr auto;
}
.columns :global(.spectrum-Switch) {
margin-right: 0;
}
.column {
display: flex;
gap: 8px;
}
</style>

View File

@ -21,6 +21,9 @@ const TypeIconMap = {
}
export const getColumnIcon = column => {
if (column.schema.autocolumn) {
return "MagicWand"
}
const type = column.schema.type
return TypeIconMap[type] || "Text"
}