From c7c78291f1670fa3070f01869e6e8b4eafc1b038 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 12 Feb 2020 08:14:22 +0100 Subject: [PATCH] luci-base: ui.js: dispatch "cbi-tab-active" event when a tab is selected This is useful to lazy-load tab contents. Signed-off-by: Jo-Philipp Wich (cherry picked from commit bf774e4c2a6a03aa01d4bcd9f5ce4f960cd91874) --- modules/luci-base/htdocs/luci-static/resources/ui.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/luci-base/htdocs/luci-static/resources/ui.js b/modules/luci-base/htdocs/luci-static/resources/ui.js index dd5d963dd..2e295077f 100644 --- a/modules/luci-base/htdocs/luci-static/resources/ui.js +++ b/modules/luci-base/htdocs/luci-static/resources/ui.js @@ -3293,6 +3293,10 @@ return L.Class.extend(/** @lends LuCI.ui.prototype */ { this.setActiveTabId(panes[selected], selected); } + panes[selected].dispatchEvent(new CustomEvent('cbi-tab-active', { + detail: { tab: panes[selected].getAttribute('data-tab') } + })); + this.updateTabs(group); }, @@ -3420,6 +3424,7 @@ return L.Class.extend(/** @lends LuCI.ui.prototype */ { if (L.dom.matches(pane, '[data-tab]')) { if (pane.getAttribute('data-tab') === name) { pane.setAttribute('data-tab-active', 'true'); + pane.dispatchEvent(new CustomEvent('cbi-tab-active', { detail: { tab: name } })); L.ui.tabs.setActiveTabId(pane, index); } else { -- 2.25.1