From dd78ae8747b88e177ac7ea1f8bcf6de6ee34c765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radim=20Vaculi=CC=81k?= Date: Sat, 1 Aug 2026 14:56:39 +0200 Subject: [PATCH] =?UTF-8?q?Oprava=20item=20detailu=20u=20gridu=20vno=C5=99?= =?UTF-8?q?en=C3=A9ho=20v=20jin=C3=A9=20komponent=C4=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ItemDetailPlugin porovnával data-toggle-detail-grid (plain name) proti datagrid.name, který je full name komponenty, takže se u vnořeného gridu detail nikdy nerozbalil. Plugin nyní preferuje již renderovaný atribut data-toggle-detail-grid-fullname. --- assets/plugins/features/item-detail.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/assets/plugins/features/item-detail.ts b/assets/plugins/features/item-detail.ts index fed8d9f39..8ffb958b2 100644 --- a/assets/plugins/features/item-detail.ts +++ b/assets/plugins/features/item-detail.ts @@ -5,7 +5,13 @@ export class ItemDetailPlugin implements DatagridPlugin { onDatagridInit(datagrid: Datagrid): boolean { datagrid.el.querySelectorAll("[data-toggle-detail-grid]") .forEach((el) => { - if (el.getAttribute("data-toggle-detail-grid") !== datagrid.name) return; + // datagrid.name comes from data-datagrid-name, which holds the component full name. + // data-toggle-detail-grid only holds the plain name, so it never matches for a datagrid + // nested in another component - prefer the full name attribute. + const gridName = el.getAttribute("data-toggle-detail-grid-fullname") + ?? el.getAttribute("data-toggle-detail-grid"); + + if (gridName !== datagrid.name) return; const toggleId = el.getAttribute("data-toggle-detail")!;