mirror of
https://github.com/zadam/trilium.git
synced 2025-10-21 15:49:00 +02:00
chore(react/dialogs): add back content buttons to note revision
This commit is contained in:
parent
958b1592f8
commit
7a0f148d28
@ -15,6 +15,7 @@ import { useEffect, useRef, useState } from "preact/hooks";
|
|||||||
import protected_session_holder from "../../services/protected_session_holder";
|
import protected_session_holder from "../../services/protected_session_holder";
|
||||||
import { renderMathInElement } from "../../services/math";
|
import { renderMathInElement } from "../../services/math";
|
||||||
import { CSSProperties } from "preact/compat";
|
import { CSSProperties } from "preact/compat";
|
||||||
|
import open from "../../services/open";
|
||||||
|
|
||||||
interface RevisionsDialogProps {
|
interface RevisionsDialogProps {
|
||||||
note?: FNote;
|
note?: FNote;
|
||||||
@ -110,14 +111,16 @@ function RevisionsList({ revisions, onSelect }: { revisions: RevisionItem[], onS
|
|||||||
|
|
||||||
function RevisionPreview({ revisionItem }: { revisionItem?: RevisionItem}) {
|
function RevisionPreview({ revisionItem }: { revisionItem?: RevisionItem}) {
|
||||||
const [ fullRevision, setFullRevision ] = useState<FullRevision>();
|
const [ fullRevision, setFullRevision ] = useState<FullRevision>();
|
||||||
|
const [ needsRefresh, setNeedsRefresh ] = useState<boolean>();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
setNeedsRefresh(false);
|
||||||
if (revisionItem) {
|
if (revisionItem) {
|
||||||
server.get<FullRevision>(`revisions/${revisionItem.revisionId}`).then(setFullRevision);
|
server.get<FullRevision>(`revisions/${revisionItem.revisionId}`).then(setFullRevision);
|
||||||
} else {
|
} else {
|
||||||
setFullRevision(undefined);
|
setFullRevision(undefined);
|
||||||
}
|
}
|
||||||
}, [revisionItem]);
|
}, [revisionItem, needsRefresh]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@ -125,15 +128,35 @@ function RevisionPreview({ revisionItem }: { revisionItem?: RevisionItem}) {
|
|||||||
<h3 className="revision-title" style="margin: 3px; flex-grow: 100;">{revisionItem?.title ?? t("revisions.no_revisions")}</h3>
|
<h3 className="revision-title" style="margin: 3px; flex-grow: 100;">{revisionItem?.title ?? t("revisions.no_revisions")}</h3>
|
||||||
{(revisionItem && <div className="revision-title-buttons">
|
{(revisionItem && <div className="revision-title-buttons">
|
||||||
{(!revisionItem.isProtected || protected_session_holder.isProtectedSessionAvailable()) &&
|
{(!revisionItem.isProtected || protected_session_holder.isProtectedSessionAvailable()) &&
|
||||||
<Button icon="bx bx-history"
|
<>
|
||||||
text={t("revisions.restore_button")}
|
<Button
|
||||||
onClick={async () => {
|
icon="bx bx-history"
|
||||||
if (await dialog.confirm(t("revisions.confirm_restore"))) {
|
text={t("revisions.restore_button")}
|
||||||
await server.post(`revisions/${revisionItem.revisionId}/restore`);
|
onClick={async () => {
|
||||||
closeActiveDialog();
|
if (await dialog.confirm(t("revisions.confirm_restore"))) {
|
||||||
toast.showMessage(t("revisions.revision_restored"));
|
await server.post(`revisions/${revisionItem.revisionId}/restore`);
|
||||||
}
|
closeActiveDialog();
|
||||||
}}/>
|
toast.showMessage(t("revisions.revision_restored"));
|
||||||
|
}
|
||||||
|
}}/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
icon="bx bx-trash"
|
||||||
|
text={t("revisions.delete_button")}
|
||||||
|
onClick={async () => {
|
||||||
|
if (await dialog.confirm(t("revisions.confirm_delete"))) {
|
||||||
|
await server.remove(`revisions/${revisionItem.revisionId}`);
|
||||||
|
setNeedsRefresh(true);
|
||||||
|
toast.showMessage(t("revisions.revision_deleted"));
|
||||||
|
}
|
||||||
|
}} />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
primary
|
||||||
|
icon="bx bx-download"
|
||||||
|
text={t("revisions.download_button")}
|
||||||
|
onClick={() => open.downloadRevision(revisionItem.noteId, revisionItem.revisionId)} />
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
</div>)}
|
</div>)}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user