From 6ddf112b0110c4573e5338f14fbdb7af8d0597f8 Mon Sep 17 00:00:00 2001 From: gdorsi Date: Tue, 12 Nov 2019 15:41:03 +0100 Subject: [PATCH] added the disconnect button --- comms.js | 7 +++++++ index.js | 23 +++++++++++++++++------ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/comms.js b/comms.js index e0fd19d10..9d103c246 100644 --- a/comms.js +++ b/comms.js @@ -64,6 +64,13 @@ setTime : () => { }); }); }, +disconnectDevice: () => { + var connection = Puck.getConnection(); + + if (!connection) return; + + connection.close(); +}, watchConnectionChange : cb => { var connected = Puck.isConnected(); diff --git a/index.js b/index.js index 60e2f6c01..acda07439 100644 --- a/index.js +++ b/index.js @@ -250,24 +250,35 @@ function refreshMyApps() { function getInstalledApps() { showLoadingIndicator(); // Get apps - Comms.getInstalledApps().then(appIDs => { + return Comms.getInstalledApps().then(appIDs => { appsInstalled = appIDs; handleConnectionChange(true); refreshMyApps(); refreshLibrary(); - }).catch(err => { - showToast("Getting app list failed, "+err,"error"); }); } var connectMyDeviceBtn = document.getElementById("connectmydevice"); function handleConnectionChange(connected) { - connectMyDeviceBtn.style.display = connected ? 'none' : ''; + connectMyDeviceBtn.textContent = connected ? 'Disconnect' : 'Connect'; + connectMyDeviceBtn.classList.toggle('is-connected', connected); } -document.getElementById("myappsrefresh").addEventListener("click", getInstalledApps); -connectMyDeviceBtn.addEventListener("click", getInstalledApps); +document.getElementById("myappsrefresh").addEventListener("click", () => { + getInstalledApps().catch(err => { + showToast("Getting app list failed, "+err,"error"); + }); +}); +connectMyDeviceBtn.addEventListener("click", () => { + if (connectMyDeviceBtn.classList.contains('is-connected')) { + Comms.disconnectDevice(); + } else { + getInstalledApps().catch(err => { + showToast("Device connection failed, "+err,"error"); + }); + } +}); Comms.watchConnectionChange(handleConnectionChange); // =========================================== About