mirror of
https://github.com/zadam/trilium.git
synced 2025-11-10 16:39:02 +01:00
client/note context menu: add "Edit note" for read-only notes
This commit is contained in:
parent
4fdb502a19
commit
bec47c0bb2
@ -1,19 +1,20 @@
|
|||||||
import { ConvertToAttachmentResponse } from "@triliumnext/commons";
|
import { ConvertToAttachmentResponse } from "@triliumnext/commons";
|
||||||
import appContext, { CommandNames } from "../../components/app_context";
|
|
||||||
import FNote from "../../entities/fnote"
|
|
||||||
import dialog from "../../services/dialog";
|
|
||||||
import { t } from "../../services/i18n"
|
|
||||||
import server from "../../services/server";
|
|
||||||
import toast from "../../services/toast";
|
|
||||||
import ws from "../../services/ws";
|
|
||||||
import ActionButton from "../react/ActionButton"
|
|
||||||
import Dropdown from "../react/Dropdown";
|
|
||||||
import { FormDropdownDivider, FormListItem } from "../react/FormList";
|
import { FormDropdownDivider, FormListItem } from "../react/FormList";
|
||||||
import { isElectron as getIsElectron, isMac as getIsMac } from "../../services/utils";
|
import { isElectron as getIsElectron, isMac as getIsMac } from "../../services/utils";
|
||||||
import { ParentComponent } from "../react/react_utils";
|
import { ParentComponent } from "../react/react_utils";
|
||||||
|
import { t } from "../../services/i18n"
|
||||||
import { useContext } from "preact/hooks";
|
import { useContext } from "preact/hooks";
|
||||||
import NoteContext from "../../components/note_context";
|
import { useIsNoteReadOnly } from "../react/hooks";
|
||||||
|
import ActionButton from "../react/ActionButton"
|
||||||
|
import appContext, { CommandNames } from "../../components/app_context";
|
||||||
import branches from "../../services/branches";
|
import branches from "../../services/branches";
|
||||||
|
import dialog from "../../services/dialog";
|
||||||
|
import Dropdown from "../react/Dropdown";
|
||||||
|
import FNote from "../../entities/fnote"
|
||||||
|
import NoteContext from "../../components/note_context";
|
||||||
|
import server from "../../services/server";
|
||||||
|
import toast from "../../services/toast";
|
||||||
|
import ws from "../../services/ws";
|
||||||
|
|
||||||
interface NoteActionsProps {
|
interface NoteActionsProps {
|
||||||
note?: FNote;
|
note?: FNote;
|
||||||
@ -52,6 +53,7 @@ function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: Not
|
|||||||
const isMac = getIsMac();
|
const isMac = getIsMac();
|
||||||
const hasSource = ["text", "code", "relationMap", "mermaid", "canvas", "mindMap"].includes(note.type);
|
const hasSource = ["text", "code", "relationMap", "mermaid", "canvas", "mindMap"].includes(note.type);
|
||||||
const isSearchOrBook = ["search", "book"].includes(note.type);
|
const isSearchOrBook = ["search", "book"].includes(note.type);
|
||||||
|
const {isReadOnly, enableEditing} = useIsNoteReadOnly(note, noteContext);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dropdown
|
<Dropdown
|
||||||
@ -59,8 +61,15 @@ function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: Not
|
|||||||
className="note-actions"
|
className="note-actions"
|
||||||
hideToggleArrow
|
hideToggleArrow
|
||||||
noSelectButtonStyle
|
noSelectButtonStyle
|
||||||
iconAction
|
iconAction>
|
||||||
>
|
|
||||||
|
{isReadOnly && <>
|
||||||
|
<FormListItem icon="bx bx-pencil" onClick={() => enableEditing()}>
|
||||||
|
{t("read-only-info.edit-note")}
|
||||||
|
</FormListItem>
|
||||||
|
<FormDropdownDivider />
|
||||||
|
</>}
|
||||||
|
|
||||||
{canBeConvertedToAttachment && <ConvertToAttachment note={note} /> }
|
{canBeConvertedToAttachment && <ConvertToAttachment note={note} /> }
|
||||||
{note.type === "render" && <CommandItem command="renderActiveNote" icon="bx bx-extension" text={t("note_actions.re_render_note")} />}
|
{note.type === "render" && <CommandItem command="renderActiveNote" icon="bx bx-extension" text={t("note_actions.re_render_note")} />}
|
||||||
<CommandItem command="findInText" icon="bx bx-search" disabled={!isSearchable} text={t("note_actions.search_in_note")} />
|
<CommandItem command="findInText" icon="bx bx-search" disabled={!isSearchable} text={t("note_actions.search_in_note")} />
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user