From c57c25896d2530802eccbe1da6f33b4aee85c5bb Mon Sep 17 00:00:00 2001 From: AE Creations Date: Thu, 13 Dec 2018 22:38:18 -0800 Subject: [PATCH] Refactored the onAfterDeactivate event handler of Sync Clippings listener --- wx-src/background.js | 14 ++++---------- wx-src/pages/clippingsMgr.js | 14 +++----------- wx-src/pages/options.js | 5 ++++- 3 files changed, 11 insertions(+), 22 deletions(-) diff --git a/wx-src/background.js b/wx-src/background.js index 67204e89..1a215be5 100644 --- a/wx-src/background.js +++ b/wx-src/background.js @@ -136,8 +136,6 @@ let gSyncClippingsListeners = { }; let gSyncClippingsListener = { - _oldSyncFldrID: null, - onActivate(aSyncFolderID) { // No need to do anything here. The Clippings context menu is automatically @@ -148,8 +146,6 @@ let gSyncClippingsListener = { onDeactivate(aOldSyncFolderID) { log("Clippings/wx: gSyncClippingsListener.onDeactivate()"); - this._oldSyncFldrID = aOldSyncFolderID; - let syncFldrMenuID = gFolderMenuItemIDMap[aOldSyncFolderID]; try { @@ -163,17 +159,15 @@ let gSyncClippingsListener = { } }, - onAfterDeactivate(aRemoveSyncFolder) + onAfterDeactivate(aRemoveSyncFolder, aOldSyncFolderID) { log("Clippings/wx: gSyncClippingsListeners.onAfterDeactivate(): Remove Synced Clippings folder: " + aRemoveSyncFolder); let that = this; if (aRemoveSyncFolder) { - log(`Removing old Synced Clippings folder (ID = ${that._oldSyncFldrID})`); - purgeFolderItems(this._oldSyncFldrID, false).then(() => { - that._oldSyncFldrID = null; - }); + log(`Removing old Synced Clippings folder (ID = ${aOldSyncFolderID})`); + purgeFolderItems(aOldSyncFolderID, false).then(() => {}); } }, @@ -1738,7 +1732,7 @@ function alertEx(aMessageID) window.alert(message); } else { - console.info("Clippings/wx: " + message); + info("Clippings/wx: " + message); let url = "pages/msgbox.html?msgid=" + aMessageID; chrome.windows.create({ diff --git a/wx-src/pages/clippingsMgr.js b/wx-src/pages/clippingsMgr.js index 1e21c226..648bae7f 100644 --- a/wx-src/pages/clippingsMgr.js +++ b/wx-src/pages/clippingsMgr.js @@ -373,8 +373,6 @@ let gClippingsListener = { }; let gSyncClippingsListener = { - _oldSyncFldrID: null, - onActivate(aSyncFolderID) { log("Clippings/wx::clippingsMgr.js::gSyncClippingsListener.onActivate()"); @@ -384,7 +382,6 @@ let gSyncClippingsListener = { onDeactivate(aOldSyncFolderID) { log(`Clippings/wx::clippingsMgr.js::gSyncClippingsListener.onDeactivate(): ID of old sync folder: ${aOldSyncFolderID}`); - this._oldSyncFldrID = aOldSyncFolderID; gSyncedItemsIDs = {}; gReloadSyncFldrBtn.hide(); @@ -394,20 +391,15 @@ let gSyncClippingsListener = { syncFldrTreeNode.removeClass("ae-synced-clippings-fldr"); }, - onAfterDeactivate(aRemoveSyncFolder) + onAfterDeactivate(aRemoveSyncFolder, aOldSyncFolderID) { - log("Clippings/wx::clippingsMgr.js: gSyncClippingsListener.onAfterDeactivate(): Remove Synced Clippings folder: " + aRemoveSyncFolder) + log(`Clippings/wx::clippingsMgr.js: gSyncClippingsListener.onAfterDeactivate(): Remove Synced Clippings folder = ${aRemoveSyncFolder}; old sync folder ID = ${aOldSyncFolderID}`) if (aRemoveSyncFolder) { let clippingsTree = getClippingsTree(); - // TO DO: This won't work if Clippings Manager was opened right after - // turning off Sync Clippings, but before selecting the option to remove - // the Synced Clippings folder, from the Clippings preferences page. - let syncFldrTreeNode = clippingsTree.getNodeByKey(this._oldSyncFldrID + "F"); + let syncFldrTreeNode = clippingsTree.getNodeByKey(aOldSyncFolderID + "F"); syncFldrTreeNode.remove(); - this._oldSyncFldrID = null; - setStatusBarMsg(); // TO DO: If there are no longer any clippings and folders, then show the diff --git a/wx-src/pages/options.js b/wx-src/pages/options.js index 30e509f0..816ff0ac 100644 --- a/wx-src/pages/options.js +++ b/wx-src/pages/options.js @@ -334,20 +334,23 @@ function initDialogs() listener.onDeactivate(aOldSyncFldrID); } + gDialogs.turnOffSyncAck.oldSyncFldrID = aOldSyncFldrID; gDialogs.turnOffSyncAck.showModal(); }); }; gDialogs.turnOffSyncAck = new aeDialog("#turn-off-sync-clippings-ack-dlg"); + gDialogs.turnOffSyncAck.oldSyncFldrID = null; gDialogs.turnOffSyncAck.onInit = () => { $("#delete-sync-fldr").prop("checked", true); }; gDialogs.turnOffSyncAck.onAfterAccept = () => { + let that = gDialogs.turnOffSyncAck; let removeSyncFldr = $("#delete-sync-fldr").prop("checked"); let syncClippingsListeners = gClippings.getSyncClippingsListeners().getListeners(); for (let listener of syncClippingsListeners) { - listener.onAfterDeactivate(removeSyncFldr); + listener.onAfterDeactivate(removeSyncFldr, that.oldSyncFldrID); } };