Vanessa 2023-02-27 15:19:22 +08:00
parent 879494a71c
commit cd85db32e5
6 changed files with 57 additions and 63 deletions

View file

@ -33,23 +33,15 @@ export const genCardItem = (item: ICardPackage) => {
</li>`;
};
export const makeCard = (nodeElement: Element[]) => {
export const makeCard = (ids: string[]) => {
window.siyuan.dialogs.find(item => {
if (item.element.getAttribute("data-key") === "makeCard") {
hideElements(["dialog"]);
return true;
}
});
const range = getEditorRange(nodeElement[0]);
fetchPost("/api/riff/getRiffDecks", {}, (response) => {
let html = "";
const ids: string[] = [];
nodeElement.forEach(item => {
if (item.getAttribute("data-type") === "NodeThematicBreak") {
return;
}
ids.push(item.getAttribute("data-node-id"));
});
response.data.forEach((item: ICardPackage) => {
html += genCardItem(item);
});
@ -69,9 +61,6 @@ export const makeCard = (nodeElement: Element[]) => {
<div class="fn__hr"></div>
<ul class="b3-list b3-list--background fn__flex-1">${html}</ul>
</div>`,
destroyCallback() {
focusByRange(range);
}
});
dialog.element.setAttribute("data-key", "makeCard");
dialog.element.style.zIndex = "200";

View file

@ -4,8 +4,7 @@ import {isMobile} from "../util/functions";
import {Protyle} from "../protyle";
import {Constants} from "../constants";
import {disabledProtyle, onGet} from "../protyle/util/onGet";
import {hasClosestByAttribute, hasClosestByClassName} from "../protyle/util/hasClosest";
import {viewCards} from "./viewCards";
import {hasClosestByClassName} from "../protyle/util/hasClosest";
import {hideElements} from "../protyle/ui/hideElements";
export const openCard = () => {
@ -35,10 +34,6 @@ export const openCardByData = (cardsData: ICard[], html = "") => {
if (blocks.length > 0) {
html += `<div class="fn__flex" style="align-items: center" data-type="count">
<span class="fn__space"></span>
<span data-type="view" class="block__icon block__icon--show b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.cardPreview}">
<svg><use xlink:href="#iconEye"></use></svg>
</span>
<span class="fn__space"></span>
<div class="ft__on-surface ft__smaller"><span>1</span>/<span>${blocks.length}</span></div>
</div>`;
}
@ -127,17 +122,6 @@ export const openCardByData = (cardsData: ICard[], html = "") => {
const selectElement = dialog.element.querySelector("select");
const titleElement = countElement.previousElementSibling;
dialog.element.addEventListener("click", (event) => {
const viewElement = hasClosestByAttribute(event.target as HTMLElement, "data-type", "view");
if (viewElement) {
if (selectElement) {
viewCards(selectElement.value, selectElement.options[selectElement.selectedIndex].text);
} else {
viewCards(titleElement.getAttribute("data-id"), titleElement.textContent, undefined, true);
}
event.preventDefault();
event.stopPropagation();
return;
}
let type = "";
if (typeof event.detail === "string") {
if (event.detail === "1" || event.detail === "j") {
@ -204,9 +188,11 @@ export const openCardByData = (cardsData: ICard[], html = "") => {
index++;
editor.protyle.element.classList.add("card__block--hide");
if (index > blocks.length - 1) {
fetchPost(selectElement ? "/api/riff/getRiffDueCards" : "/api/riff/getTreeRiffDueCards", {
fetchPost(selectElement ? "/api/riff/getRiffDueCards" :
(titleElement.getAttribute("data-id") ? "/api/riff/getTreeRiffDueCards" : "/api/riff/getNotebookRiffDueCards"), {
rootID: titleElement.getAttribute("data-id"),
deckID: selectElement?.value
deckID: selectElement?.value,
notebook: titleElement.getAttribute("data-notebookid"),
}, (treeCards) => {
index = 0;
blocks = treeCards.data;