From 5b83bd9b51b9e33b8a74f02615a3a1994ecd13cc Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Tue, 21 Apr 2020 17:11:06 +0200 Subject: [PATCH] Some minor fixes for the native client --- shared/js/ConnectionHandler.ts | 2 ++ shared/js/ui/channel.ts | 2 +- shared/js/ui/tree/Channel.tsx | 8 ++++---- shared/js/ui/tree/Client.tsx | 12 ++++++------ shared/js/ui/tree/Server.scss | 2 +- shared/js/ui/tree/Server.tsx | 8 ++++---- shared/js/ui/tree/View.tsx | 19 ++++++++++++------- shared/js/ui/view.tsx | 15 ++++++--------- 8 files changed, 36 insertions(+), 32 deletions(-) diff --git a/shared/js/ConnectionHandler.ts b/shared/js/ConnectionHandler.ts index 8613bd2b..ad385448 100644 --- a/shared/js/ConnectionHandler.ts +++ b/shared/js/ConnectionHandler.ts @@ -660,6 +660,8 @@ export class ConnectionHandler { this.startConnection(server_address.host + ":" + server_address.port, profile, false, Object.assign(this.reconnect_properties(profile), {auto_reconnect_attempt: true})); }, 5000); } + + this.serverConnection.updateConnectionState(ConnectionState.UNCONNECTED); /* Fix for the native client... */ } cancel_reconnect(log_event: boolean) { diff --git a/shared/js/ui/channel.ts b/shared/js/ui/channel.ts index 1bfc493b..85a42f89 100644 --- a/shared/js/ui/channel.ts +++ b/shared/js/ui/channel.ts @@ -536,7 +536,7 @@ export class ChannelEntry extends ChannelTreeEntry { invalidPermission: !channelCreate, callback: () => this.channelTree.spawnCreateChannel() }, - contextmenu.Entry.CLOSE(() => trigger_close ? on_close() : {}) + contextmenu.Entry.CLOSE(() => trigger_close && on_close ? on_close() : {}) ); } diff --git a/shared/js/ui/tree/Channel.tsx b/shared/js/ui/tree/Channel.tsx index 4591a174..daa7fa61 100644 --- a/shared/js/ui/tree/Channel.tsx +++ b/shared/js/ui/tree/Channel.tsx @@ -244,9 +244,9 @@ export class ChannelEntryView extends TreeEntry const collapsed_indicator = this.props.channel.child_channel_head || this.props.channel.clients(false).length > 0; return
this.onMouseUp(e as any)} + onMouseUp={e => this.onMouseUp(e)} onDoubleClick={() => this.onDoubleClick()} - onContextMenu={e => this.onContextMenu(e as any)} + onContextMenu={e => this.onContextMenu(e)} > {collapsed_indicator && this.onCollapsedToggle()} collapsed={this.props.channel.collapsed} />} @@ -260,7 +260,7 @@ export class ChannelEntryView extends TreeEntry this.props.channel.collapsed = !this.props.channel.collapsed; } - private onMouseUp(event: MouseEvent) { + private onMouseUp(event: React.MouseEvent) { if(event.button !== 0) return; /* only left mouse clicks */ const channel = this.props.channel; @@ -279,7 +279,7 @@ export class ChannelEntryView extends TreeEntry channel.joinChannel(); } - private onContextMenu(event: MouseEvent) { + private onContextMenu(event: React.MouseEvent) { if(settings.static(Settings.KEY_DISABLE_CONTEXT_MENU)) return; diff --git a/shared/js/ui/tree/Client.tsx b/shared/js/ui/tree/Client.tsx index 9d886ac9..b3f12183 100644 --- a/shared/js/ui/tree/Client.tsx +++ b/shared/js/ui/tree/Client.tsx @@ -322,7 +322,7 @@ class ClientNameEdit extends ReactComponentBase { ref={this.ref_div} dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(this.props.initialName)}} onBlur={e => this.onBlur()} - onKeyPress={e => this.onKeyPress(e as any)} + onKeyPress={e => this.onKeyPress(e)} /> } @@ -330,7 +330,7 @@ class ClientNameEdit extends ReactComponentBase { this.props.editFinished(this.ref_div.current.textContent); } - private onKeyPress(event: KeyboardEvent) { + private onKeyPress(event: React.KeyboardEvent) { if(event.key === "Enter") { event.preventDefault(); this.onBlur(); @@ -364,8 +364,8 @@ export class ClientEntry extends TreeEntry this.onDoubleClick()} - onMouseUp={e => this.onMouseUp(e as any)} - onContextMenu={e => this.onContextMenu(e as any)} + onMouseUp={e => this.onMouseUp(e)} + onContextMenu={e => this.onContextMenu(e)} > @@ -403,7 +403,7 @@ export class ClientEntry extends TreeEntry this.onMouseUp(e as any)} - onContextMenu={e => this.onContextMenu(e as any)} + onMouseUp={e => this.onMouseUp(e)} + onContextMenu={e => this.onContextMenu(e)} >
@@ -87,7 +87,7 @@ export class ServerEntry extends TreeEntry } - private onMouseUp(event: MouseEvent) { + private onMouseUp(event: React.MouseEvent) { if(event.button !== 0) return; /* only left mouse clicks */ if(this.props.server.channelTree.isClientMoveActive()) return; @@ -97,7 +97,7 @@ export class ServerEntry extends TreeEntry this.onScroll()} ref={this.ref_container} onMouseDown={e => this.onMouseDown(e as any)} onMouseMove={e => this.onMouseMove(e as any)} > +
this.onScroll()} + ref={this.ref_container} + onMouseDown={e => this.onMouseDown(e)} + onMouseMove={e => this.onMouseMove(e)} >
{elements}
@@ -181,7 +186,7 @@ export class ChannelTreeView extends ReactComponentBase + rendered: }); if(entry.collapsed) return; @@ -191,7 +196,7 @@ export class ChannelTreeView extends ReactComponentBase { return { entry: e, - rendered: + rendered: }; })); for (const channel of entry.children(false)) @@ -214,7 +219,7 @@ export class ChannelTreeView extends ReactComponentBase + rendered: }]; for (const channel of tree.rootChannel()) @@ -255,7 +260,7 @@ export class ChannelTreeView extends ReactComponentBase (this.props.moveThreshold || 9)) { this.mouse_move.fired = true; @@ -321,6 +326,6 @@ export class ChannelTreeView extends ReactComponentBase { - if(event.isDefaultPrevented()) return; - - for(const element of document.elementsFromPoint(event.pageX, event.pageY)) - if(element.classList.contains("channelLine") || element.classList.contains("client")) - return; - event.preventDefault(); - if(this.selection.is_multi_select()) - this.open_multiselect_context_menu(this.selection.selected_entries, event.pageX, event.pageY); - else { + + const entry = this.view.current?.getEntryFromPoint(event.pageX, event.pageY); + if(entry) { + if(this.selection.is_multi_select()) + this.open_multiselect_context_menu(this.selection.selected_entries, event.pageX, event.pageY); + } else { this.selection.clear_selection(); this.showContextMenu(event.pageX, event.pageY); }