2018-11-11 09:04:55 +00:00
|
|
|
let selectedItem = null;
|
|
|
|
|
2019-04-19 05:41:25 +00:00
|
|
|
const toggleSelect = (source, name) => {
|
2019-04-06 03:36:25 +00:00
|
|
|
let checkboxes = document.getElementsByName(name);
|
|
|
|
for (var i = 0; i < checkboxes.length; i++) {
|
2019-04-19 05:41:25 +00:00
|
|
|
checkboxes[i].checked = source.checked;
|
2019-04-06 03:36:25 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-11-11 09:04:55 +00:00
|
|
|
document.addEventListener("click", (e) => {
|
|
|
|
if (e.button == 0) { // Left click
|
2019-03-19 20:34:43 +00:00
|
|
|
let name = e.target.name;
|
2019-04-06 03:36:25 +00:00
|
|
|
|
|
|
|
if (/(download|delete|edit)/.test(name)) {
|
2018-11-11 09:04:55 +00:00
|
|
|
if (selectedItem) {
|
2019-04-06 03:36:25 +00:00
|
|
|
if (name == "download")
|
|
|
|
downloadSession(selectedItem);
|
|
|
|
else if (name == "delete")
|
|
|
|
deleteFromStorage(selectedItem);
|
|
|
|
else if (name == "edit")
|
|
|
|
editSession(selectedItem);
|
|
|
|
} else {
|
2019-04-19 21:39:16 +00:00
|
|
|
messageWindow("warning", "Select a session first...");
|
2019-04-06 03:36:25 +00:00
|
|
|
}
|
|
|
|
} else if (name == "save") {
|
|
|
|
saveSession(selectedItem);
|
|
|
|
} else if (name == "import") {
|
|
|
|
importSession();
|
|
|
|
} else if (name == "donate") {
|
|
|
|
var dlAnchorElem = document.getElementById('downloadAnchorElem');
|
|
|
|
dlAnchorElem.setAttribute("href", "https://www.paypal.me/ITDominator");
|
|
|
|
dlAnchorElem.setAttribute("_blank", "");
|
|
|
|
dlAnchorElem.click();
|
|
|
|
}
|
|
|
|
|
|
|
|
if (e.target.tagName == "LI" && e.target.className.includes("sessionLI")) {
|
|
|
|
if (selectedItem) {
|
|
|
|
if (selectedItem == e.target && selectedItem.className == "sessionLI selected") {
|
|
|
|
selectedItem.setAttribute("class", "sessionLI");
|
2019-03-19 21:19:18 +00:00
|
|
|
selectedItem = null;
|
2018-11-11 09:04:55 +00:00
|
|
|
} else {
|
2019-04-06 03:36:25 +00:00
|
|
|
selectedItem.setAttribute("class", "sessionLI");
|
2018-11-11 09:04:55 +00:00
|
|
|
selectedItem = e.target;
|
2019-04-06 03:36:25 +00:00
|
|
|
selectedItem.setAttribute("class", "sessionLI selected");
|
2018-11-11 09:04:55 +00:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
selectedItem = e.target;
|
2019-04-06 03:36:25 +00:00
|
|
|
selectedItem.setAttribute("class", "sessionLI selected");
|
2018-11-11 09:04:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
document.addEventListener("dblclick", (e) => {
|
|
|
|
if (e.button == 0) { // Left click
|
2019-04-06 03:36:25 +00:00
|
|
|
if (e.target.tagName == "LI" && e.target.className.includes("sessionLI")) {
|
|
|
|
selectedItem = e.target;
|
|
|
|
selectedItem.setAttribute("class", "sessionLI selected");
|
|
|
|
try {
|
2019-04-19 05:41:25 +00:00
|
|
|
let id = e.target.innerText.trim();
|
2019-04-06 03:36:25 +00:00
|
|
|
storage.get(id).then(storageResults => {
|
|
|
|
let json = JSON.parse(storageResults[id]);
|
|
|
|
let keys = Object.keys(json);
|
|
|
|
let keysLength = Object.keys(json).length;
|
|
|
|
let replaceTabs = document.getElementsByName("replaceTabs")[0];
|
|
|
|
let selectiveOpen = document.getElementsByName("selectiveOpen")[0];
|
|
|
|
|
|
|
|
if (!selectiveOpen.checked) {
|
|
|
|
loadSession(json, replaceTabs.checked);
|
|
|
|
} else {
|
2019-04-19 05:41:25 +00:00
|
|
|
let container = selectionWindow(json, keys, keysLength);
|
2019-04-06 03:36:25 +00:00
|
|
|
swal("Selective Open", {
|
|
|
|
content: container,
|
|
|
|
buttons: true,
|
|
|
|
}).then((willOpen) => {
|
|
|
|
if (willOpen) {
|
2019-04-19 05:41:25 +00:00
|
|
|
json = selectionData(container, keys, keysLength);
|
2019-04-06 03:36:25 +00:00
|
|
|
keysLength = Object.keys(json).length;
|
|
|
|
if (keysLength > 0) {
|
|
|
|
loadSession(json, replaceTabs.checked);
|
|
|
|
} else {
|
2019-04-19 21:39:16 +00:00
|
|
|
messageWindow("warning", "Canceled operation; no tabs were selected...");
|
2019-04-06 03:36:25 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
} catch (e) {
|
|
|
|
console.log(e);
|
|
|
|
}
|
2018-11-11 09:04:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|