openvidu/openvidu-testapp/src/app/components/openvidu-instance/openvidu-instance.component...

126 lines
6.0 KiB
HTML
Raw Normal View History

<div class="div-wrapper">
<div>
<mat-card class="join-card">
<mat-card-content>
<form class="session-form">
<div class="secure-div">
<mat-checkbox class="secure-session-checkbox" [disabled]="session" [(ngModel)]="secureSession" name="secureSession">SECURE</mat-checkbox>
<mat-form-field style="margin-right: 10px">
<input class="sessionIdInput" matInput placeholder="SESSIONID" name="sessionIdInput" [(ngModel)]="sessionIdInput" [disabled]="!secureSession">
</mat-form-field>
<mat-form-field>
<input class="tokenInput" matInput placeholder="TOKEN" name="tokenInput" [(ngModel)]="tokenInput" [disabled]="!secureSession">
</mat-form-field>
</div>
<div>
<mat-form-field style="margin-right: 10px">
<input matInput placeholder="Session name" name="sessionName" [(ngModel)]="sessionName" [disabled]="session">
</mat-form-field>
<mat-form-field>
<input matInput placeholder="Client data" name="clientData" [(ngModel)]="clientData" [disabled]="session">
</mat-form-field>
</div>
<div>
<button class="join-btn" mat-button (click)="joinSession()" [disabled]="session">JOIN</button>
<mat-checkbox class="subscribe-checkbox" name="subscribeTo" (change)="toggleSubscribeTo()" [checked]="subscribeTo && checkSubscribeTo"
[disabled]="session">Subscribe</mat-checkbox>
<mat-checkbox class="publish-checkbox" name="publishTo" (change)="togglePublishTo()" [checked]="publishTo && checkPublishTo"
[disabled]="session || disablePublishTo">Publish</mat-checkbox>
</div>
<div class="inner-card" fxLayout="row" fxLayoutAlign="start start">
<div fxFlex="60">
<div>
<h4>Send</h4>
<div>
<mat-checkbox class="send-audio-checkbox" name="sendAudio" (change)="toggleSendAudio()" [checked]="sendAudio && checkSendAudio"
[disabled]="session || disableSendAudio">Audio</mat-checkbox>
<mat-checkbox class="send-video-checkbox" name="sendVideo" (change)="toggleSendVideo()" [checked]="sendVideo && checkSendVideo"
[disabled]="session || disableSendVideo">Video</mat-checkbox>
</div>
</div>
<div style="padding-top: 5px;">
<h4>Enter active</h4>
<div>
<mat-checkbox class="active-audio-checkbox" name="activeAudio" (change)="toggleActiveAudio()" [checked]="activeAudio && checkActiveAudio"
[disabled]="session || disableActiveAudio">Audio</mat-checkbox>
<mat-checkbox class="active-video-checkbox" name="activeVideo" (change)="toggleActiveVideo()" [checked]="activeVideo && checkActiveVideo"
[disabled]="session || disableActiveVideo">Video</mat-checkbox>
</div>
</div>
</div>
<div fxFlex="40">
<mat-radio-group [(ngModel)]="optionsVideo" [disabled]="session || disableRadioButtons" [ngModelOptions]="{standalone: true}">
<div>
<mat-radio-button class="video-radio" value="video" [checked]="checkRadioVideo && optionsVideo==='video'">Video</mat-radio-button>
</div>
<div>
<mat-radio-button class="screen-radio" value="screen" [checked]="checkRadioScreen && optionsVideo==='screen'">Screen</mat-radio-button>
</div>
</mat-radio-group>
<mat-checkbox class="subscribe-remote-check" name="subscribeToRemote" (change)="subscribeToRemote = !subscribeToRemote" [disabled]="(!sendAudio && !sendVideo) || !publishTo || session"
[checked]="(sendAudio || sendVideo) && publishTo && subscribeToRemote">Subscribe
<br>to remote</mat-checkbox>
</div>
</div>
</form>
</mat-card-content>
</mat-card>
</div>
<div *ngIf="session">
<mat-card class="session-card">
<div class="session-card-header">
<div class="session-card-inner">
<div class="session-title">{{sessionName}}</div>
<div class="session-actions">
2017-12-11 17:09:57 +01:00
<button class="message-btn" (click)="sendMessage()">
<mat-icon aria-label="Send message button">chat</mat-icon>
</button>
<button class="video-btn" *ngIf="publishTo && sendVideo" (click)="toggleVideo()">
<mat-icon aria-label="Mute video button">{{videoIcon}}</mat-icon>
</button>
<button class="audio-btn" *ngIf="publishTo && sendAudio" (click)="toggleAudio()">
<mat-icon aria-label="Mute audio button">{{audioIcon}}</mat-icon>
</button>
<button class="leave-btn" (click)="leaveSession()">
<mat-icon aria-label="Leave button">clear</mat-icon>
</button>
</div>
</div>
</div>
<div *ngIf="session.connection" fxLayout>
<div fxFlex="135px" class="video-container">
2017-10-04 10:30:15 +02:00
<div class="event-list-div scroll-custom">
<mat-accordion [attr.id]="'events-' + session.connection.connectionId" class="event-list">
<mat-expansion-panel *ngFor="let event of events" class="event-item">
<mat-expansion-panel-header [attr.id]="event.name + '-' + session.connection.connectionId" [collapsedHeight]="'20px'" [expandedHeight]="'20px'"
class="event-name">
2017-10-04 10:30:15 +02:00
{{event.name}}
</mat-expansion-panel-header>
<div class="event-content">{{event.content}}</div>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
2017-10-04 10:30:15 +02:00
<div [attr.id]="'remote-vid-' + session.connection.connectionId" fxFlex="270px" class="video-container">
<div [attr.id]="'local-vid-' + session.connection.connectionId"></div>
</div>
</div>
</mat-card>
</div>
</div>