1
0
Fork 0
mirror of synced 2024-09-20 19:33:10 +12:00

Allow passing columns

This commit is contained in:
Adria Navarro 2024-08-16 16:38:24 +02:00
parent b92adecb53
commit 890de94fa0

View file

@ -1,14 +1,15 @@
<script> <script>
import { getContext } from "svelte" import { getContext } from "svelte"
import { Icon, notifications } from "@budibase/bbui" import { Icon, notifications, ActionButton } from "@budibase/bbui"
import { getColumnIcon } from "../lib/utils" import { getColumnIcon } from "../lib/utils"
import ToggleActionButtonGroup from "./ToggleActionButtonGroup.svelte" import ToggleActionButtonGroup from "./ToggleActionButtonGroup.svelte"
import { helpers } from "@budibase/shared-core" import { helpers } from "@budibase/shared-core"
import { FieldType } from "@budibase/types" import { FieldType } from "@budibase/types"
export let allowViewReadonlyColumns = false export let allowViewReadonlyColumns = false
export let columns
const { columns, datasource, dispatch } = getContext("grid") const { datasource, dispatch } = getContext("grid")
$: allowRelationshipSchemas = true // TODO $: allowRelationshipSchemas = true // TODO
@ -37,7 +38,7 @@
HIDDEN: "hidden", HIDDEN: "hidden",
} }
$: displayColumns = $columns.map(c => { $: displayColumns = columns.map(c => {
const isRequired = helpers.schema.isRequired(c.schema.constraints) const isRequired = helpers.schema.isRequired(c.schema.constraints)
const requiredTooltip = isRequired && "Required columns must be writable" const requiredTooltip = isRequired && "Required columns must be writable"
const editEnabled = const editEnabled =
@ -104,7 +105,14 @@
options={column.options} options={column.options}
/> />
{#if allowRelationshipSchemas && column.schema.type === FieldType.LINK} {#if allowRelationshipSchemas && column.schema.type === FieldType.LINK}
<Icon size="S" name="ChevronRight" /> <div class="relationship-columns">
<ActionButton
on:click={() => dispatch("click", "")}
size="S"
icon="ChevronRight"
quiet
/>
</div>
{/if} {/if}
</div> </div>
{/each} {/each}
@ -112,6 +120,11 @@
</div> </div>
<style> <style>
.relationship-columns :global(.spectrum-ActionButton) {
width: 28px;
height: 28px;
}
.content { .content {
padding: 12px 12px; padding: 12px 12px;
display: flex; display: flex;
@ -141,6 +154,6 @@
} }
.column-options { .column-options {
display: flex; display: flex;
gap: var(--spacing-s); gap: var(--spacing-xs);
} }
</style> </style>