|
@@ -59,13 +59,17 @@
|
|
:data-uid="mainViewParticipant.uid"
|
|
:data-uid="mainViewParticipant.uid"
|
|
:data-name="mainViewParticipant.name"
|
|
:data-name="mainViewParticipant.name"
|
|
:data-type="mainViewParticipant.type">
|
|
:data-type="mainViewParticipant.type">
|
|
|
|
+ <div class="user-type-indicator">
|
|
|
|
+ <i v-if="mainViewParticipant.type === 'CLIENT_GUEST'" class="fa fa-user text-white"></i>
|
|
|
|
+ <i v-if="mainViewParticipant.type === 'PRO'" class="fa fa-stethoscope text-white"></i>
|
|
|
|
+ </div>
|
|
<div class="media-status-indicator">
|
|
<div class="media-status-indicator">
|
|
- <i v-show="!myMedia || !myMedia.isCameraOn"
|
|
|
|
|
|
+ <i v-show="!getMediaByMediaServiceId(mainViewParticipant.uid).isCameraOn"
|
|
class="fa fa-video-slash muted ml-1"
|
|
class="fa fa-video-slash muted ml-1"
|
|
- :class="!myMedia || !myMedia.isCameraAcquired ? 'text-danger' : ''"></i>
|
|
|
|
- <i v-show="!myMedia || !myMedia.isMicrophoneOn"
|
|
|
|
|
|
+ :class="!getMediaByMediaServiceId(mainViewParticipant.uid).isCameraAcquired ? 'text-danger' : 'text-white'"></i>
|
|
|
|
+ <i v-show="!getMediaByMediaServiceId(mainViewParticipant.uid).isMicrophoneOn"
|
|
class="fa fa-microphone-slash muted ml-1"
|
|
class="fa fa-microphone-slash muted ml-1"
|
|
- :class="!myMedia || !myMedia.isMicrophoneAcquired ? 'text-danger' : ''"></i>
|
|
|
|
|
|
+ :class="!getMediaByMediaServiceId(mainViewParticipant.uid).isMicrophoneAcquired ? 'text-danger' : 'text-white'"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="thumbs">
|
|
<div class="thumbs">
|
|
@@ -78,13 +82,16 @@
|
|
:data-audio="myMedia && myMedia.isMicrophoneOn ? 'on' : 'off'"
|
|
:data-audio="myMedia && myMedia.isMicrophoneOn ? 'on' : 'off'"
|
|
v-on:click.prevent="showInCenterView(true, myMediaServiceIdentifier, 'You', 'PRO')"
|
|
v-on:click.prevent="showInCenterView(true, myMediaServiceIdentifier, 'You', 'PRO')"
|
|
class="remote-view thumb-view c-pointer">
|
|
class="remote-view thumb-view c-pointer">
|
|
|
|
+ <div class="user-type-indicator">
|
|
|
|
+ <i class="fa fa-stethoscope text-white"></i>
|
|
|
|
+ </div>
|
|
<div class="media-status-indicator">
|
|
<div class="media-status-indicator">
|
|
<i v-show="!myMedia || !myMedia.isCameraOn"
|
|
<i v-show="!myMedia || !myMedia.isCameraOn"
|
|
class="fa fa-video-slash muted ml-1"
|
|
class="fa fa-video-slash muted ml-1"
|
|
- :class="!myMedia || !myMedia.isCameraAcquired ? 'text-danger' : ''"></i>
|
|
|
|
|
|
+ :class="!myMedia || !myMedia.isCameraAcquired ? 'text-danger' : 'text-white'"></i>
|
|
<i v-show="!myMedia || !myMedia.isMicrophoneOn"
|
|
<i v-show="!myMedia || !myMedia.isMicrophoneOn"
|
|
class="fa fa-microphone-slash muted ml-1"
|
|
class="fa fa-microphone-slash muted ml-1"
|
|
- :class="!myMedia || !myMedia.isMicrophoneAcquired ? 'text-danger' : ''"></i>
|
|
|
|
|
|
+ :class="!myMedia || !myMedia.isMicrophoneAcquired ? 'text-danger' : 'text-white'"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-for="participant in otherParticipants"
|
|
<div v-for="participant in otherParticipants"
|
|
@@ -97,13 +104,17 @@
|
|
:data-audio="participant.media && participant.media.isMicrophoneOn ? 'on' : 'off'"
|
|
:data-audio="participant.media && participant.media.isMicrophoneOn ? 'on' : 'off'"
|
|
v-on:click.prevent="showInCenterView(false, participant.mediaServiceIdentifier, participant.displayName, participant.participantType)"
|
|
v-on:click.prevent="showInCenterView(false, participant.mediaServiceIdentifier, participant.displayName, participant.participantType)"
|
|
class="remote-view thumb-view c-pointer">
|
|
class="remote-view thumb-view c-pointer">
|
|
|
|
+ <div class="user-type-indicator">
|
|
|
|
+ <i v-if="participant.participantType === 'CLIENT_GUEST'" class="fa fa-user text-white"></i>
|
|
|
|
+ <i v-if="participant.participantType === 'PRO'" class="fa fa-stethoscope text-white"></i>
|
|
|
|
+ </div>
|
|
<div class="media-status-indicator">
|
|
<div class="media-status-indicator">
|
|
<i v-show="!participant.media || !participant.media.isCameraOn"
|
|
<i v-show="!participant.media || !participant.media.isCameraOn"
|
|
class="fa fa-video-slash muted ml-1"
|
|
class="fa fa-video-slash muted ml-1"
|
|
- :class="!participant.media || !participant.media.isCameraAcquired ? 'text-danger' : ''"></i>
|
|
|
|
|
|
+ :class="!participant.media || !participant.media.isCameraAcquired ? 'text-danger' : 'text-white'"></i>
|
|
<i v-show="!participant.media || !participant.media.isMicrophoneOn"
|
|
<i v-show="!participant.media || !participant.media.isMicrophoneOn"
|
|
class="fa fa-microphone-slash muted ml-1"
|
|
class="fa fa-microphone-slash muted ml-1"
|
|
- :class="!participant.media || !participant.media.isMicrophoneAcquired ? 'text-danger' : ''"></i>
|
|
|
|
|
|
+ :class="!participant.media || !participant.media.isMicrophoneAcquired ? 'text-danger' : 'text-white'"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -697,6 +708,22 @@
|
|
// end: main view / thumb views
|
|
// end: main view / thumb views
|
|
|
|
|
|
// start: other/misc
|
|
// start: other/misc
|
|
|
|
+ getMediaByMediaServiceId: function(_msid) {
|
|
|
|
+ if((+this.myMediaServiceIdentifier) === _msid) { // is it self?
|
|
|
|
+ return this.myMedia;
|
|
|
|
+ }
|
|
|
|
+ for (let i = 0; i < this.otherParticipants.length; i++) { // or a remote participant
|
|
|
|
+ if((+this.otherParticipants[i].mediaServiceIdentifier) === _msid) {
|
|
|
|
+ return this.otherParticipants[i].media;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return { // return falsy object if nothing found
|
|
|
|
+ isCameraAcquired: false,
|
|
|
|
+ isCameraOn: false,
|
|
|
|
+ isMicrophoneAcquired: false,
|
|
|
|
+ isMicrophoneOn: false,
|
|
|
|
+ };
|
|
|
|
+ },
|
|
toggleRinger: function () {
|
|
toggleRinger: function () {
|
|
$.post('/api/pro/' + (this.ringer ? 'turnOffRing' : 'turnOnRing'), (_data) => {
|
|
$.post('/api/pro/' + (this.ringer ? 'turnOffRing' : 'turnOnRing'), (_data) => {
|
|
if(!this.hasError(_data)) {
|
|
if(!this.hasError(_data)) {
|