From 6cd3cf5db9e548080df44687a2eb753a5dfb7868 Mon Sep 17 00:00:00 2001 From: antoine Date: Fri, 30 Oct 2026 12:07:24 +0100 Subject: [PATCH] Remember collapsed state of Show EntityList & Dashboard fields Co-Authored-By: Claude Opus 5.5 --- resources/js/show/components/fields/Dashboard.vue | 10 +++++----- resources/js/show/components/fields/EntityList.vue | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/js/show/components/fields/Dashboard.vue b/resources/js/show/components/fields/Dashboard.vue index 2701a2476..ae69887ca 100644 --- a/resources/js/show/components/fields/Dashboard.vue +++ b/resources/js/show/components/fields/Dashboard.vue @@ -23,7 +23,11 @@ const props = defineProps & { ariaLabelledby?: string }>(); - const collapsed = ref(props.collapsable); + const remembered = useRemember({ + data: null as DashboardData | null, + collapsed: props.collapsable, + }, `dashboard_${props.field.key}`); + const collapsed = ref(props.collapsable && remembered.value.collapsed); const dashboard: Ref = ref(null); const filters: FilterManager = useFilters(); const reload: CommandResponseHandlers['reload'] = (data, { formModal }) => { @@ -42,10 +46,6 @@ reload({ action: 'reload' }, { formModal }); }, }); - const remembered = useRemember({ - data: null as DashboardData | null, - collapsed: collapsed.value, // TODO handle remembered collapse state - }, `dashboard_${props.field.key}`); if(remembered.value.data && !collapsed.value) { diff --git a/resources/js/show/components/fields/EntityList.vue b/resources/js/show/components/fields/EntityList.vue index 34ae6cdc4..45a020d61 100644 --- a/resources/js/show/components/fields/EntityList.vue +++ b/resources/js/show/components/fields/EntityList.vue @@ -22,7 +22,11 @@ const props = defineProps & { highlightedInstanceId?: string | number, ariaLabelledby?: string }>(); const el = ref(); - const collapsed = ref(props.collapsable && !props.highlightedInstanceId); + const remembered = useRemember({ + data: null as EntityListData | null, + collapsed: props.collapsable, + }, `entityList_${props.field.key}`); + const collapsed = ref(props.collapsable && !props.highlightedInstanceId && remembered.value.collapsed); const entityList: Ref = ref(null); const filters: FilterManager = useFilters(); const commands = useCommands('entityList', { @@ -41,10 +45,6 @@ formModal.shouldReopen && formModal.reopen(); }, }); - const remembered = useRemember({ - data: null as EntityListData | null, - collapsed: collapsed.value, // TODO handle remembered collapse state - }, `entityList_${props.field.key}`); if(remembered.value.data && !collapsed.value) {