mirror of
https://github.com/zadam/trilium.git
synced 2025-11-11 07:45:51 +01:00
chore(react/type_widget): finalize read-only text
This commit is contained in:
@@ -44,7 +44,8 @@ export default function NoteDetail() {
|
||||
note: note!,
|
||||
viewScope,
|
||||
ntxId,
|
||||
parentComponent
|
||||
parentComponent,
|
||||
noteContext
|
||||
};
|
||||
useEffect(() => setCorrespondingWidget(getCorrespondingWidget(type, props)), [ note, viewScope, type ]);
|
||||
|
||||
|
||||
@@ -15,8 +15,10 @@ import { loadIncludedNote, refreshIncludedNote, setupImageOpening } from "./util
|
||||
import { renderMathInElement } from "../../../services/math";
|
||||
import link from "../../../services/link";
|
||||
import { formatCodeBlocks } from "../../../services/syntax_highlight";
|
||||
import TouchBar, { TouchBarButton, TouchBarSpacer } from "../../react/TouchBar";
|
||||
import appContext from "../../../components/app_context";
|
||||
|
||||
export default function ReadOnlyText({ note, ntxId }: TypeWidgetProps) {
|
||||
export default function ReadOnlyText({ note, noteContext, ntxId }: TypeWidgetProps) {
|
||||
const blob = useNoteBlob(note);
|
||||
const contentRef = useRef<HTMLDivElement>(null);
|
||||
const { isRtl } = useNoteLanguage(note);
|
||||
@@ -57,6 +59,19 @@ export default function ReadOnlyText({ note, ntxId }: TypeWidgetProps) {
|
||||
className="note-detail-readonly-text-content ck-content use-tn-links"
|
||||
html={blob?.content}
|
||||
/>
|
||||
|
||||
<TouchBar>
|
||||
<TouchBarSpacer size="flexible" />
|
||||
<TouchBarButton
|
||||
icon="NSLockUnlockedTemplate"
|
||||
click={() => {
|
||||
if (noteContext?.viewScope) {
|
||||
noteContext.viewScope.readOnlyTemporarilyDisabled = true;
|
||||
appContext.triggerEvent("readOnlyTemporarilyDisabled", { noteContext });
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</TouchBar>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import FNote from "../../entities/fnote";
|
||||
import { ViewScope } from "../../services/link";
|
||||
import { TypedComponent } from "../../components/component";
|
||||
import NoteContext from "../../components/note_context";
|
||||
|
||||
export interface TypeWidgetProps {
|
||||
note: FNote;
|
||||
viewScope: ViewScope | undefined;
|
||||
ntxId: string | null | undefined;
|
||||
parentComponent: TypedComponent<any> | undefined;
|
||||
noteContext: NoteContext | undefined;
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
import AbstractTextTypeWidget from "./abstract_text_type_widget.js";
|
||||
import { formatCodeBlocks } from "../../services/syntax_highlight.js";
|
||||
import type FNote from "../../entities/fnote.js";
|
||||
import type { CommandListenerData, EventData } from "../../components/app_context.js";
|
||||
import appContext from "../../components/app_context.js";
|
||||
|
||||
export default class ReadOnlyTextTypeWidget extends AbstractTextTypeWidget {
|
||||
buildTouchBarCommand({ TouchBar, buildIcon }: CommandListenerData<"buildTouchBar">) {
|
||||
return [
|
||||
new TouchBar.TouchBarSpacer({ size: "flexible" }),
|
||||
new TouchBar.TouchBarButton({
|
||||
icon: buildIcon("NSLockUnlockedTemplate"),
|
||||
click: () => {
|
||||
if (this.noteContext?.viewScope) {
|
||||
this.noteContext.viewScope.readOnlyTemporarilyDisabled = true;
|
||||
appContext.triggerEvent("readOnlyTemporarilyDisabled", { noteContext: this.noteContext });
|
||||
}
|
||||
this.refresh();
|
||||
}
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user