From 450085a7a0f6f713e0504506d0b940eb7d28f7cb Mon Sep 17 00:00:00 2001 From: sylenien Date: Fri, 16 Sep 2022 18:13:12 +0200 Subject: [PATCH] change(tracker): change func composition --- tracker/tracker-assist/src/Assist.ts | 8 +--- tracker/tracker-assist/src/CallWindow.ts | 47 ++++++++++----------- tracker/tracker-assist/src/Mouse.ts | 2 +- tracker/tracker-assist/src/RemoteControl.ts | 9 ++-- 4 files changed, 29 insertions(+), 37 deletions(-) diff --git a/tracker/tracker-assist/src/Assist.ts b/tracker/tracker-assist/src/Assist.ts index a20fadb06..d5988f155 100644 --- a/tracker/tracker-assist/src/Assist.ts +++ b/tracker/tracker-assist/src/Assist.ts @@ -171,17 +171,13 @@ export default class Assist { callUI = new CallWindow(app.debug.error) } setTimeout(() => { - if (this.callingState === CallingState.False) { - callUI?.showRemoteOnly() - } else { - callUI?.showRemoteControl() - } + callUI?.showRemoteControl(remoteControl.releaseControl) }, 150) this.agents[id].onControlReleased = this.options.onRemoteControlStart() this.emit('control_granted', id) annot = new AnnotationCanvas() annot.mount() - return { agentName: callingAgents.get(id), callUI, } + return callingAgents.get(id) }, releaseControlCb, ) diff --git a/tracker/tracker-assist/src/CallWindow.ts b/tracker/tracker-assist/src/CallWindow.ts index c892681a4..1640940a0 100644 --- a/tracker/tracker-assist/src/CallWindow.ts +++ b/tracker/tracker-assist/src/CallWindow.ts @@ -84,6 +84,9 @@ export default class CallWindow { this.remoteControlContainer = doc.getElementById('remote-control-row') this.remoteControlEndBtn = doc.getElementById('end-control-btn') this.controlsContainer = doc.getElementById('controls') + if (this.controlsContainer) { + this.controlsContainer.style.display = 'none' + } const tsElem = doc.getElementById('duration') if (tsElem) { @@ -129,16 +132,6 @@ export default class CallWindow { .catch((e) => this.logError(e)) } - setRemoteControlEnd(endControl: () => void) { - this.load - .then(() => { - if (this.remoteControlEndBtn) { - this.remoteControlEndBtn.onclick = endControl - } - }) - .catch((e) => this.logError(e)) - } - private checkRemoteVideoInterval: ReturnType private audioContainer: HTMLDivElement | null = null addRemoteStream(rStream: MediaStream) { @@ -273,23 +266,29 @@ export default class CallWindow { }) } - public showRemoteControl() { - if (this.remoteControlContainer) { - this.remoteControlContainer.style.display = 'flex' - } - this.adjustIframeSize() - } - - public showRemoteOnly() { - this.hideControls() - this.showRemoteControl() + public showRemoteControl(endControl: () => void) { + this.load + .then(() => { + if (this.remoteControlContainer) { + this.remoteControlContainer.style.display = 'flex' + } + if (this.remoteControlEndBtn) { + this.remoteControlEndBtn.onclick = endControl + } + this.adjustIframeSize() + }) + .catch((e) => this.logError(e)) } public showControls() { - if (this.controlsContainer) { - this.controlsContainer.style.display = 'unset' - } - this.adjustIframeSize() + this.load + .then(() => { + if (this.controlsContainer) { + this.controlsContainer.style.display = 'unset' + } + this.adjustIframeSize() + }) + .catch((e) => this.logError(e)) } public hideControls() { diff --git a/tracker/tracker-assist/src/Mouse.ts b/tracker/tracker-assist/src/Mouse.ts index 3bef05e62..dc1483b70 100644 --- a/tracker/tracker-assist/src/Mouse.ts +++ b/tracker/tracker-assist/src/Mouse.ts @@ -10,7 +10,7 @@ export default class Mouse { const svg ='' this.mouse.innerHTML = svg - + this.mouse.setAttribute('data-openreplay-hidden', '') Object.assign(agentBubble.style, { position: 'absolute', padding: '4px 6px', diff --git a/tracker/tracker-assist/src/RemoteControl.ts b/tracker/tracker-assist/src/RemoteControl.ts index d806fd227..cb6482c4e 100644 --- a/tracker/tracker-assist/src/RemoteControl.ts +++ b/tracker/tracker-assist/src/RemoteControl.ts @@ -24,8 +24,8 @@ export default class RemoteControl { constructor( private readonly options: AssistOptions, - private readonly onGrand: (string?) => { agentName: string | undefined, callUI: any }, - private readonly onRelease: (string?) => void) {} + private readonly onGrand: (id: string) => string | undefined, + private readonly onRelease: (id: string) => void) {} reconnect(ids: string[]) { const storedID = sessionStorage.getItem(this.options.session_control_peer_key) @@ -71,10 +71,7 @@ export default class RemoteControl { this.agentID = id this.status = RCStatus.Enabled sessionStorage.setItem(this.options.session_control_peer_key, id) - const { agentName, callUI, } = this.onGrand(id) - if (callUI) { - callUI?.setRemoteControlEnd(this.releaseControl) - } + const agentName = this.onGrand(id) if (this.mouse) { this.resetMouse() }