Easy-Session-Manager/src/scripts/actions.js

82 lines
2.7 KiB
JavaScript

const messageWindow = (type = "warning", message = "No message passed in...") => {
swal(message, { icon: type, });
}
const getSavedSessionIDs = () => {
storageApi.get(null).then((results) => {
const sessions = Object.keys(results);
for (let session of sessions) {
appendToSavedSessionsList(session);
}
});
}
const windowMaker = (i, keysLength, keys, json) => {
for (; i < keysLength; i++) {
let store = json[keys[i]];
let urls = [];
for (let j = 0; j < store.length; j++) {
urls.push(store[j].link);
}
windowApi.create({ url: urls });
}
}
const saveToStorage = (name, data, action = "undefined", willReplace = false) => {
storageApi.get(name).then((results) => {
try {
// If save finds a session successfully then check if replacing
const json = JSON.parse(results[name]);
if (!willReplace) {
swal({
title: "Replace?",
text: "Found a session with that name! Do you want to replace it?",
icon: "warning",
buttons: true,
dangerMode: true,
}).then((willReplace) => {
if (willReplace) {
storageApi.set({[name]: data});
messageWindow("warning", "Overwrote session...");
} else {
messageWindow("warning", "Canceled " + action + "...");
}
});
} else {
storageApi.set({[name]: data});
messageWindow("warning", "Overwrote session...");
}
} catch (e) {
if (action !== "edit") {
appendToSavedSessionsList(name);
messageWindow("success", "Saved session...");
storageApi.set({[name]: data});
} else {
messageWindow("warning", "Overwrote session...");
storageApi.set({[name]: data});
}
}
});
}
const deleteFromStorage = (elm = null) => {
swal({
title: "Are you sure?",
text: "Do you wish to delete session:\n" + elm.innerText + "?",
icon: "warning",
buttons: true,
dangerMode: true,
}).then((willDelete) => {
if (willDelete) {
storageApi.remove(elm.innerText).then(() => {
elm.parentElement.removeChild(elm);
});
selectedItem = null; // reset selectedItem
messageWindow("success", "Deleted session successfully...");
} else {
messageWindow("warning", "Canceled deletion...");
}
});
}