From 29b1eaeeb4e5521b9cd443399293959e146858fa Mon Sep 17 00:00:00 2001 From: ralf Date: Thu, 19 Sep 2024 14:49:05 +0200 Subject: [PATCH] fix error in mobile template/framework --- api/js/etemplate/Layout/Et2Tabs/Et2Tabs.ts | 41 +++++++++++-------- .../etemplate/Layout/Et2Tabs/Et2TabsMobile.ts | 9 ++++ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/api/js/etemplate/Layout/Et2Tabs/Et2Tabs.ts b/api/js/etemplate/Layout/Et2Tabs/Et2Tabs.ts index b14b6834ec..105517ce92 100644 --- a/api/js/etemplate/Layout/Et2Tabs/Et2Tabs.ts +++ b/api/js/etemplate/Layout/Et2Tabs/Et2Tabs.ts @@ -217,6 +217,31 @@ export class Et2Tabs extends Et2InputWidget(SlTabGroup) implements et2_IResizeab this.createTabs(tabData); // Use the height of the first tab if height not set + this._sizeTabs(); + + // Load any additional child nodes + for(let i = 0; i < _node.childNodes.length; i++) + { + let node = _node.childNodes[i]; + let widgetType = node.nodeName.toLowerCase(); + + // Skip text & already handled nodes + if(["#comment", "#text", "tabs", "tabpanels"].includes(widgetType)) + { + continue; + } + + // Create the new element + this.createElementFromNode(node); + } + } + + /** + * Use the height of the first tab if height not set + * @protected + */ + protected _sizeTabs() + { if(!this.tabHeight && tabData.length > 0) { const firstTab = tabData[0].contentDiv; @@ -246,22 +271,6 @@ export class Et2Tabs extends Et2InputWidget(SlTabGroup) implements et2_IResizeab } }) } - - // Load any additional child nodes - for(let i = 0; i < _node.childNodes.length; i++) - { - let node = _node.childNodes[i]; - let widgetType = node.nodeName.toLowerCase(); - - // Skip text & already handled nodes - if(["#comment", "#text", "tabs", "tabpanels"].includes(widgetType)) - { - continue; - } - - // Create the new element - this.createElementFromNode(node); - } } _readTabs(tabData, tabs) diff --git a/api/js/etemplate/Layout/Et2Tabs/Et2TabsMobile.ts b/api/js/etemplate/Layout/Et2Tabs/Et2TabsMobile.ts index 8cd4f8c69c..9939e0f272 100644 --- a/api/js/etemplate/Layout/Et2Tabs/Et2TabsMobile.ts +++ b/api/js/etemplate/Layout/Et2Tabs/Et2TabsMobile.ts @@ -31,6 +31,15 @@ export class Et2TabsMobile extends Et2Tabs }); } + /** + * Use the height of the first tab if height not set + * @protected + */ + protected _sizeTabs() + { + // no need to do anything, as we use details + } + getAllTabs(includeDisabled = false) { const slot = this.shadowRoot.querySelectorAll('et2-details');