mirror of https://github.com/jitsi/jitsi-meet
parent
52ee8fd473
commit
7cea557416
@ -0,0 +1,88 @@ |
|||||||
|
/* global $ */ |
||||||
|
import SmallVideo from '../videolayout/SmallVideo'; |
||||||
|
|
||||||
|
const logger = require("jitsi-meet-logger").getLogger(__filename); |
||||||
|
|
||||||
|
export default function SharedVideoThumb (url, videoType, VideoLayout) |
||||||
|
{ |
||||||
|
this.id = url; |
||||||
|
|
||||||
|
this.url = url; |
||||||
|
this.setVideoType(videoType); |
||||||
|
this.videoSpanId = "sharedVideoContainer"; |
||||||
|
this.container = this.createContainer(this.videoSpanId); |
||||||
|
this.$container = $(this.container); |
||||||
|
this.container.onclick = this.videoClick.bind(this); |
||||||
|
this.bindHoverHandler(); |
||||||
|
SmallVideo.call(this, VideoLayout); |
||||||
|
this.isVideoMuted = true; |
||||||
|
} |
||||||
|
SharedVideoThumb.prototype = Object.create(SmallVideo.prototype); |
||||||
|
SharedVideoThumb.prototype.constructor = SharedVideoThumb; |
||||||
|
|
||||||
|
/** |
||||||
|
* hide display name |
||||||
|
*/ |
||||||
|
|
||||||
|
SharedVideoThumb.prototype.setDeviceAvailabilityIcons = function () {}; |
||||||
|
|
||||||
|
SharedVideoThumb.prototype.avatarChanged = function () {}; |
||||||
|
|
||||||
|
SharedVideoThumb.prototype.createContainer = function (spanId) { |
||||||
|
var container = document.createElement('span'); |
||||||
|
container.id = spanId; |
||||||
|
container.className = 'videocontainer'; |
||||||
|
|
||||||
|
// add the avatar
|
||||||
|
var avatar = document.createElement('img'); |
||||||
|
avatar.className = 'sharedVideoAvatar'; |
||||||
|
avatar.src = "https://img.youtube.com/vi/" + this.url + "/0.jpg"; |
||||||
|
container.appendChild(avatar); |
||||||
|
|
||||||
|
const displayNameContainer = document.createElement('div'); |
||||||
|
displayNameContainer.className = 'displayNameContainer'; |
||||||
|
container.appendChild(displayNameContainer); |
||||||
|
|
||||||
|
var remotes = document.getElementById('filmstripRemoteVideosContainer'); |
||||||
|
return remotes.appendChild(container); |
||||||
|
}; |
||||||
|
|
||||||
|
/** |
||||||
|
* The thumb click handler. |
||||||
|
*/ |
||||||
|
SharedVideoThumb.prototype.videoClick = function () { |
||||||
|
this.VideoLayout.handleVideoThumbClicked(this.url); |
||||||
|
}; |
||||||
|
|
||||||
|
/** |
||||||
|
* Removes RemoteVideo from the page. |
||||||
|
*/ |
||||||
|
SharedVideoThumb.prototype.remove = function () { |
||||||
|
logger.log("Remove shared video thumb", this.id); |
||||||
|
|
||||||
|
// Make sure that the large video is updated if are removing its
|
||||||
|
// corresponding small video.
|
||||||
|
this.VideoLayout.updateAfterThumbRemoved(this.id); |
||||||
|
|
||||||
|
// Remove whole container
|
||||||
|
if (this.container.parentNode) { |
||||||
|
this.container.parentNode.removeChild(this.container); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
/** |
||||||
|
* Sets the display name for the thumb. |
||||||
|
*/ |
||||||
|
SharedVideoThumb.prototype.setDisplayName = function(displayName) { |
||||||
|
if (!this.container) { |
||||||
|
logger.warn( "Unable to set displayName - " + this.videoSpanId + |
||||||
|
" does not exist"); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
this.updateDisplayName({ |
||||||
|
displayName: displayName || '', |
||||||
|
elementID: `${this.videoSpanId}_name`, |
||||||
|
participantID: this.id |
||||||
|
}); |
||||||
|
}; |
Loading…
Reference in new issue