Added import feature.
|
@ -4,8 +4,8 @@ Easy Session Manager allows you to manage your Firefox session by backing up or
|
||||||
# Download
|
# Download
|
||||||
https://addons.mozilla.org/en-US/firefox/addon/easy-session-manager/
|
https://addons.mozilla.org/en-US/firefox/addon/easy-session-manager/
|
||||||
|
|
||||||
# Version: 0.0.1
|
# Version: 0.0.2
|
||||||
Released Program
|
Added import functionality for json.
|
||||||
|
|
||||||
# Images
|
# Images
|
||||||
![1 Default interface with no sessions. ](images/pic1.png)
|
![1 Default interface with no sessions. ](images/pic1.png)
|
||||||
|
@ -15,3 +15,4 @@ Released Program
|
||||||
![5 Deleting a selected session. ](images/pic5.png)
|
![5 Deleting a selected session. ](images/pic5.png)
|
||||||
![6 Editing a selected session. ](images/pic6.png)
|
![6 Editing a selected session. ](images/pic6.png)
|
||||||
![7 Downloading a selected session. ](images/pic7.png)
|
![7 Downloading a selected session. ](images/pic7.png)
|
||||||
|
![8 Importiog a session json file. ](images/pic7.png)
|
||||||
|
|
BIN
images/pic1.png
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 29 KiB |
BIN
images/pic2.png
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 34 KiB |
BIN
images/pic3.png
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 27 KiB |
BIN
images/pic4.png
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 36 KiB |
BIN
images/pic5.png
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 35 KiB |
BIN
images/pic6.png
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 7.1 KiB |
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"name": " Easy Session Manager",
|
"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.",
|
"description": " Easy Session Manager allows you to manage your Firefox session by backing up or loading your saved sessions.",
|
||||||
|
|
||||||
"applications": {
|
"applications": {
|
||||||
|
@ -23,6 +23,8 @@
|
||||||
"unlimitedStorage"
|
"unlimitedStorage"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"background": { "page": "pages/import.html" },
|
||||||
|
|
||||||
"browser_action": {
|
"browser_action": {
|
||||||
"default_icon": "images/icons/sessionManager.png",
|
"default_icon": "images/icons/sessionManager.png",
|
||||||
"default_title": " Easy Session Manager",
|
"default_title": " Easy Session Manager",
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Easy Session Manager Import</title>
|
||||||
|
<link rel="shortcut icon" href="../images/icons/import.png">
|
||||||
|
|
||||||
|
<style media="screen">
|
||||||
|
|
||||||
|
body, html {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
padding: 0em;
|
||||||
|
margin: 0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inputId {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#lableTag {
|
||||||
|
top: 48%;
|
||||||
|
margin: 0 auto;
|
||||||
|
color: rgba(255, 255, 255, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-image: url('../images/icons/import.png');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
text-align: center;
|
||||||
|
background-color: rgba(41, 95, 115, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
.container:hover {
|
||||||
|
transition: 4;
|
||||||
|
background-color: rgba(41, 95, 115, 0.65);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container" name="import">
|
||||||
|
<h1 id="lableTag">Select File</h1>
|
||||||
|
<input id="inputId" type="file" accept="application/json"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../scripts/background.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -7,12 +7,23 @@
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<center>
|
<center>
|
||||||
|
|
||||||
|
<button type="button" name="import">
|
||||||
|
Import <img class="icon" src="../images/icons/import.png" alt="Import JSON"/>
|
||||||
|
<input id="inputId" type="file" />
|
||||||
|
</button>
|
||||||
|
|
||||||
<button type="button" name="save">
|
<button type="button" name="save">
|
||||||
Save <img class="icon" src="../images/icons/save.png" alt="Save Image"/>
|
Save <img class="icon" src="../images/icons/save.png" alt="Save Image"/>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" name="download">
|
<button type="button" name="download">
|
||||||
Download <img class="icon" src="../images/icons/download.png" alt="Download Image"/>
|
Download <img class="icon" src="../images/icons/download.png" alt="Download Image"/>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<div id="savedSessions">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<button type="button" name="edit">
|
<button type="button" name="edit">
|
||||||
Edit <img class="icon" src="../images/icons/edit.png" alt="Edit Image"/>
|
Edit <img class="icon" src="../images/icons/edit.png" alt="Edit Image"/>
|
||||||
</button>
|
</button>
|
||||||
|
@ -20,10 +31,6 @@
|
||||||
<button type="button" name="delete">
|
<button type="button" name="delete">
|
||||||
Delete <img class="icon" src="../images/icons/delete.png" alt="Delete Image"/>
|
Delete <img class="icon" src="../images/icons/delete.png" alt="Delete Image"/>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div id="savedSessions">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</center>
|
</center>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
|
@ -17,6 +17,8 @@ document.addEventListener("click", (e) => {
|
||||||
}
|
}
|
||||||
} else if (e.target.name == "save") {
|
} else if (e.target.name == "save") {
|
||||||
saveSession();
|
saveSession();
|
||||||
|
} else if (e.target.name == "import") {
|
||||||
|
importSession();
|
||||||
} else if (selectedItem) {
|
} else if (selectedItem) {
|
||||||
if (e.target.name == "download")
|
if (e.target.name == "download")
|
||||||
downloadSession();
|
downloadSession();
|
||||||
|
|
|
@ -37,6 +37,13 @@ const saveToStorage = (name, data) => {
|
||||||
storage.set({[name]: data});
|
storage.set({[name]: data});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const importSession = () => {
|
||||||
|
browser.tabs.create({
|
||||||
|
url: browser.extension.getURL("../pages/import.html"),
|
||||||
|
active: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const downloadSession = () => {
|
const downloadSession = () => {
|
||||||
var dlAnchorElem = document.getElementById('downloadAnchorElem');
|
var dlAnchorElem = document.getElementById('downloadAnchorElem');
|
||||||
let id = selectedItem.innerHTML;
|
let id = selectedItem.innerHTML;
|
||||||
|
|
|
@ -19,6 +19,10 @@ button {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#inputId {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.selected {
|
.selected {
|
||||||
background-color: #a3b83b;
|
background-color: #a3b83b;
|
||||||
box-shadow: 0px 5px 5px 5px #444444;
|
box-shadow: 0px 5px 5px 5px #444444;
|
||||||
|
|