This commit is contained in:
2026-01-13 18:20:01 +02:00
parent 268c696d64
commit 64e067eb59
10 changed files with 144 additions and 47 deletions
@@ -13,6 +13,7 @@
locale,
validationError,
edgeRecordPreviews,
filesPreviews,
} = $props();
let originalValue = dataField?.value ?? schemaField.props.default;
let newValue = $state(originalValue);
@@ -26,7 +27,7 @@
let suggestionsLoaded = $state(false);
let suggestions = $state([]);
let selectedRecordIds = $state([]);
let selectedFilesIds = $state([]);
let dialog = $state();
function handleModalOpen(e) {
@@ -35,10 +36,10 @@
if (suggestionsLoaded) {
return;
}
// get(app.url("records/files"), { recordId: record.id }, (data, err) => {
suggestionsLoaded = true;
// suggestions = data;
// });
get(app.url("records/files"), { recordId: record.id }, (data, err) => {
suggestionsLoaded = true;
suggestions = data;
});
}
function handleModalClose(e) {
@@ -48,9 +49,9 @@
function handleInsertSelected() {
suggestionsLoaded = false;
post(
app.url("edges/many"),
app.url("records/files"),
{
toIds: selectedRecordIds,
toIds: selectedFilesIds,
from: record.id,
fieldId: schemaField.id,
locale: locale,
@@ -179,17 +180,13 @@
<input
type="checkbox"
value={suggestion.id}
bind:group={selectedRecordIds}
bind:group={selectedFilesIds}
/>
</td>
<td>
<a href="#">{suggestion.title}</a>
</td>
<td>
<a href="#">
{suggestion.schemaName}
</a>
<a href="#">{suggestion.name}</a>
</td>
<td> </td>
</tr>
{/each}
</tbody>
@@ -201,21 +198,20 @@
</article>
</dialog>
<div>
{#if edgeRecordPreviews.length == 0}
No relations exist
{#if filesPreviews.length == 0}
No files exist
{:else}
<Sortable
onUpdate={handleSortUpdate}
items={edgeRecordPreviews}
itemKey="edge.id"
items={filesPreviews}
itemKey="recordFile.id"
>
{#snippet itemView(edgeRecordPreview)}
{#snippet itemView(filesPreview)}
<div>
<a href="#">{edgeRecordPreview.recordPreview.title}</a>
{edgeRecordPreview.recordPreview.schemaName}
<a href="#">{filesPreview.file.name}</a>
<button
onclick={(e) =>
handleRemoveEdge(edgeRecordPreview.edge.id)}
handleRemoveEdge(filesPreview.recordFile.id)}
>remove</button
>
</div>