mirror of
https://github.com/zadam/trilium.git
synced 2025-11-17 10:40:41 +01:00
Compare commits
3 Commits
main
...
siriusbcd_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be19d1f5b5 | ||
|
|
a22687e2d8 | ||
|
|
44475853df |
@@ -1,17 +1,19 @@
|
||||
import { useEffect, useState } from "preact/hooks";
|
||||
import { t } from "../../services/i18n";
|
||||
import ActionButton from "../react/ActionButton";
|
||||
import { useNoteContext, useTriliumEvent } from "../react/hooks";
|
||||
import { useNoteContext, useTriliumEvents } from "../react/hooks";
|
||||
import appContext from "../../components/app_context";
|
||||
|
||||
export default function ClosePaneButton() {
|
||||
const { noteContext, ntxId, parentComponent } = useNoteContext();
|
||||
const [isEnabled, setIsEnabled] = useState(false);
|
||||
|
||||
function refresh() {
|
||||
setIsEnabled(!!(noteContext && !!noteContext.mainNtxId));
|
||||
const isMainOfSomeContext = appContext.tabManager.noteContexts.some(c => c.mainNtxId === ntxId);
|
||||
setIsEnabled(!!(noteContext && (!!noteContext.mainNtxId || isMainOfSomeContext)));
|
||||
}
|
||||
|
||||
useTriliumEvent("noteContextReorder", refresh);
|
||||
useTriliumEvents(["noteContextRemoved", "noteContextReorder", "newNoteContextCreated"], refresh);
|
||||
useEffect(refresh, [ntxId]);
|
||||
|
||||
return (
|
||||
|
||||
@@ -100,9 +100,23 @@ export default class SplitNoteContainer extends FlexContainer<SplitNoteWidget> {
|
||||
}
|
||||
|
||||
async closeThisNoteSplitCommand({ ntxId }: CommandListenerData<"closeThisNoteSplit">) {
|
||||
if (ntxId) {
|
||||
await appContext.tabManager.removeNoteContext(ntxId);
|
||||
if (!ntxId) return;
|
||||
const contexts = appContext.tabManager.noteContexts;
|
||||
|
||||
const currentIndex = contexts.findIndex((c) => c.ntxId === ntxId);
|
||||
if (currentIndex === -1) return;
|
||||
|
||||
const isRemoveMainContext = !contexts[currentIndex].mainNtxId;
|
||||
if (isRemoveMainContext && currentIndex + 1 <= contexts.length) {
|
||||
const ntxIds = contexts.map((c) => c.ntxId).filter((c) => !!c) as string[];
|
||||
this.triggerCommand("noteContextReorder", {
|
||||
ntxIdsInOrder: ntxIds,
|
||||
oldMainNtxId: ntxId,
|
||||
newMainNtxId: ntxIds[currentIndex + 1]
|
||||
});
|
||||
}
|
||||
|
||||
await appContext.tabManager.removeNoteContext(ntxId);
|
||||
}
|
||||
|
||||
async moveThisNoteSplitCommand({ ntxId, isMovingLeft }: CommandListenerData<"moveThisNoteSplit">) {
|
||||
|
||||
Reference in New Issue
Block a user