chore(client/ts): port components/main_tree_executors

This commit is contained in:
Elian Doran 2024-12-23 14:14:38 +02:00
parent ec685db093
commit 68d4f9f507
No known key found for this signature in database
2 changed files with 21 additions and 0 deletions

View File

@ -21,6 +21,7 @@ import { ConfirmWithMessageOptions, ConfirmWithTitleOptions } from "../widgets/d
import { Node } from "../services/tree.js";
import LoadResults from "../services/load_results.js";
import { Attribute } from "../services/attribute_parser.js";
import NoteTreeWidget from "../widgets/note_tree.js";
interface Layout {
getRootWidget: (appContext: AppContext) => RootWidget;
@ -149,6 +150,13 @@ export type CommandMappings = {
addNewRelation: CommandData;
addNewLabelDefinition: CommandData;
addNewRelationDefinition: CommandData;
cloneNoteIdsTo: CommandData & {
noteIds: string[];
};
moveBranchIdsTo: CommandData & {
branchIds: string[];
};
}
type EventMappings = {
@ -204,6 +212,7 @@ class AppContext extends Component {
beforeUnloadListeners: WeakRef<BeforeUploadListener>[];
tabManager!: TabManager;
layout?: Layout;
noteTreeWidget?: NoteTreeWidget;
constructor(isMainWindow: boolean) {
super();

View File

@ -15,12 +15,20 @@ export default class MainTreeExecutors extends Component {
}
async cloneNotesToCommand() {
if (!this.tree) {
return;
}
const selectedOrActiveNoteIds = this.tree.getSelectedOrActiveNodes().map(node => node.data.noteId);
this.triggerCommand('cloneNoteIdsTo', {noteIds: selectedOrActiveNoteIds});
}
async moveNotesToCommand() {
if (!this.tree) {
return;
}
const selectedOrActiveBranchIds = this.tree.getSelectedOrActiveNodes().map(node => node.data.branchId);
this.triggerCommand('moveBranchIdsTo', {branchIds: selectedOrActiveBranchIds});
@ -40,6 +48,10 @@ export default class MainTreeExecutors extends Component {
}
async createNoteAfterCommand() {
if (!this.tree) {
return;
}
const node = this.tree.getActiveNode();
if (!node) {