Use a-tag for external link

Allows to left-click, right-click and middle-click the "open external"
button. Left clicking will disconnect from the current jitsi connection
in OpenSlides. Useful for tests and power using, such as multiple jitsi
connections or easier copying the link.
This commit is contained in:
Sean 2020-07-07 12:50:37 +02:00 committed by Emanuel Schütze
parent 3063a9e9fc
commit 011c23093f
3 changed files with 10 additions and 14 deletions

View File

@ -73,8 +73,7 @@ To enable the audio conference with Jitsi Meet, you have to set the following va
- `JITSI_DOMAIN`: must contain an url to a Jitsi server - `JITSI_DOMAIN`: must contain an url to a Jitsi server
- `JITSI_ROOM_NAME`: the name of the room that should be used - `JITSI_ROOM_NAME`: the name of the room that should be used
- `JITSI_PASSWORD`: (optional) the password of the room. Will be - `JITSI_ROOM_PASSWORD`: (optional) the password of the room. Will be applied automatically from the settings.
applied automatically from the settings.
Logging Logging

View File

@ -3,15 +3,17 @@
<mat-card class="jitsi-fake-dialog"> <mat-card class="jitsi-fake-dialog">
<div class="jitsi-iframe-wrapper" #jitsi></div> <div class="jitsi-iframe-wrapper" #jitsi></div>
<div class="jitsi-dialog-actions"> <div class="jitsi-dialog-actions">
<button <a
type="button" type="button"
mat-button mat-button
color="primary" color="primary"
(click)="openExternal()"
matTooltip="{{ 'Open Jitsi in new tab' | translate }}" matTooltip="{{ 'Open Jitsi in new tab' | translate }}"
target="_blank"
(click)="stopJitsi()"
[href]="jitsiMeetUrl"
> >
<mat-icon>open_in_new</mat-icon> <mat-icon>open_in_new</mat-icon>
</button> </a>
<button type="button" mat-button color="primary" (click)="hideJitsiDialog()"> <button type="button" mat-button color="primary" (click)="hideJitsiDialog()">
<span>{{ 'Minimize' | translate }}</span> <span>{{ 'Minimize' | translate }}</span>

View File

@ -128,6 +128,10 @@ export class JitsiComponent extends BaseViewComponent implements OnInit, OnDestr
); );
} }
public get jitsiMeetUrl(): string {
return `https://${this.jitsiDomain}/${this.roomName}`;
}
/** /**
* The conference state, to determine if the user consumes the stream or can * The conference state, to determine if the user consumes the stream or can
* contribute to jitsi * contribute to jitsi
@ -440,10 +444,6 @@ export class JitsiComponent extends BaseViewComponent implements OnInit, OnDestr
this.showJitsiWindow = !this.showJitsiWindow; this.showJitsiWindow = !this.showJitsiWindow;
} }
private getJitsiMeetUrl(): string {
return `https://${this.jitsiDomain}/${this.roomName}`;
}
public toggleConferenceDialog(): void { public toggleConferenceDialog(): void {
if (this.isJitsiDialogOpen) { if (this.isJitsiDialogOpen) {
this.hideJitsiDialog(); this.hideJitsiDialog();
@ -466,11 +466,6 @@ export class JitsiComponent extends BaseViewComponent implements OnInit, OnDestr
this.setConferenceState(ConferenceState.stream); this.setConferenceState(ConferenceState.stream);
} }
public openExternal(): void {
this.stopJitsi();
window.open(this.getJitsiMeetUrl(), '_blank');
}
public onSteamStarted(): void { public onSteamStarted(): void {
this.streamRunning = true; this.streamRunning = true;
this.storageMap.set(this.STREAM_RUNNING_STORAGE_KEY, true).subscribe(() => {}); this.storageMap.set(this.STREAM_RUNNING_STORAGE_KEY, true).subscribe(() => {});