Allow passing columns
This commit is contained in:
parent
b92adecb53
commit
890de94fa0
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue