From ac3716cd4db52a199ed8899c1ff8d3bfa0d0654b Mon Sep 17 00:00:00 2001 From: Maxim Stewart Date: Sun, 11 Nov 2018 03:04:55 -0600 Subject: [PATCH] initial commit --- README.md | 9 ++ src/images/icons/delete.png | Bin 0 -> 44044 bytes src/images/icons/download.png | Bin 0 -> 12316 bytes src/images/icons/edit.png | Bin 0 -> 7652 bytes src/images/icons/save.png | Bin 0 -> 5181 bytes src/images/icons/sessionManager.png | Bin 0 -> 17163 bytes src/manifest.json | 31 +++++++ src/pages/sessionManager.html | 35 +++++++ src/scripts/events.js | 37 ++++++++ src/scripts/sessionManager.js | 137 ++++++++++++++++++++++++++++ src/styles/styles.css | 30 ++++++ 11 files changed, 279 insertions(+) create mode 100644 README.md create mode 100644 src/images/icons/delete.png create mode 100644 src/images/icons/download.png create mode 100644 src/images/icons/edit.png create mode 100644 src/images/icons/save.png create mode 100644 src/images/icons/sessionManager.png create mode 100644 src/manifest.json create mode 100755 src/pages/sessionManager.html create mode 100644 src/scripts/events.js create mode 100644 src/scripts/sessionManager.js create mode 100644 src/styles/styles.css diff --git a/README.md b/README.md new file mode 100644 index 0000000..1130d49 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Session Manager +Session Manager allows you to manage your Firefox session by backing up or loading your saved sessions. + +# Download +https://addons.mozilla.org/en-US/firefox/addon/tab-groups-with-search-manager/ + + +# Version: 0.0.1 +Released Program diff --git a/src/images/icons/delete.png b/src/images/icons/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..e9b3fa91f7aa311cd1aba7796909a41d164c93d4 GIT binary patch literal 44044 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 QEdT%j07*qoM6N<$f@XTU5C8xG literal 0 HcmV?d00001 diff --git a/src/images/icons/download.png b/src/images/icons/download.png new file mode 100644 index 0000000000000000000000000000000000000000..17ea75e9ea4b88a97d694b4b0fa582ee0eaa45b6 GIT binary patch literal 12316 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 literal 0 HcmV?d00001 diff --git a/src/images/icons/edit.png b/src/images/icons/edit.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2a22a693861ed8f1c04ec4b76314cd2185c046 GIT binary patch literal 7652 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 literal 0 HcmV?d00001 diff --git a/src/images/icons/save.png b/src/images/icons/save.png new file mode 100644 index 0000000000000000000000000000000000000000..751469f6dfc00a927b424ce76e61d6230a4e19e4 GIT binary patch literal 5181 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 literal 0 HcmV?d00001 diff --git a/src/images/icons/sessionManager.png b/src/images/icons/sessionManager.png new file mode 100644 index 0000000000000000000000000000000000000000..c9efe50b808fe51e4e923d09d599b83e758cf88a GIT binary patch literal 17163 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 dvl(+qA&7Xmk@Z3eBm)3IO + + + + + + + +
+ + + + + + +
+ +
+
+ + + + + + + + diff --git a/src/scripts/events.js b/src/scripts/events.js new file mode 100644 index 0000000..9dfd3c4 --- /dev/null +++ b/src/scripts/events.js @@ -0,0 +1,37 @@ +let selectedItem = null; + +document.addEventListener("click", (e) => { + if (e.button == 0) { // Left click + if (e.target.tagName == "LI") { + if (selectedItem) { + if (selectedItem == e.target && selectedItem.className == "selected") { + selectedItem.setAttribute("class", ""); + } else { + selectedItem.setAttribute("class", ""); + selectedItem = e.target; + selectedItem.setAttribute("class", "selected"); + } + } else { + selectedItem = e.target; + selectedItem.setAttribute("class", "selected"); + } + } else if (e.target.name == "save") { + saveSession(); + } else if (selectedItem) { + if (e.target.name == "download") + downloadSession(); + else if (e.target.name == "delete") + deleteFromStorage(); + else if (e.target.name == "edit") + editSession(); + } + } +}); + +document.addEventListener("dblclick", (e) => { + if (e.button == 0) { // Left click + if (e.target.tagName == "LI") { + loadSession(e.target.innerHTML.trim()); + } + } +}); diff --git a/src/scripts/sessionManager.js b/src/scripts/sessionManager.js new file mode 100644 index 0000000..e5f8ce7 --- /dev/null +++ b/src/scripts/sessionManager.js @@ -0,0 +1,137 @@ +const storage = browser.storage.local; +const windowSys = browser.windows; + + +const saveSession = () => { + let enteryName = prompt("What is this session's name?", "" + new Date().toLocaleString() + .split(',')[0]); + + if (enteryName) { + console.log("Saving session..."); + windowSys.getAll({ populate: true, windowTypes: ["normal"] }).then((windows) => { + let sessionData = {}; + for (let i = 0; i < windows.length; i++) { + let links = []; + for (var ii = 0; ii < windows[i].tabs.length; ii++) { + if (!windows[i].tabs[ii].url.includes("about:")) { + links.push( + {"link" : windows[i].tabs[ii].url.trim()} + ); + } + + } + sessionData["WindowID:" + windows[i].id] = links; + } + saveToStorage(enteryName, JSON.stringify(sessionData)); + }).then(() => { + if (document.getElementsByName(enteryName).length == 0) { + appendToSavedSessionsList(enteryName); + } + }); + } else { + console.log("Canceled save..."); + } +} + +const saveToStorage = (name, data) => { + storage.set({[name]: data}); +} + +const downloadSession = () => { + var dlAnchorElem = document.getElementById('downloadAnchorElem'); + let id = selectedItem.innerHTML; + fileName = "session:" + id + ":" + + new Date().toLocaleString().split(',')[0] + .replace("/", "-") + ".json"; + + storage.get(id).then((storageResults) => { + let json = JSON.parse(storageResults[id]); + let dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(json)); + dlAnchorElem.setAttribute("href", dataStr); + dlAnchorElem.setAttribute("download", fileName); + dlAnchorElem.click(); + }); + +} + +const deleteFromStorage = () => { + let action = confirm("Do you wish to delete session: " + selectedItem.innerHTML + "?"); + + if (action) { + storage.remove(selectedItem.innerHTML).then(() => { + selectedItem.parentElement.removeChild(selectedItem); + }); + } +} + +const editSession = () => { + let id = selectedItem.innerHTML; + let newName = prompt("Editing selected session...", id); + + if (newName != null) { + storage.get(id).then((storageResults) => { + storage.remove(id); + json = JSON.parse(storageResults[id]); + saveToStorage(newName, JSON.stringify(json)); + }); + selectedItem.innerHTML = newName; + } +} + +const loadSession = (id = null) => { + console.log("Loading session..."); + try { + storage.get(id).then((storageResults) => { + let json = JSON.parse(storageResults[id]); + let keys = Object.keys(json); + + browser.windows.getAll().then((windows) => { + windowSys.getCurrent({populate: true}).then((currentWindow) => { + // Clear out windows + for (var i = 0; i < windows.length; i++) { + if (currentWindow.id != windows[i].id) { + windowSys.remove(windows[i].id); + } + } + }, windows); + }); + + // Open windows and populate with proper tabs + keys.forEach((key) => { + let store = json[key]; + let urls = []; + + for (var i = 0; i < store.length; i++) { + urls.push(store[i].link); + } + + windowSys.create({ url: urls }); + }); + + // Finalize clear out windows + windowSys.getCurrent({populate: true}).then((currentWindow) => { + windowSys.remove(currentWindow.id); + }); + }); + } catch (e) { console.log(e); } +} + +const getSavedSessionIDs = () => { + console.log("Getting saved sessions..."); + storage.get(null).then((storageResults) => { + let keys = Object.keys(storageResults); + for (let key of keys) { + appendToSavedSessionsList(key); + } + }); +} + +const appendToSavedSessionsList = (enteryName) => { + let liTag = document.createElement("LI"); + let text = document.createTextNode(enteryName); + liTag.setAttribute("name", enteryName); + liTag.append(text); + document.getElementById("savedSessions").append(liTag); +} + +getSavedSessionIDs(); diff --git a/src/styles/styles.css b/src/styles/styles.css new file mode 100644 index 0000000..09da9de --- /dev/null +++ b/src/styles/styles.css @@ -0,0 +1,30 @@ +body { width: 450px; } +ul, li { list-style: none; } + +li { + background-color: #0a1827; + color: #ffffff; + margin: 1em 0em; + padding: 1.5em; + text-align: center; +} + +li:hover { + background-color: #1e4573; + cursor: pointer; +} + +button { + background-color: #ffffff; + color: #000000; +} + +.selected { + background-color: #a3b83b; + box-shadow: 0px 5px 5px 5px #444444; +} + +.icon { + width: 25px; + height: 25px; +}