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

61 lines
2.0 KiB
JavaScript
Raw Normal View History

2020-02-01 02:43:21 +00:00
const getSavedSessionIDs = () => {
storageApi.get(null).then((results) => {
const sessions = Object.keys(results);
for (let session of sessions) {
2020-02-01 06:59:29 +00:00
storageApi.get(session).then((results) => {
size = getStoreSize(results[session]);
appendToSavedSessionsList(session, size);
});
2020-02-01 02:43:21 +00:00
}
});
}
2020-02-01 06:59:29 +00:00
const saveToStorage = (name, data, action = "undefined", willReplace = false, sveElm = null) => {
2020-02-01 02:43:21 +00:00
storageApi.get(name).then((results) => {
2020-02-01 06:59:29 +00:00
const size = getStoreSize(data); // Must be outside try block for catch block to see it
2020-02-01 02:43:21 +00:00
try {
2020-02-01 06:59:29 +00:00
const json = JSON.parse(results[name]); // If a session is found
2020-02-01 02:43:21 +00:00
if (!willReplace) {
2020-02-29 21:30:44 +00:00
holderName = name;
holderData = data;
holderSize = size;
showModal("confModal");
2020-02-01 02:43:21 +00:00
} else {
2020-02-01 06:59:29 +00:00
sveElm.innerText = size + " | " + name;
sveElm.name = name;
2020-02-01 02:43:21 +00:00
storageApi.set({[name]: data});
messageWindow("warning", "Overwrote session...");
}
} catch (e) {
if (action !== "edit") {
2020-02-01 06:59:29 +00:00
appendToSavedSessionsList(name, size);
2020-02-01 02:43:21 +00:00
messageWindow("success", "Saved session...");
storageApi.set({[name]: data});
} else {
storageApi.set({[name]: data});
2020-02-01 06:59:29 +00:00
messageWindow("warning", "Overwrote session...");
2020-02-01 02:43:21 +00:00
}
}
});
}
2020-02-01 06:59:29 +00:00
const deleteFromStorage = (elm = null, name = null) => {
2020-02-29 21:30:44 +00:00
storageApi.remove(name).then(() => {
elm.parentElement.removeChild(elm);
2020-02-01 02:43:21 +00:00
});
2020-02-29 21:30:44 +00:00
selectedItem = null; // reset selectedItem
messageWindow("success", "Deleted session successfully...");
2020-02-01 02:43:21 +00:00
}
2020-02-01 06:59:29 +00:00
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 });
}
}