added delete button

Co-authored-by: Alpisc <Alpisc@users.noreply.github.com>
This commit is contained in:
Mystikfluu 2023-01-24 16:38:06 +01:00
parent 988a648b89
commit c46565c4ce
3 changed files with 62 additions and 26 deletions

View File

@ -147,9 +147,17 @@ function buildEntry(entry) {
editButton.setAttribute("class", "editbutton"); editButton.setAttribute("class", "editbutton");
editButton.setAttribute("tabindex",entry_priority) editButton.setAttribute("tabindex",entry_priority)
let deleteButton = document.createElement("button");
deleteButton.innerText = "Delete";
deleteButton.addEventListener("click", deleteEntry.bind(deleteButton, entry), false);
deleteButton.setAttribute("class", "deletebutton");
deleteButton.setAttribute("tabindex",entry_priority)
let actionDiv = document.createElement("div") let actionDiv = document.createElement("div")
actionDiv.appendChild(showButton) actionDiv.appendChild(showButton)
actionDiv.appendChild(editButton) actionDiv.appendChild(editButton)
actionDiv.appendChild(deleteButton)
actionDiv.setAttribute("id",`${entry.replaceAll(" ","-")}_actions`) actionDiv.setAttribute("id",`${entry.replaceAll(" ","-")}_actions`)
document.getElementById("table_entries").appendChild(nameDiv) document.getElementById("table_entries").appendChild(nameDiv)
@ -159,6 +167,19 @@ function buildEntry(entry) {
} }
function deleteEntry(entry) {
let entry_user = document.querySelector(`#${entry.replaceAll(" ","-")}_user`);
let entry_pass = document.querySelector(`#${entry.replaceAll(" ","-")}_pass`);
let entry_name = document.querySelector(`#${entry.replaceAll(" ","-")}_name`);
let actions = document.querySelector(`#${entry.replaceAll(" ","-")}_actions`);
entry_user.remove()
entry_pass.remove()
entry_name.remove()
actions.remove()
invoke("remove_entry",{name: entry})
}
async function editEntry(entry) { async function editEntry(entry) {
let entry_user = document.querySelector(`#${entry.replaceAll(" ","-")}_user > input`); let entry_user = document.querySelector(`#${entry.replaceAll(" ","-")}_user > input`);
let entry_pass = document.querySelector(`#${entry.replaceAll(" ","-")}_pass > input`); let entry_pass = document.querySelector(`#${entry.replaceAll(" ","-")}_pass > input`);
@ -219,7 +240,7 @@ async function editEntry(entry) {
} }
async function ask_pw() { async function ask_pw() {
return await password_prompt("Enter your master password to proceed"); return await password_prompt("Enter your master password to proceed")
} }
async function get_pw() { async function get_pw() {

View File

@ -1,26 +1,20 @@
window.password_prompt = async function(label_message, button_message, arg3, arg4, arg5) { window.password_prompt = async function(label_message, submitbutton_message, cancelbutton_message) {
return new Promise((res,rej) => { return new Promise((res,rej) => {
let callback,width,height; let width = 200,height = 100;
if (typeof label_message !== "string") label_message = "Password:"; if (typeof label_message !== "string") label_message = "Password:";
if (typeof button_message !== "string") button_message = "Submit"; if (typeof submitbutton_message !== "string") submitbutton_message = "Submit";
if (typeof arg3 === "function") { if (typeof cancelbutton_message !== "string") cancelbutton_message = "Cancel";
callback = arg3;
}
else if (typeof arg3 === "number" && typeof arg4 === "number" && typeof arg5 === "function") {
width = arg3;
height = arg4;
callback = arg5;
}
if (typeof width !== "number") width = 200;
if (typeof height !== "number") height = 100;
if (typeof callback !== "function") callback = function(){};
let submit = function() { let submit = function() {
callback(input.value);
document.body.removeChild(div); document.body.removeChild(div);
window.removeEventListener("resize", resize, false); window.removeEventListener("resize", resize, false);
res(input.value) res(input.value)
}; };
let cancel = function() {
document.body.removeChild(div)
window.removeEventListener("resize", resize, false)
rej()
}
let resize = function() { let resize = function() {
div.style.left = ((window.innerWidth / 2) - (width / 2)) + "px"; div.style.left = ((window.innerWidth / 2) - (width / 2)) + "px";
div.style.top = ((window.innerHeight / 2) - (height / 2)) + "px"; div.style.top = ((window.innerHeight / 2) - (height / 2)) + "px";
@ -48,10 +42,21 @@ window.password_prompt = async function(label_message, button_message, arg3, arg
div.appendChild(document.createElement("br")); div.appendChild(document.createElement("br"));
let button = document.createElement("button"); let actionDiv = document.createElement("div")
button.innerHTML = button_message;
button.addEventListener("click", submit, false); let submitbutton = document.createElement("button");
div.appendChild(button); submitbutton.innerHTML = submitbutton_message;
submitbutton.style.display = "inline-block"
submitbutton.addEventListener("click", submit, false);
actionDiv.appendChild(submitbutton);
let cancelbutton = document.createElement("button");
cancelbutton.innerHTML = cancelbutton_message;
cancelbutton.style.display = "inline-block"
cancelbutton.addEventListener("click", cancel, false);
actionDiv.appendChild(cancelbutton);
div.appendChild(actionDiv)
document.body.appendChild(div); document.body.appendChild(div);
window.addEventListener("resize", resize, false); window.addEventListener("resize", resize, false);

View File

@ -188,14 +188,24 @@ a.nostyle:visited {
color: inherit; color: inherit;
} }
/* .select > img {
.select{
transform: rotate(0deg); transform: rotate(0deg);
transition: transform 1s linear; transition: transform 0.25s linear;
} }
.select.open{ .select.open > img {
transform: rotate(180deg); transform: rotate(180deg);
transition: transform 1s linear; transition: transform 0.25s linear;
} }
*/
/* .select.open > div {
transition: 1s ease-in;
height: 8em;
overflow: hidden;
}
.select > div {
transform: none;
height: 0;
transition: 1s ease-out;
} */