diff --git a/app/src/card/makeCard.ts b/app/src/card/makeCard.ts index 7e6cd302c..8396d5004 100644 --- a/app/src/card/makeCard.ts +++ b/app/src/card/makeCard.ts @@ -3,6 +3,7 @@ import {fetchPost} from "../util/fetch"; import {Dialog} from "../dialog"; import {isMobile} from "../util/functions"; import {hideMessage, showMessage} from "../dialog/message"; +import {confirmDialog} from "../dialog/confirmDialog"; const genCardItem = (item: { id: string, name: string }) => { return `
  • @@ -13,6 +14,12 @@ const genCardItem = (item: { id: string, name: string }) => { + + + + + +
  • `; }; @@ -88,6 +95,50 @@ export const makeCard = (nodeElement: Element[]) => { event.stopPropagation(); event.preventDefault(); break; + } else if (type === "delete") { + confirmDialog(window.siyuan.languages.confirm, window.siyuan.languages.confirmDelete + "?", () => { + fetchPost("/api/riff/removeRiffDeck", { + deckID: target.parentElement.getAttribute("data-id"), + }, () => { + target.parentElement.remove(); + }); + }) + event.stopPropagation(); + event.preventDefault(); + break; + } else if (type === "rename") { + const renameDialog = new Dialog({ + title: window.siyuan.languages.rename, + content: `
    +
    +
    + +
    `, + width: isMobile() ? "80vw" : "520px", + }); + const inputElement = renameDialog.element.querySelector("input") as HTMLInputElement; + const btnsElement = renameDialog.element.querySelectorAll(".b3-button"); + renameDialog.bindInput(inputElement, () => { + (btnsElement[1] as HTMLButtonElement).click(); + }); + inputElement.value = target.parentElement.querySelector(".b3-list-item__text").textContent + inputElement.focus(); + inputElement.select(); + btnsElement[0].addEventListener("click", () => { + renameDialog.destroy(); + }); + btnsElement[1].addEventListener("click", () => { + fetchPost("/api/riff/renameRiffDeck", { + name: inputElement.value, + deckID: target.parentElement.getAttribute("data-id"), + }, () => { + target.parentElement.querySelector(".b3-list-item__text").textContent = inputElement.value + }); + renameDialog.destroy(); + }); + event.stopPropagation(); + event.preventDefault(); + break; } target = target.parentElement; }