feat(admin): make all sortable/repeater cards collapsible, collapsed by default

- Add useCollapsibleItems: key-based open state, clickable/keyboard head, aria-expanded
- sortable items with sub-fields and every inline repeater/group row now collapse
- Repeater head summary falls back to the first filled field when no listPreview
- Drop per-schema collapsible/defaultCollapsed for repeater groups (JS + PHP)
- Align FloatBtnItemPanel head with the shared collapse attrs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-10-28 14:12:13 +08:00
1 parent 8843ae4261
commit 116b6b2223
9 files changed
+114 -76

No files matched your search

@@ -267,8 +267,6 @@ namespace {
foreach ($tab['fields'] as $field) {
if (($field['type'] ?? '') === 'group') {
$out['groups'][$tab['key'] . '/' . $field['key']] = [
'collapsible' => $field['collapsible'] ?? null,
'defaultCollapsed' => $field['defaultCollapsed'] ?? null,
'listPreview' => $field['listPreview'] ?? null,
];
}
@@ -294,8 +292,6 @@ namespace {
continue;
}
$out['groups']['points-exchange/' . $field['key']] = [
'collapsible' => $field['collapsible'] ?? null,
'defaultCollapsed' => $field['defaultCollapsed'] ?? null,
'listPreview' => $field['listPreview'] ?? null,
];
}