Remember the last plugin tab and jump back to it.

This commit is contained in:
Ryan Blenis 2019-12-11 21:12:39 -05:00
parent bdf51e1200
commit 347a6bf9bd
2 changed files with 7 additions and 2 deletions

View File

@ -97,7 +97,7 @@ module.exports.pluginHandler = function (parent) {
if (!Q(d.tabId)) { if (!Q(d.tabId)) {
var defaultOn = 'class="on"'; var defaultOn = 'class="on"';
if (Q('p19headers').querySelectorAll("span.on").length) defaultOn = ''; if (Q('p19headers').querySelectorAll("span.on").length) defaultOn = '';
QA('p19headers', '<span ' + defaultOn + ' onclick="return pluginHandler.callPluginPage(\\''+d.tabId+'\\', this);">'+d.tabTitle+'</span>'); QA('p19headers', '<span ' + defaultOn + ' id="p19ph-' + d.tabId + '" onclick="return pluginHandler.callPluginPage(\\''+d.tabId+'\\', this);">'+d.tabTitle+'</span>');
QA('p19pages', '<div id="' + d.tabId + '"></div>'); QA('p19pages', '<div id="' + d.tabId + '"></div>');
} }
QV('MainDevPlugins', true); QV('MainDevPlugins', true);
@ -109,6 +109,7 @@ module.exports.pluginHandler = function (parent) {
var tabs = Q('p19headers').querySelectorAll("span"); var tabs = Q('p19headers').querySelectorAll("span");
for (const i of tabs) { i.classList.remove('on'); } for (const i of tabs) { i.classList.remove('on'); }
el.classList.add('on'); el.classList.add('on');
putstore('_curPluginPage', id);
}; };
obj.addPluginEx = function() { obj.addPluginEx = function() {
meshserver.send({ action: 'addplugin', url: Q('pluginurlinput').value}); meshserver.send({ action: 'addplugin', url: Q('pluginurlinput').value});

View File

@ -4581,7 +4581,11 @@
p13clearConsoleMsg(); p13clearConsoleMsg();
// Device refresh plugin handler // Device refresh plugin handler
if (pluginHandler != null) { pluginHandler.callHook('onDeviceRefreshEnd', nodeid, panel, refresh, event); } if (pluginHandler != null) {
pluginHandler.callHook('onDeviceRefreshEnd', nodeid, panel, refresh, event);
var lastTab = getstore('_curPluginPage', null);
if (lastTab != null) pluginHandler.callPluginPage(lastTab, Q('p19ph-' + lastTab));
}
} }
setupDesktop(); // Always refresh the desktop, even if we are on the same device, we need to do some canvas switching. setupDesktop(); // Always refresh the desktop, even if we are on the same device, we need to do some canvas switching.
if (!panel) panel = 10; if (!panel) panel = 10;