Fixes issue with returning from shared document view. Calls show() before fadeOut() on large video to avoid situation when we end up with black screen and are unable to select new video. Updates app.bundle.js.

This commit is contained in:
paweldomas 2015-08-19 10:55:35 +02:00
parent 2081757ba1
commit 9a7bc4ebab
3 changed files with 19634 additions and 19639 deletions

View File

@ -20,7 +20,7 @@
<script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
<script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
<script src="interface_config.js?v=5"></script>
<script src="libs/app.bundle.js?v=127"></script>
<script src="libs/app.bundle.js?v=128"></script>
<script src="analytics.js?v=1"></script><!-- google analytics plugin -->
<link rel="stylesheet" href="css/font.css?v=7"/>
<link rel="stylesheet" href="css/toastr.css?v=1">

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@ function getContainerByState(state)
switch (state)
{
case "video":
selector = "#largeVideo";
selector = "#largeVideoWrapper";
break;
case "etherpad":
selector = "#etherpad>iframe";
@ -353,7 +353,7 @@ var LargeVideo = {
* @return <tt>true</tt> if visible, <tt>false</tt> - otherwise
*/
isLargeVideoVisible: function() {
return $('#largeVideo').is(':visible');
return $('#largeVideoWrapper').is(':visible');
},
/**
* Returns <tt>true</tt> if the user is currently displayed on large video.
@ -371,6 +371,11 @@ var LargeVideo = {
var newSmallVideo = this.VideoLayout.getSmallVideo(resourceJid);
console.log('hover in ' + resourceJid + ', video: ', newSmallVideo);
if (!newSmallVideo) {
console.error("Small video not found for: " + resourceJid);
return;
}
if (!LargeVideo.isCurrentlyOnLarge(resourceJid) || forceUpdate) {
$('#activeSpeaker').css('visibility', 'hidden');
@ -393,7 +398,11 @@ var LargeVideo = {
// <video> elements with plugin <object> tag. In Safari jQuery is
// unable to store values on this plugin object which breaks all
// animation effects performed on it directly.
$('#largeVideoWrapper').fadeOut(300,
//
// If for any reason large video was hidden before calling fadeOut
// changeVideo will never be called, so we call show() in chain just
// to be sure
$('#largeVideoWrapper').show().fadeOut(300,
changeVideo.bind($('#largeVideo'), this.isLargeVideoVisible()));
} else {
if (currentSmallVideo) {
@ -410,13 +419,13 @@ var LargeVideo = {
if(!isEnabled)
return;
if (isVisible) {
$('#largeVideo').css({visibility: 'visible'});
$('#largeVideoWrapper').css({visibility: 'visible'});
$('.watermark').css({visibility: 'visible'});
if(currentSmallVideo)
currentSmallVideo.enableDominantSpeaker(true);
}
else {
$('#largeVideo').css({visibility: 'hidden'});
$('#largeVideoWrapper').css({visibility: 'hidden'});
$('#activeSpeaker').css('visibility', 'hidden');
$('.watermark').css({visibility: 'hidden'});
if(currentSmallVideo)
@ -524,10 +533,11 @@ var LargeVideo = {
}
},
showAvatar: function (resourceJid, show) {
if(!isEnabled)
if (!isEnabled)
return;
if(this.getResourceJid() === resourceJid && state === "video") {
$("#largeVideo").css("visibility", show ? "hidden" : "visible");
if (this.getResourceJid() === resourceJid && state === "video") {
$("#largeVideoWrapper")
.css("visibility", show ? "hidden" : "visible");
$('#activeSpeaker').css("visibility", show ? "visible" : "hidden");
return true;
}