diff --git a/README.md b/README.md index e01207d..b47d899 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Easy Session Manager allows you to manage your Firefox session by backing up or # Download https://addons.mozilla.org/en-US/firefox/addon/easy-session-manager/ -# Version: 0.0.1 -Released Program +# Version: 0.0.2 +Added import functionality for json. # Images ![1 Default interface with no sessions. ](images/pic1.png) @@ -15,3 +15,4 @@ Released Program ![5 Deleting a selected session. ](images/pic5.png) ![6 Editing a selected session. ](images/pic6.png) ![7 Downloading a selected session. ](images/pic7.png) +![8 Importiog a session json file. ](images/pic7.png) diff --git a/images/pic1.png b/images/pic1.png index 73a3a37..e023c15 100644 Binary files a/images/pic1.png and b/images/pic1.png differ diff --git a/images/pic2.png b/images/pic2.png index 86ed886..e8ce5ff 100644 Binary files a/images/pic2.png and b/images/pic2.png differ diff --git a/images/pic3.png b/images/pic3.png index 71954b8..572e720 100644 Binary files a/images/pic3.png and b/images/pic3.png differ diff --git a/images/pic4.png b/images/pic4.png index d72552d..31698b0 100644 Binary files a/images/pic4.png and b/images/pic4.png differ diff --git a/images/pic5.png b/images/pic5.png index cb9953d..0c5d561 100644 Binary files a/images/pic5.png and b/images/pic5.png differ diff --git a/images/pic6.png b/images/pic6.png index 7a2f619..9b9e800 100644 Binary files a/images/pic6.png and b/images/pic6.png differ diff --git a/images/pic8.png b/images/pic8.png new file mode 100644 index 0000000..0940c67 Binary files /dev/null and b/images/pic8.png differ diff --git a/src/images/icons/import.png b/src/images/icons/import.png new file mode 100644 index 0000000..627e947 Binary files /dev/null and b/src/images/icons/import.png differ diff --git a/src/manifest.json b/src/manifest.json index 7410211..2d2ce56 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": " Easy Session Manager", - "version": "0.0.1", + "version": "0.0.2", "description": " Easy Session Manager allows you to manage your Firefox session by backing up or loading your saved sessions.", "applications": { @@ -23,6 +23,8 @@ "unlimitedStorage" ], + "background": { "page": "pages/import.html" }, + "browser_action": { "default_icon": "images/icons/sessionManager.png", "default_title": " Easy Session Manager", diff --git a/src/pages/import.html b/src/pages/import.html new file mode 100644 index 0000000..88cb46d --- /dev/null +++ b/src/pages/import.html @@ -0,0 +1,57 @@ + + + + + Easy Session Manager Import + + + + + + + +
+

Select File

+ +
+ + + + + + diff --git a/src/pages/sessionManager.html b/src/pages/sessionManager.html index 93e02ef..e46b85e 100755 --- a/src/pages/sessionManager.html +++ b/src/pages/sessionManager.html @@ -7,12 +7,23 @@
+ + + + +
+ +
+ @@ -20,10 +31,6 @@ - -
- -
diff --git a/src/scripts/background.js b/src/scripts/background.js new file mode 100644 index 0000000..5dbb946 --- /dev/null +++ b/src/scripts/background.js @@ -0,0 +1,23 @@ +document.getElementById("inputId").onchange = (e) => { + var reader = new FileReader(); + reader.onloadend = function(obj){ + let data = obj.target.result; + let enteryName = prompt("What is this session's name?", "" + new Date().toLocaleString() + .split(',')[0]); + if (enteryName) { + browser.storage.local.set({[enteryName]: data}); + } + }; + + if (e.target.files[0].type == "application/json") + reader.readAsText(e.target.files[0], {encoding: "string"}); +}; + + +document.addEventListener("click", (e) => { + if (e.button == 0) { // Left click + if (e.target.className == "container") { + document.getElementById("inputId").click(); + } + } +}); diff --git a/src/scripts/events.js b/src/scripts/events.js index 9dfd3c4..81e3e91 100644 --- a/src/scripts/events.js +++ b/src/scripts/events.js @@ -17,6 +17,8 @@ document.addEventListener("click", (e) => { } } else if (e.target.name == "save") { saveSession(); + } else if (e.target.name == "import") { + importSession(); } else if (selectedItem) { if (e.target.name == "download") downloadSession(); diff --git a/src/scripts/sessionManager.js b/src/scripts/sessionManager.js index 7b088ba..5eb41fb 100644 --- a/src/scripts/sessionManager.js +++ b/src/scripts/sessionManager.js @@ -37,6 +37,13 @@ const saveToStorage = (name, data) => { storage.set({[name]: data}); } +const importSession = () => { + browser.tabs.create({ + url: browser.extension.getURL("../pages/import.html"), + active: true + }); +} + const downloadSession = () => { var dlAnchorElem = document.getElementById('downloadAnchorElem'); let id = selectedItem.innerHTML; diff --git a/src/styles/styles.css b/src/styles/styles.css index 09da9de..55218f2 100644 --- a/src/styles/styles.css +++ b/src/styles/styles.css @@ -19,6 +19,10 @@ button { color: #000000; } +#inputId { + display: none; +} + .selected { background-color: #a3b83b; box-shadow: 0px 5px 5px 5px #444444;