Hide recorder local thumbnail
This commit is contained in:
parent
cdefca9fbd
commit
ab67b42eb9
|
@ -519,4 +519,7 @@
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
background: rgba(0,0,0,.3);
|
background: rgba(0,0,0,.3);
|
||||||
color: rgba(255,255,255,.5);
|
color: rgba(255,255,255,.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidden {
|
||||||
}
|
}
|
|
@ -228,7 +228,8 @@ var Recording = {
|
||||||
// everyone.
|
// everyone.
|
||||||
if (config.iAmRecorder) {
|
if (config.iAmRecorder) {
|
||||||
VideoLayout.enableDeviceAvailabilityIcons(
|
VideoLayout.enableDeviceAvailabilityIcons(
|
||||||
APP.conference.localId, true);
|
APP.conference.localId, false);
|
||||||
|
VideoLayout.setLocalVideoVisible(false);
|
||||||
Feedback.enableFeedback(false);
|
Feedback.enableFeedback(false);
|
||||||
Toolbar.enable(false);
|
Toolbar.enable(false);
|
||||||
BottomToolbar.enable(false);
|
BottomToolbar.enable(false);
|
||||||
|
|
|
@ -199,6 +199,15 @@
|
||||||
() => {selector.css({opacity: 0});}
|
() => {selector.css({opacity: 0});}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses the given cssValue as an Integer. If the value is not a number
|
||||||
|
* we return 0 instead of NaN.
|
||||||
|
* @param cssValue the string value we obtain when querying css properties
|
||||||
|
*/
|
||||||
|
parseCssInt(cssValue) {
|
||||||
|
return parseInt(cssValue) || 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -85,20 +85,32 @@ const FilmStrip = {
|
||||||
*/
|
*/
|
||||||
let videoAreaAvailableWidth
|
let videoAreaAvailableWidth
|
||||||
= UIUtil.getAvailableVideoWidth(isSideBarVisible)
|
= UIUtil.getAvailableVideoWidth(isSideBarVisible)
|
||||||
- parseInt(this.filmStrip.css('right'), 10)
|
- UIUtil.parseCssInt(this.filmStrip.css('right'), 10)
|
||||||
- parseInt(this.filmStrip.css('paddingLeft'), 10)
|
- UIUtil.parseCssInt(this.filmStrip.css('paddingLeft'), 10)
|
||||||
- parseInt(this.filmStrip.css('paddingRight'), 10)
|
- UIUtil.parseCssInt(this.filmStrip.css('paddingRight'), 10)
|
||||||
- parseInt(this.filmStrip.css('borderLeftWidth'), 10)
|
- UIUtil.parseCssInt(this.filmStrip.css('borderLeftWidth'), 10)
|
||||||
- parseInt(this.filmStrip.css('borderRightWidth'), 10) - 5;
|
- UIUtil.parseCssInt(this.filmStrip.css('borderRightWidth'), 10)
|
||||||
|
- 5;
|
||||||
|
|
||||||
let availableWidth = Math.floor(
|
let availableWidth = videoAreaAvailableWidth;
|
||||||
|
|
||||||
|
// If the number of videos is 0 or undefined we don't need to calculate
|
||||||
|
// further.
|
||||||
|
if (numvids)
|
||||||
|
availableWidth = Math.floor(
|
||||||
(videoAreaAvailableWidth - numvids * (
|
(videoAreaAvailableWidth - numvids * (
|
||||||
parseInt(localVideoContainer.css('borderLeftWidth'), 10)
|
UIUtil.parseCssInt(
|
||||||
+ parseInt(localVideoContainer.css('borderRightWidth'), 10)
|
localVideoContainer.css('borderLeftWidth'), 10)
|
||||||
+ parseInt(localVideoContainer.css('paddingLeft'), 10)
|
+ UIUtil.parseCssInt(
|
||||||
+ parseInt(localVideoContainer.css('paddingRight'), 10)
|
localVideoContainer.css('borderRightWidth'), 10)
|
||||||
+ parseInt(localVideoContainer.css('marginLeft'), 10)
|
+ UIUtil.parseCssInt(
|
||||||
+ parseInt(localVideoContainer.css('marginRight'), 10)))
|
localVideoContainer.css('paddingLeft'), 10)
|
||||||
|
+ UIUtil.parseCssInt(
|
||||||
|
localVideoContainer.css('paddingRight'), 10)
|
||||||
|
+ UIUtil.parseCssInt(
|
||||||
|
localVideoContainer.css('marginLeft'), 10)
|
||||||
|
+ UIUtil.parseCssInt(
|
||||||
|
localVideoContainer.css('marginRight'), 10)))
|
||||||
/ numvids);
|
/ numvids);
|
||||||
|
|
||||||
let maxHeight
|
let maxHeight
|
||||||
|
@ -155,7 +167,12 @@ const FilmStrip = {
|
||||||
selector += ':visible';
|
selector += ':visible';
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.filmStrip.children(selector);
|
// Exclude the local video container if it has been hidden.
|
||||||
|
if ($("#localVideoContainer").hasClass("hidden"))
|
||||||
|
return this.filmStrip.children(selector)
|
||||||
|
.not("#localVideoContainer");
|
||||||
|
else
|
||||||
|
return this.filmStrip.children(selector);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* global $, interfaceConfig, APP, JitsiMeetJS */
|
/* global $, config, interfaceConfig, APP, JitsiMeetJS */
|
||||||
import ConnectionIndicator from "./ConnectionIndicator";
|
import ConnectionIndicator from "./ConnectionIndicator";
|
||||||
import UIUtil from "../util/UIUtil";
|
import UIUtil from "../util/UIUtil";
|
||||||
import UIEvents from "../../../service/UI/UIEvents";
|
import UIEvents from "../../../service/UI/UIEvents";
|
||||||
|
@ -200,4 +200,26 @@ LocalVideo.prototype.changeVideo = function (stream) {
|
||||||
stream.on(TrackEvents.LOCAL_TRACK_STOPPED, endedHandler);
|
stream.on(TrackEvents.LOCAL_TRACK_STOPPED, endedHandler);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows or hides the local video container.
|
||||||
|
* @param {boolean} true to make the local video container visible, false
|
||||||
|
* otherwise
|
||||||
|
*/
|
||||||
|
LocalVideo.prototype.setVisible = function(visible) {
|
||||||
|
|
||||||
|
// We toggle the hidden class as an indication to other interested parties
|
||||||
|
// that this container has been hidden on purpose.
|
||||||
|
$("#localVideoContainer").toggleClass("hidden");
|
||||||
|
|
||||||
|
// We still show/hide it as we need to overwrite the style property if we
|
||||||
|
// want our action to take effect. Toggling the display property through
|
||||||
|
// the above css class didn't succeed in overwriting the style.
|
||||||
|
if (visible) {
|
||||||
|
$("#localVideoContainer").show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$("#localVideoContainer").hide();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export default LocalVideo;
|
export default LocalVideo;
|
||||||
|
|
|
@ -215,6 +215,14 @@ var VideoLayout = {
|
||||||
video.enableDeviceAvailabilityIcons(enable);
|
video.enableDeviceAvailabilityIcons(enable);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows/hides local video.
|
||||||
|
* @param {boolean} true to make the local video visible, false - otherwise
|
||||||
|
*/
|
||||||
|
setLocalVideoVisible(visible) {
|
||||||
|
localVideoThumbnail.setVisible(visible);
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if removed video is currently displayed and tries to display
|
* Checks if removed video is currently displayed and tries to display
|
||||||
* another one instead.
|
* another one instead.
|
||||||
|
|
Loading…
Reference in New Issue