@@ -4,7 +4,6 @@ import { HorizontalAlignment, VerticalAlignment, PositionSettings, Size, Util, C
44export abstract class BaseFitPositionStrategy extends ConnectedPositioningStrategy {
55 protected _initialSize : Size ;
66 protected _initialSettings : PositionSettings ;
7- protected _forceFit = false ;
87
98 /** @inheritdoc */
109 position ( contentElement : HTMLElement , size : Size , document ?: Document , initialCall ?: boolean ) : void {
@@ -17,8 +16,7 @@ export abstract class BaseFitPositionStrategy extends ConnectedPositioningStrate
1716 this . settings = Object . assign ( { } , this . _initialSettings ) ;
1817 connectedFit . viewPortRect = Util . getViewportRect ( document ) ;
1918 this . updateViewPortFit ( connectedFit ) ;
20- if ( connectedFit . fitHorizontal . back < 0 || connectedFit . fitHorizontal . forward < 0 ||
21- connectedFit . fitVertical . back < 0 || connectedFit . fitVertical . forward < 0 || this . _forceFit ) {
19+ if ( this . shouldFitInViewPort ( connectedFit ) ) {
2220 this . fitInViewport ( contentElement , connectedFit ) ;
2321 }
2422 }
@@ -84,6 +82,15 @@ export abstract class BaseFitPositionStrategy extends ConnectedPositioningStrate
8482 return targetRect . bottom + targetRect . height * startPoint + elementRect . height * direction + offset ;
8583 }
8684
85+ /**
86+ * Returns whether the element should fit in viewport
87+ * @param connectedFit connectedFit object containing all necessary parameters
88+ */
89+ protected shouldFitInViewPort ( connectedFit : ConnectedFit ) {
90+ return connectedFit . fitHorizontal . back < 0 || connectedFit . fitHorizontal . forward < 0 ||
91+ connectedFit . fitVertical . back < 0 || connectedFit . fitVertical . forward < 0 ;
92+ }
93+
8794 /**
8895 * Fits the element into viewport according to the position settings
8996 * @param element element to fit in viewport
@@ -93,5 +100,3 @@ export abstract class BaseFitPositionStrategy extends ConnectedPositioningStrate
93100 element : HTMLElement ,
94101 connectedFit : ConnectedFit ) ;
95102}
96-
97-
0 commit comments