fix: reload layout when double clicking on panel resizer
This commit is contained in:
@@ -54,7 +54,7 @@ class PanelResizerCtrl implements PanelResizerScope {
|
|||||||
index!: number
|
index!: number
|
||||||
minWidth!: number
|
minWidth!: number
|
||||||
onResizeFinish!: () => ResizeFinishCallback
|
onResizeFinish!: () => ResizeFinishCallback
|
||||||
onMouseMoveEvent?: () => () => void
|
onWidthEvent?: () => () => void
|
||||||
panelId!: string
|
panelId!: string
|
||||||
property!: PanelSide
|
property!: PanelSide
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ class PanelResizerCtrl implements PanelResizerScope {
|
|||||||
|
|
||||||
$onDestroy() {
|
$onDestroy() {
|
||||||
(this.onResizeFinish as any) = undefined;
|
(this.onResizeFinish as any) = undefined;
|
||||||
(this.onMouseMoveEvent as any) = undefined;
|
(this.onWidthEvent as any) = undefined;
|
||||||
(this.control as any) = undefined;
|
(this.control as any) = undefined;
|
||||||
window.removeEventListener(WINDOW_EVENT_RESIZE, this.handleResize);
|
window.removeEventListener(WINDOW_EVENT_RESIZE, this.handleResize);
|
||||||
document.removeEventListener(MouseEventType.Move, this.onMouseMove);
|
document.removeEventListener(MouseEventType.Move, this.onMouseMove);
|
||||||
@@ -189,6 +189,9 @@ class PanelResizerCtrl implements PanelResizerScope {
|
|||||||
addDoubleClickHandler() {
|
addDoubleClickHandler() {
|
||||||
this.resizerColumn.ondblclick = () => {
|
this.resizerColumn.ondblclick = () => {
|
||||||
this.$timeout(() => {
|
this.$timeout(() => {
|
||||||
|
if (this.onWidthEvent) {
|
||||||
|
this.onWidthEvent()();
|
||||||
|
}
|
||||||
const preClickCollapseState = this.isCollapsed();
|
const preClickCollapseState = this.isCollapsed();
|
||||||
if (preClickCollapseState) {
|
if (preClickCollapseState) {
|
||||||
this.setWidth(this.widthBeforeLastDblClick || this.defaultWidth);
|
this.setWidth(this.widthBeforeLastDblClick || this.defaultWidth);
|
||||||
@@ -245,9 +248,6 @@ class PanelResizerCtrl implements PanelResizerScope {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
if (this.onMouseMoveEvent) {
|
|
||||||
this.onMouseMoveEvent()();
|
|
||||||
}
|
|
||||||
if (this.property && this.property === PanelSide.Left) {
|
if (this.property && this.property === PanelSide.Left) {
|
||||||
this.handleLeftEvent(event);
|
this.handleLeftEvent(event);
|
||||||
} else {
|
} else {
|
||||||
@@ -256,6 +256,9 @@ class PanelResizerCtrl implements PanelResizerScope {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleWidthEvent(event?: MouseEvent) {
|
handleWidthEvent(event?: MouseEvent) {
|
||||||
|
if (this.onWidthEvent) {
|
||||||
|
this.onWidthEvent()();
|
||||||
|
}
|
||||||
let x;
|
let x;
|
||||||
if (event) {
|
if (event) {
|
||||||
x = event!.clientX;
|
x = event!.clientX;
|
||||||
@@ -393,7 +396,7 @@ export class PanelResizer extends WebDirective {
|
|||||||
index: '=',
|
index: '=',
|
||||||
minWidth: '=',
|
minWidth: '=',
|
||||||
onResizeFinish: '&',
|
onResizeFinish: '&',
|
||||||
onMouseMoveEvent: '&',
|
onWidthEvent: '&',
|
||||||
panelId: '=',
|
panelId: '=',
|
||||||
property: '='
|
property: '='
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -169,6 +169,6 @@
|
|||||||
default-width="300"
|
default-width="300"
|
||||||
hoverable="true"
|
hoverable="true"
|
||||||
on-resize-finish="self.onPanelResize"
|
on-resize-finish="self.onPanelResize"
|
||||||
on-mouse-move-event="self.onPanelMouseMoveEvent"
|
on-width-event="self.onPanelWidthEvent"
|
||||||
panel-id="'notes-column'"
|
panel-id="'notes-column'"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class NotesViewCtrl extends PureViewCtrl<unknown, NotesCtrlState> {
|
|||||||
};
|
};
|
||||||
this.onWindowResize = this.onWindowResize.bind(this);
|
this.onWindowResize = this.onWindowResize.bind(this);
|
||||||
this.onPanelResize = this.onPanelResize.bind(this);
|
this.onPanelResize = this.onPanelResize.bind(this);
|
||||||
this.onPanelMouseMoveEvent = this.onPanelMouseMoveEvent.bind(this);
|
this.onPanelWidthEvent = this.onPanelWidthEvent.bind(this);
|
||||||
window.addEventListener('resize', this.onWindowResize, true);
|
window.addEventListener('resize', this.onWindowResize, true);
|
||||||
this.registerKeyboardShortcuts();
|
this.registerKeyboardShortcuts();
|
||||||
this.autorun(async () => {
|
this.autorun(async () => {
|
||||||
@@ -134,7 +134,7 @@ class NotesViewCtrl extends PureViewCtrl<unknown, NotesCtrlState> {
|
|||||||
window.removeEventListener('resize', this.onWindowResize, true);
|
window.removeEventListener('resize', this.onWindowResize, true);
|
||||||
(this.onWindowResize as any) = undefined;
|
(this.onWindowResize as any) = undefined;
|
||||||
(this.onPanelResize as any) = undefined;
|
(this.onPanelResize as any) = undefined;
|
||||||
(this.onPanelMouseMoveEvent as any) = undefined;
|
(this.onPanelWidthEvent as any) = undefined;
|
||||||
this.newNoteKeyObserver();
|
this.newNoteKeyObserver();
|
||||||
this.nextNoteKeyObserver();
|
this.nextNoteKeyObserver();
|
||||||
this.previousNoteKeyObserver();
|
this.previousNoteKeyObserver();
|
||||||
@@ -649,6 +649,7 @@ class NotesViewCtrl extends PureViewCtrl<unknown, NotesCtrlState> {
|
|||||||
__: boolean,
|
__: boolean,
|
||||||
isCollapsed: boolean
|
isCollapsed: boolean
|
||||||
) {
|
) {
|
||||||
|
this.appState.activeNote.reloadTagsContainerMaxWidth();
|
||||||
this.application.setPreference(
|
this.application.setPreference(
|
||||||
PrefKey.NotesPanelWidth,
|
PrefKey.NotesPanelWidth,
|
||||||
newWidth
|
newWidth
|
||||||
@@ -659,7 +660,7 @@ class NotesViewCtrl extends PureViewCtrl<unknown, NotesCtrlState> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
onPanelMouseMoveEvent(): void {
|
onPanelWidthEvent(): void {
|
||||||
this.appState.activeNote.reloadTagsContainerMaxWidth();
|
this.appState.activeNote.reloadTagsContainerMaxWidth();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user