mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
split window WIP
This commit is contained in:
parent
b7bd5396d1
commit
a3847842cb
@ -16,15 +16,33 @@ export default class PaneContainer extends FlexContainer {
|
|||||||
this.css('flex-grow', '1');
|
this.css('flex-grow', '1');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
doRender() {
|
||||||
|
super.doRender();
|
||||||
|
|
||||||
|
this.$widget.find("div").on("click", () => {
|
||||||
|
const activeTabContext = appContext.tabManager.getActiveTabContext();
|
||||||
|
|
||||||
|
const tabId = activeTabContext.parentTabId || activeTabContext.tabId;
|
||||||
|
|
||||||
|
appContext.tabManager.activateTab(tabId);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
async openNewPaneCommand() {
|
async openNewPaneCommand() {
|
||||||
const newWidget = this.widgetFactory();
|
const newWidget = this.widgetFactory();
|
||||||
|
|
||||||
this.$widget.append(newWidget.render());
|
const $rendered = newWidget.render();
|
||||||
|
|
||||||
|
this.$widget.append($rendered);
|
||||||
|
|
||||||
const tabContext = new TabContext();
|
const tabContext = new TabContext();
|
||||||
appContext.tabManager.tabContexts.push(tabContext);
|
appContext.tabManager.tabContexts.push(tabContext);
|
||||||
appContext.tabManager.child(tabContext);
|
appContext.tabManager.child(tabContext);
|
||||||
|
|
||||||
|
$rendered.on('click', () => {
|
||||||
|
appContext.tabManager.activateTab(tabContext.tabId);
|
||||||
|
});
|
||||||
|
|
||||||
tabContext.parentTabId = appContext.tabManager.getActiveTabContext().tabId;
|
tabContext.parentTabId = appContext.tabManager.getActiveTabContext().tabId;
|
||||||
|
|
||||||
await newWidget.handleEvent('setTabContext', { tabContext });
|
await newWidget.handleEvent('setTabContext', { tabContext });
|
||||||
|
@ -427,12 +427,16 @@ export default class TabRowWidget extends BasicWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
activeTabChangedEvent() {
|
activeTabChangedEvent() {
|
||||||
const activeTabContext = appContext.tabManager.getActiveTabContext();
|
let activeTabContext = appContext.tabManager.getActiveTabContext();
|
||||||
|
|
||||||
if (!activeTabContext) {
|
if (!activeTabContext) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (activeTabContext.parentTabId) {
|
||||||
|
activeTabContext = appContext.tabManager.getTabContextById(activeTabContext.parentTabId);
|
||||||
|
}
|
||||||
|
|
||||||
const tabEl = this.getTabById(activeTabContext.tabId)[0];
|
const tabEl = this.getTabById(activeTabContext.tabId)[0];
|
||||||
const activeTabEl = this.activeTabEl;
|
const activeTabEl = this.activeTabEl;
|
||||||
if (activeTabEl === tabEl) return;
|
if (activeTabEl === tabEl) return;
|
||||||
@ -441,7 +445,9 @@ export default class TabRowWidget extends BasicWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
newTabOpenedEvent({tabContext}) {
|
newTabOpenedEvent({tabContext}) {
|
||||||
this.addTab(tabContext.tabId);
|
if (!tabContext.parentId) {
|
||||||
|
this.addTab(tabContext.tabId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
removeTab(tabId) {
|
removeTab(tabId) {
|
||||||
@ -606,11 +612,11 @@ export default class TabRowWidget extends BasicWidget {
|
|||||||
tabNoteSwitchedAndActivatedEvent({tabContext}) {
|
tabNoteSwitchedAndActivatedEvent({tabContext}) {
|
||||||
this.activeTabChangedEvent();
|
this.activeTabChangedEvent();
|
||||||
|
|
||||||
this.updateTabById(tabContext.tabId);
|
this.updateTabById(tabContext.parentTabId || tabContext.tabId);
|
||||||
}
|
}
|
||||||
|
|
||||||
tabNoteSwitchedEvent({tabContext}) {
|
tabNoteSwitchedEvent({tabContext}) {
|
||||||
this.updateTabById(tabContext.tabId);
|
this.updateTabById(tabContext.parentTabId || tabContext.tabId);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateTabById(tabId) {
|
updateTabById(tabId) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user