fix(VideoLayout): Issue with not resizing properly if SS is on and the filmstrip is hidden

This commit is contained in:
hristoterezov 2016-11-18 11:26:33 -06:00
parent 6d1f42bf30
commit 7f315ef105
1 changed files with 17 additions and 8 deletions

View File

@ -57,9 +57,12 @@ const FilmStrip = {
* Attach 'click' listener to "hide filmstrip" button * Attach 'click' listener to "hide filmstrip" button
*/ */
registerListeners() { registerListeners() {
let toggleFilmstripMethod = this.toggleFilmStrip.bind(this); // Important:
let selector = '#hideVideoToolbar'; // Firing the event instead of executing toggleFilmstrip method because
$('#videospace').on('click', selector, toggleFilmstripMethod); // it's important to hide the filmstrip by UI.toggleFilmstrip in order
// to correctly resize the video area.
$('#hideVideoToolbar').on('click',
() => this.eventEmitter.emit(UIEvents.TOGGLE_FILM_STRIP));
this._registerToggleFilmstripShortcut(); this._registerToggleFilmstripShortcut();
}, },
@ -72,10 +75,11 @@ const FilmStrip = {
let shortcut = 'F'; let shortcut = 'F';
let shortcutAttr = 'filmstripPopover'; let shortcutAttr = 'filmstripPopover';
let description = 'keyboardShortcuts.toggleFilmstrip'; let description = 'keyboardShortcuts.toggleFilmstrip';
let handler = () => { // Important:
JitsiMeetJS.analytics.sendEvent('toolbar.filmstrip.toggled'); // Firing the event instead of executing toggleFilmstrip method because
this.eventEmitter.emit(UIEvents.TOGGLE_FILM_STRIP); // it's important to hide the filmstrip by UI.toggleFilmstrip in order
}; // to correctly resize the video area.
let handler = () => this.eventEmitter.emit(UIEvents.TOGGLE_FILM_STRIP);
APP.keyboardshortcut.registerShortcut( APP.keyboardshortcut.registerShortcut(
shortcut, shortcut,
@ -110,6 +114,11 @@ const FilmStrip = {
* of the film strip. If not specified, the visibility will be flipped * of the film strip. If not specified, the visibility will be flipped
* (i.e. toggled); otherwise, the visibility will be set to the specified * (i.e. toggled); otherwise, the visibility will be set to the specified
* value. * value.
*
* Note:
* This method shouldn't be executed directly to hide the filmstrip.
* It's important to hide the filmstrip with UI.toggleFilmstrip in order
* to correctly resize the video area.
*/ */
toggleFilmStrip(visible) { toggleFilmStrip(visible) {
let isVisibleDefined = typeof visible === 'boolean'; let isVisibleDefined = typeof visible === 'boolean';
@ -118,7 +127,7 @@ const FilmStrip = {
} else if (this.isFilmStripVisible() === visible) { } else if (this.isFilmStripVisible() === visible) {
return; return;
} }
JitsiMeetJS.analytics.sendEvent('toolbar.filmstrip.toggled');
this.filmStrip.toggleClass("hidden"); this.filmStrip.toggleClass("hidden");
if (!visible) { if (!visible) {