diff --git a/package-lock.json b/package-lock.json
index fda11afa6..bcf5694db 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -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
}
}
diff --git a/package.json b/package.json
index a8e1d69a1..cad347c53 100644
--- a/package.json
+++ b/package.json
@@ -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",
diff --git a/src/public/app/services/link.js b/src/public/app/services/link.js
index 91950aeee..de03a158f 100644
--- a/src/public/app/services/link.js
+++ b/src/public/app/services/link.js
@@ -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'});
}
diff --git a/src/public/app/services/tree_context_menu.js b/src/public/app/services/tree_context_menu.js
index 393d8c879..d08c75de1 100644
--- a/src/public/app/services/tree_context_menu.js
+++ b/src/public/app/services/tree_context_menu.js
@@ -55,7 +55,7 @@ class TreeContextMenu {
return [
{ title: 'Open in a new tab Ctrl+Click', 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 ', 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});
}
diff --git a/src/public/app/widgets/containers/collapsible_section_container.js b/src/public/app/widgets/containers/collapsible_section_container.js
index 47b5f40bc..346fbaf04 100644
--- a/src/public/app/widgets/containers/collapsible_section_container.js
+++ b/src/public/app/widgets/containers/collapsible_section_container.js
@@ -17,6 +17,7 @@ const TPL = `
justify-content: center;
margin-left: 10px;
flex-grow: 1;
+ flex-flow: row wrap;
}
.section-title {
diff --git a/src/public/app/widgets/containers/pane_container.js b/src/public/app/widgets/containers/pane_container.js
index 220871053..c39a8dd43 100644
--- a/src/public/app/widgets/containers/pane_container.js
+++ b/src/public/app/widgets/containers/pane_container.js
@@ -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}) {
diff --git a/src/public/stylesheets/tree.css b/src/public/stylesheets/tree.css
index 9e356d9aa..db6b45bfd 100644
--- a/src/public/stylesheets/tree.css
+++ b/src/public/stylesheets/tree.css
@@ -21,6 +21,7 @@ ul.fancytree-container {
cursor: pointer;
overflow: hidden;
white-space: nowrap;
+ text-overflow: ellipsis;
}
.fancytree-node:not(.fancytree-loading) .fancytree-expander {