1
0
Fork 0
mirror of synced 2024-08-23 05:51:29 +12:00
budibase/packages/builder/src/components/common/LinkedRecordSelector.svelte

68 lines
1.3 KiB
Svelte
Raw Normal View History

<script>
import { onMount } from "svelte";
import { backendUiStore } from "builderStore"
import api from "builderStore/api"
export let modelId
export let linkedRecords
let records = []
async function fetchRecords() {
const FETCH_RECORDS_URL = `/api/${$backendUiStore.selectedDatabase._id}/${modelId}/records`
const response = await api.get(FETCH_RECORDS_URL)
records = await response.json()
}
onMount(() => {
fetchRecords()
})
function linkRecord(record) {
linkedRecords.push(record);
}
</script>
<section>
{#each records as record}
<div class="linked-record" on:click={linkRecord}>
<h3>{record.name}</h3>
<div class="fields">
{#each Object.keys(record) as key}
<div class="field">
<span>{key}</span>
<p>{record[key]}</p>
</div>
{/each}
</div>
</div>
{/each}
</section>
<style>
section {
background: var(--grey);
padding: 20px;
}
.fields {
padding: 20px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 20px;
background: var(--white);
border: 1px solid var(--grey);
border-radius: 5px;
}
.field span {
color: var(--ink-lighter);
font-size: 12px;
}
.field p {
color: var(--ink);
font-size: 14px;
word-break: break-word;
}
</style>