From 1750f79757d085633ed0eca58cfa8a3848fd1e76 Mon Sep 17 00:00:00 2001 From: Moe Date: Mon, 25 Jul 2022 12:14:41 -0700 Subject: [PATCH] Make Easy Remote Access status blocks only connect if enabled --- web/libs/js/super.easyRemoteAccess.js | 36 ++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/web/libs/js/super.easyRemoteAccess.js b/web/libs/js/super.easyRemoteAccess.js index 87436347..d5a04d5c 100644 --- a/web/libs/js/super.easyRemoteAccess.js +++ b/web/libs/js/super.easyRemoteAccess.js @@ -1,9 +1,12 @@ $(document).ready(function(){ var easyRemoteAccessTab = $('#easyRemoteAccess') + var p2pServerListContainer = $('#p2pServerList') + var p2pEnabledSwitch = easyRemoteAccessTab.find('[name="p2pEnabled"]') var p2pHostSelectedContainer = $('#p2pHostSelected') var easyRemoteAccessForm = easyRemoteAccessTab.find('form') var remoteDashboardLinkButton = easyRemoteAccessTab.find('.remote-dashboard-link') var loadingRegistration = false + var statusConnections = {} var currentlyRegisteredP2PServer = currentlySelectedP2PServerId ? currentlySelectedP2PServerId + '' : undefined function copyToClipboard(str) { const el = document.createElement('textarea'); @@ -58,6 +61,7 @@ $(document).ready(function(){ connectedUsers.text(data.users) chartViewerCount.text(data.statViewers) }) + statusConnections[key] = socketConnection } function disableForm(){ loadingRegistration = true @@ -95,6 +99,31 @@ $(document).ready(function(){ }) } } + function beginAllStatusConnections(){ + $.each(p2pServerList,function(key,server){ + server.key = key + if(window.useBetterP2P && !server.v2)return; + if(!window.useBetterP2P && server.v2)return; + beginStatusConnectionForServer(key,server) + }) + } + function closeAllStatusConnections(){ + $.each(statusConnections,function(key,server){ + server.disconnect() + delete(statusConnections[key]) + }) + } + function setVisibilityForList(){ + var isOn = p2pEnabledSwitch.val() === '1' + if(isOn){ + beginAllStatusConnections() + p2pServerListContainer.show() + }else{ + closeAllStatusConnections() + p2pServerListContainer.hide() + } + } + p2pEnabledSwitch.change(setVisibilityForList) easyRemoteAccessTab.find('.submit').click(function(){ easyRemoteAccessForm.submit() }) @@ -152,11 +181,6 @@ $(document).ready(function(){ } return false; }) - $.each(p2pServerList,function(key,server){ - server.key = key - if(window.useBetterP2P && !server.v2)return; - if(!window.useBetterP2P && server.v2)return; - beginStatusConnectionForServer(key,server) - }) + setVisibilityForList() displayCurrentlySelectedInternally() })