|
@@ -88,6 +88,11 @@ type Props = {
|
88
|
88
|
*/
|
89
|
89
|
_filmstripHeight: number,
|
90
|
90
|
|
|
91
|
+ /**
|
|
92
|
+ * Whether or not we have scroll on the filmstrip.
|
|
93
|
+ */
|
|
94
|
+ _hasScroll: boolean,
|
|
95
|
+
|
91
|
96
|
/**
|
92
|
97
|
* Whether this is a recorder or not.
|
93
|
98
|
*/
|
|
@@ -567,6 +572,7 @@ class Filmstrip extends PureComponent <Props, State> {
|
567
|
572
|
_currentLayout,
|
568
|
573
|
_filmstripHeight,
|
569
|
574
|
_filmstripWidth,
|
|
575
|
+ _hasScroll,
|
570
|
576
|
_remoteParticipantsLength,
|
571
|
577
|
_resizableFilmstrip,
|
572
|
578
|
_rows,
|
|
@@ -620,7 +626,7 @@ class Filmstrip extends PureComponent <Props, State> {
|
620
|
626
|
|
621
|
627
|
if (_currentLayout === LAYOUTS.HORIZONTAL_FILMSTRIP_VIEW) {
|
622
|
628
|
const itemSize = _thumbnailWidth + TILE_HORIZONTAL_MARGIN;
|
623
|
|
- const isNotOverflowing = (_remoteParticipantsLength * itemSize) <= _filmstripWidth;
|
|
629
|
+ const isNotOverflowing = !_hasScroll;
|
624
|
630
|
|
625
|
631
|
props.itemSize = itemSize;
|
626
|
632
|
|
|
@@ -632,7 +638,7 @@ class Filmstrip extends PureComponent <Props, State> {
|
632
|
638
|
|
633
|
639
|
} else if (_currentLayout === LAYOUTS.VERTICAL_FILMSTRIP_VIEW) {
|
634
|
640
|
const itemSize = _thumbnailHeight + TILE_VERTICAL_MARGIN;
|
635
|
|
- const isNotOverflowing = (_remoteParticipantsLength * itemSize) <= _filmstripHeight;
|
|
641
|
+ const isNotOverflowing = !_hasScroll;
|
636
|
642
|
|
637
|
643
|
if (isNotOverflowing) {
|
638
|
644
|
props.className += ' is-not-overflowing';
|
|
@@ -768,7 +774,7 @@ function _mapStateToProps(state) {
|
768
|
774
|
gridDimensions: dimensions = {},
|
769
|
775
|
filmstripHeight,
|
770
|
776
|
filmstripWidth,
|
771
|
|
- hasScroll = false,
|
|
777
|
+ hasScroll: tileViewHasScroll,
|
772
|
778
|
thumbnailSize: tileViewThumbnailSize
|
773
|
779
|
} = state['features/filmstrip'].tileViewDimensions;
|
774
|
780
|
const _currentLayout = getCurrentLayout(state);
|
|
@@ -776,6 +782,7 @@ function _mapStateToProps(state) {
|
776
|
782
|
const _resizableFilmstrip = isFilmstripResizable(state);
|
777
|
783
|
const _verticalViewGrid = showGridInVerticalView(state);
|
778
|
784
|
let gridDimensions = dimensions;
|
|
785
|
+ let _hasScroll = false;
|
779
|
786
|
|
780
|
787
|
const { clientHeight, clientWidth } = state['features/base/responsive-ui'];
|
781
|
788
|
const availableSpace = clientHeight - filmstripHeight;
|
|
@@ -806,7 +813,8 @@ function _mapStateToProps(state) {
|
806
|
813
|
|
807
|
814
|
switch (_currentLayout) {
|
808
|
815
|
case LAYOUTS.TILE_VIEW:
|
809
|
|
- if (hasScroll) {
|
|
816
|
+ _hasScroll = Boolean(tileViewHasScroll);
|
|
817
|
+ if (_hasScroll) {
|
810
|
818
|
videosClassName += ' has-scroll';
|
811
|
819
|
}
|
812
|
820
|
_thumbnailSize = tileViewThumbnailSize;
|
|
@@ -814,8 +822,14 @@ function _mapStateToProps(state) {
|
814
|
822
|
remoteFilmstripWidth = filmstripWidth;
|
815
|
823
|
break;
|
816
|
824
|
case LAYOUTS.VERTICAL_FILMSTRIP_VIEW: {
|
817
|
|
- const { remote, remoteVideosContainer, gridView } = state['features/filmstrip'].verticalViewDimensions;
|
|
825
|
+ const {
|
|
826
|
+ remote,
|
|
827
|
+ remoteVideosContainer,
|
|
828
|
+ gridView,
|
|
829
|
+ hasScroll
|
|
830
|
+ } = state['features/filmstrip'].verticalViewDimensions;
|
818
|
831
|
|
|
832
|
+ _hasScroll = Boolean(hasScroll);
|
819
|
833
|
remoteFilmstripHeight = remoteVideosContainer?.height - (!_verticalViewGrid && shouldReduceHeight
|
820
|
834
|
? TOOLBAR_HEIGHT : 0);
|
821
|
835
|
remoteFilmstripWidth = remoteVideosContainer?.width;
|
|
@@ -833,8 +847,9 @@ function _mapStateToProps(state) {
|
833
|
847
|
break;
|
834
|
848
|
}
|
835
|
849
|
case LAYOUTS.HORIZONTAL_FILMSTRIP_VIEW: {
|
836
|
|
- const { remote, remoteVideosContainer } = state['features/filmstrip'].horizontalViewDimensions;
|
|
850
|
+ const { remote, remoteVideosContainer, hasScroll } = state['features/filmstrip'].horizontalViewDimensions;
|
837
|
851
|
|
|
852
|
+ _hasScroll = Boolean(hasScroll);
|
838
|
853
|
_thumbnailSize = remote;
|
839
|
854
|
remoteFilmstripHeight = remoteVideosContainer?.height;
|
840
|
855
|
remoteFilmstripWidth = remoteVideosContainer?.width;
|
|
@@ -849,6 +864,7 @@ function _mapStateToProps(state) {
|
849
|
864
|
_disableSelfView: disableSelfView,
|
850
|
865
|
_filmstripHeight: remoteFilmstripHeight,
|
851
|
866
|
_filmstripWidth: remoteFilmstripWidth,
|
|
867
|
+ _hasScroll,
|
852
|
868
|
_iAmRecorder: Boolean(iAmRecorder),
|
853
|
869
|
_isFilmstripButtonEnabled: isButtonEnabled('filmstrip', state),
|
854
|
870
|
_isToolboxVisible: isToolboxVisible(state),
|