diff --git a/README.md b/README.md index f5f3e00..2189a28 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.1.2 -Improved download options plus set warning on certain actions when nothing selected. +# Version: 0.1.4 +Added on save grab selected item name if applicable. Fixed clearing of selected item. # Images ![1 Default interface with no sessions. ](images/pic1.png) diff --git a/src/manifest.json b/src/manifest.json index 41f2aea..10965b1 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": " Easy Session Manager", - "version": "0.1.2", + "version": "0.1.4", "description": " Easy Session Manager allows you to manage your Firefox session by backing up or loading your saved sessions.", "applications": { diff --git a/src/pages/import.html b/src/pages/import.html index c791eef..c40fa5f 100644 --- a/src/pages/import.html +++ b/src/pages/import.html @@ -30,7 +30,7 @@ body, html { - + diff --git a/src/pages/sessionManager.html b/src/pages/sessionManager.html index 2a79b4f..15c914e 100755 --- a/src/pages/sessionManager.html +++ b/src/pages/sessionManager.html @@ -41,7 +41,7 @@ - + diff --git a/src/scripts/events.js b/src/scripts/events.js index 358c6b2..928826e 100644 --- a/src/scripts/events.js +++ b/src/scripts/events.js @@ -7,6 +7,7 @@ document.addEventListener("click", (e) => { if (selectedItem) { if (selectedItem == e.target && selectedItem.className == "selected") { selectedItem.setAttribute("class", ""); + selectedItem = null; } else { selectedItem.setAttribute("class", ""); selectedItem = e.target; @@ -17,16 +18,16 @@ document.addEventListener("click", (e) => { selectedItem.setAttribute("class", "selected"); } } else if (name == "save") { - saveSession(); + saveSession(selectedItem); } else if (name == "import") { importSession(); } else if (selectedItem) { if (name == "download") - downloadSession(); + downloadSession(selectedItem); else if (name == "delete") - deleteFromStorage(); + deleteFromStorage(selectedItem); else if (name == "edit") - editSession(); + editSession(selectedItem); } else if (/(download|delete|edit)/.test(name)) { swal("Select a session first...", { icon: "warning", diff --git a/src/scripts/sessionManager.js b/src/scripts/sessionManager.js index 1d9053a..45240e7 100644 --- a/src/scripts/sessionManager.js +++ b/src/scripts/sessionManager.js @@ -3,16 +3,20 @@ const windowSys = browser.windows; const regexp = /^[a-zA-Z0-9-_]+$/; // Alphanumeric, dash, underscore -const saveSession = (message = "What is this session's name? Allowed: a-z, A-Z, -, _") => { +const saveSession = (elm = null, message = "What is this session's name? Allowed: a-z, A-Z, -, _") => { let inputTag = document.createElement("INPUT"); inputTag.value = new Date().toLocaleString().split(',')[0].replace(/\//g, '-'); + if (elm !== null) + inputTag.value = elm.innerHTML; + swal(message, { content: inputTag, buttons: true, }).then((value) => { if (value) { let enteryName = inputTag.value.replace(/ /g, "_"); + if (enteryName) { if (enteryName.search(regexp) == -1) { saveSession("Please try again...\nAllowed: a-z, A-Z, -, _") @@ -53,8 +57,8 @@ const saveSession = (message = "What is this session's name? Allowed: a-z, A-Z, }); } -const editSession = (message = "Editing selected session... Allowed: a-z, A-Z, -, _") => { - let id = selectedItem.innerHTML; +const editSession = (elm = null, message = "Editing selected session... Allowed: a-z, A-Z, -, _") => { + let id = elm.innerHTML; let inputTag = document.createElement("INPUT"); inputTag.value = id; @@ -77,7 +81,7 @@ const editSession = (message = "Editing selected session... Allowed: a-z, A-Z, - saveToStorage(newName, JSON.stringify(json), true); }); - selectedItem.textContent = newName; + elm.textContent = newName; } else { swal("Canceled edit...", { icon: "warning", @@ -115,17 +119,17 @@ const saveToStorage = (name, data, fromEdit = false) => { }); } -const deleteFromStorage = () => { +const deleteFromStorage = (elm = null) => { swal({ title: "Are you sure?", - text: "Do you wish to delete session:\n" + selectedItem.innerHTML + "?", + text: "Do you wish to delete session:\n" + elm.innerHTML + "?", icon: "warning", buttons: true, dangerMode: true, }).then((willDelete) => { if (willDelete) { - storage.remove(selectedItem.innerHTML).then(() => { - selectedItem.parentElement.removeChild(selectedItem); + storage.remove(elm.innerHTML).then(() => { + elm.parentElement.removeChild(elm); }); swal("Deleted session successfully...", { icon: "success", @@ -145,15 +149,15 @@ const importSession = () => { }); } -const downloadSession = () => { +const downloadSession = (elm = null) => { let pTag = document.createElement("P"); let inputTag = document.createElement("INPUT"); let chkBoxTag = document.createElement("INPUT"); let lblTag = document.createElement("LABEL"); - let brTag = document.createElement("BR"); + let brTag = document.createElement("BR"); var dlAnchorElem = document.getElementById('downloadAnchorElem'); let text = document.createTextNode("Append Date?"); - let id = selectedItem.innerHTML; + let id = elm.innerHTML; let fileName = "session:" + id + ".json"; chkBoxTag.type = "checkbox"; inputTag.value = fileName; diff --git a/src/scripts/sweetalert.min.js b/src/scripts/sweetalert.js similarity index 100% rename from src/scripts/sweetalert.min.js rename to src/scripts/sweetalert.js