Skip to content

Commit 319f028

Browse files
committed
Fix key handling for non-object items in list widgets
1 parent 53f76de commit 319f028

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/lib/components/contents/details/widgets/list/list-editor-complex.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
-->
66
<script>
77
import { Button, Icon, Menu, MenuButton, MenuItem, Spacer, TruncatedText } from '@sveltia/ui';
8+
import { isObject } from '@sveltia/utils/object';
89
import { escapeRegExp } from '@sveltia/utils/string';
910
import { unflatten } from 'flat';
1011
import { getContext, onMount } from 'svelte';
@@ -277,7 +278,7 @@
277278
</div>
278279
{/if}
279280
<div role="none" id="list-{widgetId}-item-list" class="item-list" class:collapsed={!parentExpanded}>
280-
{#each items as item, index (item.__sc_item_id ?? index)}
281+
{#each items as item, index (isObject(item) ? (item.__sc_item_id ?? index) : index)}
281282
<VisibilityObserver>
282283
{@const expandedKeyPath = `${keyPath}.${index}`}
283284
{@const expanded = $entryDraft?.expanderStates?._[expandedKeyPath] ?? true}

src/lib/components/contents/details/widgets/list/list-preview-complex.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
@see https://decapcms.org/docs/widgets/#list
55
-->
66
<script>
7+
import { isObject } from '@sveltia/utils/object';
78
import { escapeRegExp } from '@sveltia/utils/string';
89
import { unflatten } from 'flat';
910
@@ -55,7 +56,7 @@
5556
);
5657
</script>
5758
58-
{#each items as item, index (item.__sc_item_id ?? index)}
59+
{#each items as item, index (isObject(item) ? (item.__sc_item_id ?? index) : index)}
5960
<VisibilityObserver>
6061
{@const subFieldName = Array.isArray(types)
6162
? $entryDraft?.currentValues[locale][`${keyPath}.${index}.${typeKey}`]

0 commit comments

Comments
 (0)