1
0
Fork 0
mirror of synced 2024-09-14 00:08:25 +12:00
budibase/packages/bbui/src/Table/RelationshipRenderer.svelte
2021-04-12 15:16:49 +01:00

40 lines
864 B
Svelte

<script>
import "@spectrum-css/label/dist/index-vars.css"
import { createEventDispatcher } from "svelte"
export let row
export let value
export let schema
const dispatch = createEventDispatcher()
const displayLimit = 5
$: relationships = value?.slice(0, displayLimit) ?? []
$: leftover = (value?.length ?? 0) - relationships.length
const onClick = e => {
e.stopPropagation()
dispatch("clickrelationship", {
tableId: row.tableId,
rowId: row._id,
fieldName: schema?.name,
})
}
</script>
{#each relationships as relationship}
{#if relationship?.primaryDisplay}
<span class="spectrum-Label spectrum-Label--grey" on:click={onClick}>
{relationship.primaryDisplay}
</span>
{/if}
{/each}
{#if leftover}
<div>+{leftover} more</div>
{/if}
<style>
span:hover {
cursor: pointer;
}
</style>