mirror of
https://github.com/zadam/trilium.git
synced 2025-02-22 22:13:07 +08:00
context menu now offer option to open notes in a new pane
This commit is contained in:
parent
7ed816f1b2
commit
c04bbd4973
7 changed files with 32 additions and 12 deletions
12
package-lock.json
generated
12
package-lock.json
generated
|
@ -2958,9 +2958,9 @@
|
|||
}
|
||||
},
|
||||
"electron": {
|
||||
"version": "13.0.1",
|
||||
"resolved": "https://registry.npmjs.org/electron/-/electron-13.0.1.tgz",
|
||||
"integrity": "sha512-ds1cf0m46nStil0jbM2r9W/p+Kprdq22+2MikIUqEu69eGl1c86IinQVrpmJ9bR4RshDSF4j3uD32a0bsHDMnQ==",
|
||||
"version": "13.1.0",
|
||||
"resolved": "https://registry.npmjs.org/electron/-/electron-13.1.0.tgz",
|
||||
"integrity": "sha512-ykRAaPWrVQkm2Lju4O4rMQzahNcxWLeLMrhBw8WnmIiugkvUH0MhZ85jsOTrAoQ2Zl1FC542bloKFWGSkeVjkg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@electron/get": "^1.0.1",
|
||||
|
@ -2969,9 +2969,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@types/node": {
|
||||
"version": "14.17.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.1.tgz",
|
||||
"integrity": "sha512-/tpUyFD7meeooTRwl3sYlihx2BrJE7q9XF71EguPFIySj9B7qgnRtHsHTho+0AUm4m1SvWGm6uSncrR94q6Vtw==",
|
||||
"version": "14.17.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.2.tgz",
|
||||
"integrity": "sha512-sld7b/xmFum66AAKuz/rp/CUO8+98fMpyQ3SBfzzBNGMd/1iHBTAg9oyAvcYlAj46bpc74r91jSw2iFdnx29nw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"cross-env": "7.0.3",
|
||||
"electron": "13.0.1",
|
||||
"electron": "13.1.0",
|
||||
"electron-builder": "22.11.3",
|
||||
"electron-packager": "15.2.0",
|
||||
"electron-rebuild": "2.3.5",
|
||||
|
|
|
@ -132,13 +132,20 @@ function linkContextMenu(e) {
|
|||
x: e.pageX,
|
||||
y: e.pageY,
|
||||
items: [
|
||||
{title: "Open note in new tab", command: "openNoteInNewTab", uiIcon: "empty"},
|
||||
{title: "Open note in new window", command: "openNoteInNewWindow", uiIcon: "window-open"}
|
||||
{title: "Open note in a new tab", command: "openNoteInNewTab", uiIcon: "empty"},
|
||||
{title: "Open note in a new pane", command: "openNoteInNewPane", uiIcon: "dock-right"},
|
||||
{title: "Open note in a new window", command: "openNoteInNewWindow", uiIcon: "window-open"}
|
||||
],
|
||||
selectMenuItemHandler: ({command}) => {
|
||||
if (command === 'openNoteInNewTab') {
|
||||
appContext.tabManager.openTabWithNoteWithHoisting(notePath);
|
||||
}
|
||||
else if (command === 'openNoteInNewPane') {
|
||||
const subContexts = appContext.tabManager.getActiveContext().getSubContexts();
|
||||
const {ntxId} = subContexts[subContexts.length - 1];
|
||||
|
||||
appContext.triggerCommand("openNewPane", {ntxId, notePath});
|
||||
}
|
||||
else if (command === 'openNoteInNewWindow') {
|
||||
appContext.triggerCommand('openInWindow', {notePath, hoistedNoteId: 'root'});
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ class TreeContextMenu {
|
|||
|
||||
return [
|
||||
{ title: 'Open in a new tab <kbd>Ctrl+Click</kbd>', command: "openInTab", uiIcon: "empty", enabled: noSelectedNotes },
|
||||
{ title: 'Open in a new window', command: "openInWindow", uiIcon: "window-open", enabled: noSelectedNotes },
|
||||
{ title: 'Open in a new pane', command: "openNoteInPane", uiIcon: "dock-right", enabled: noSelectedNotes },
|
||||
{ title: 'Insert note after <kbd data-command="createNoteAfter"></kbd>', command: "insertNoteAfter", uiIcon: "plus",
|
||||
items: insertNoteAfterEnabled ? this.getNoteTypeItems("insertNoteAfter") : null,
|
||||
enabled: insertNoteAfterEnabled && noSelectedNotes },
|
||||
|
@ -130,6 +130,12 @@ class TreeContextMenu {
|
|||
isProtected: this.node.data.isProtected
|
||||
});
|
||||
}
|
||||
else if (command === 'openNoteInPane') {
|
||||
const subContexts = appContext.tabManager.getActiveContext().getSubContexts();
|
||||
const {ntxId} = subContexts[subContexts.length - 1];
|
||||
|
||||
this.treeWidget.triggerCommand("openNewPane", {ntxId, notePath});
|
||||
}
|
||||
else {
|
||||
this.treeWidget.triggerCommand(command, {node: this.node, notePath: notePath});
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ const TPL = `
|
|||
justify-content: center;
|
||||
margin-left: 10px;
|
||||
flex-grow: 1;
|
||||
flex-flow: row wrap;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
|
|
|
@ -34,7 +34,7 @@ export default class PaneContainer extends FlexContainer {
|
|||
this.child(widget);
|
||||
}
|
||||
|
||||
async openNewPaneCommand({ntxId}) {
|
||||
async openNewPaneEvent({ntxId, notePath}) {
|
||||
const noteContext = await appContext.tabManager.openEmptyTab(null, 'root', appContext.tabManager.getActiveMainContext().ntxId);
|
||||
|
||||
// remove the original position of newly created note context
|
||||
|
@ -52,7 +52,12 @@ export default class PaneContainer extends FlexContainer {
|
|||
|
||||
await appContext.tabManager.activateNoteContext(noteContext.ntxId);
|
||||
|
||||
await noteContext.setEmpty();
|
||||
if (notePath) {
|
||||
await noteContext.setNote(notePath);
|
||||
}
|
||||
else {
|
||||
await noteContext.setEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
closeThisPaneCommand({ntxId}) {
|
||||
|
|
|
@ -21,6 +21,7 @@ ul.fancytree-container {
|
|||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.fancytree-node:not(.fancytree-loading) .fancytree-expander {
|
||||
|
|
Loading…
Reference in a new issue