ref(filmstrip): apply filmstrip class to Conference root (#3294)

* ref(filmstrip): apply filmstrip class to Conference root

Instead of apply the layout class to the body, it can be
applied to Conference. This will allow easier switching
between tile filmstrip and horizontal/vertical filmstrip.

* squash: fix typo filstrip
This commit is contained in:
virtuacoplenny 2018-07-25 13:00:00 -07:00 committed by GitHub
parent 0b1224495b
commit 39f1958300
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 6 deletions

View File

@ -127,7 +127,7 @@
/** /**
* Override other styles to support vertical filmstrip mode. * Override other styles to support vertical filmstrip mode.
*/ */
.vertical-filmstrip.filmstrip-only { .filmstrip-only .vertical-filmstrip {
.filmstrip { .filmstrip {
flex-direction: row-reverse; flex-direction: row-reverse;
} }

View File

@ -320,11 +320,6 @@ UI.start = function() {
SidePanels.init(eventEmitter); SidePanels.init(eventEmitter);
} }
const filmstripTypeClassname = interfaceConfig.VERTICAL_FILMSTRIP
? 'vertical-filmstrip' : 'horizontal-filmstrip';
$('body').addClass(filmstripTypeClassname);
document.title = interfaceConfig.APP_NAME; document.title = interfaceConfig.APP_NAME;
}; };

View File

@ -42,6 +42,18 @@ const FULL_SCREEN_EVENTS = [
'fullscreenchange' 'fullscreenchange'
]; ];
/**
* The CSS class to apply to the root element of the conference so CSS can
* modify the app layout.
*
* @private
* @type {Object}
*/
const LAYOUT_CLASSES = {
HORIZONTAL_FILMSTRIP: 'horizontal-filmstrip',
VERTICAL_FILMSTRIP: 'vertical-filmstrip'
};
/** /**
* The type of the React {@code Component} props of {@link Conference}. * The type of the React {@code Component} props of {@link Conference}.
*/ */
@ -52,6 +64,12 @@ type Props = {
*/ */
_iAmRecorder: boolean, _iAmRecorder: boolean,
/**
* The CSS class to apply to the root of {@link Conference} to modify the
* application layout.
*/
_layoutModeClassName: string,
/** /**
* Conference room name. * Conference room name.
*/ */
@ -162,6 +180,7 @@ class Conference extends Component<Props> {
return ( return (
<div <div
className = { this.props._layoutModeClassName }
id = 'videoconference_page' id = 'videoconference_page'
onMouseMove = { this._onShowToolbar }> onMouseMove = { this._onShowToolbar }>
<Notice /> <Notice />
@ -253,6 +272,10 @@ function _mapStateToProps(state) {
*/ */
_iAmRecorder: iAmRecorder, _iAmRecorder: iAmRecorder,
_layoutModeClassName: interfaceConfig.VERTICAL_FILMSTRIP
? LAYOUT_CLASSES.VERTICAL_FILMSTRIP
: LAYOUT_CLASSES.HORIZONTAL_FILMSTRIP,
/** /**
* Conference room name. * Conference room name.
*/ */