1
- import { VerticalAlignment , HorizontalAlignment , PositionSettings , Size , Point , Util } from '../services/overlay/utilities' ;
1
+ import { VerticalAlignment , HorizontalAlignment , PositionSettings , Size , Util , ConnectedFit } from '../services/overlay/utilities' ;
2
2
import { IPositionStrategy } from '../services/overlay/position' ;
3
3
import { fadeOut , fadeIn } from '../animations/main' ;
4
4
import { IgxSelectBase } from './select.common' ;
5
5
import { isIE } from '../core/utils' ;
6
- import { BaseFitPositionStrategy , ConnectedFit } from '../services/overlay/position/base-fit-position-strategy' ;
6
+ import { BaseFitPositionStrategy } from '../services/overlay/position/base-fit-position-strategy' ;
7
7
import { DisplayDensity } from '../core/density' ;
8
8
9
9
/** @hidden @internal */
@@ -44,7 +44,8 @@ export class SelectPositioningStrategy extends BaseFitPositionStrategy implement
44
44
const rects = super . calculateElementRectangles ( contentElement ) ;
45
45
// selectFit obj, to be used for both cases of initialCall and !initialCall(page scroll/overlay repositionAll)
46
46
const selectFit : SelectFit = {
47
- yOffset : this . global_yOffset , xOffset : this . global_xOffset ,
47
+ verticalOffset : this . global_yOffset ,
48
+ horizontalOffset : this . global_xOffset ,
48
49
targetRect : rects . targetRect ,
49
50
contentElementRect : rects . elementRect ,
50
51
styles : this . global_styles
@@ -54,7 +55,7 @@ export class SelectPositioningStrategy extends BaseFitPositionStrategy implement
54
55
selectFit . viewPortRect = Util . getViewportRect ( document ) ;
55
56
56
57
// Fill in the required selectFit object properties.
57
- this . calculateVariables ( contentElement , selectFit ) ;
58
+ this . calculateVariables ( selectFit ) ;
58
59
selectFit . viewPortRect = Util . getViewportRect ( document ) ;
59
60
60
61
// Calculate how much to offset the overlay container.
@@ -118,8 +119,8 @@ export class SelectPositioningStrategy extends BaseFitPositionStrategy implement
118
119
119
120
// This method can be scrambled and combined in manageScrollToItem()
120
121
private compensateYScroll ( selectFit : SelectFit , compensation : number ) {
121
- selectFit . yOffset += compensation ;
122
- this . global_yOffset = selectFit . yOffset ;
122
+ selectFit . verticalOffset += compensation ;
123
+ this . global_yOffset = selectFit . verticalOffset ;
123
124
}
124
125
125
126
// Position the items outer container Below or Above the input.
@@ -163,16 +164,12 @@ export class SelectPositioningStrategy extends BaseFitPositionStrategy implement
163
164
this . global_styles . contentElementNewWidth = selectFit . styles . contentElementNewWidth ;
164
165
}
165
166
166
- private calculateVariables ( contentElement : HTMLElement , selectFit : SelectFit ) {
167
- const targetRect = Util . getTargetRect ( this . settings ) ;
168
- const contentElementRect = contentElement . getBoundingClientRect ( ) ;
167
+ private calculateVariables ( selectFit : SelectFit ) {
169
168
const itemHeight = this . getInteractionItemElement ( ) . getBoundingClientRect ( ) . height ;
170
169
selectFit . styles = { } ;
171
170
selectFit . itemElement = this . getInteractionItemElement ( ) ;
172
171
selectFit . itemHeight = itemHeight ;
173
172
selectFit . dropDownList = this . select . scrollContainer ;
174
- selectFit . targetRect = targetRect ;
175
- selectFit . contentElementRect = contentElementRect ;
176
173
selectFit . inputElement = this . select . getEditElement ( ) ;
177
174
// Calculate input and selected item elements style related variables
178
175
this . calculateStyles ( selectFit ) ;
@@ -219,14 +216,14 @@ export class SelectPositioningStrategy extends BaseFitPositionStrategy implement
219
216
220
217
protected calculateYoffset ( selectFit : SelectFit ) {
221
218
const contentElementTopLeftPointY = selectFit . contentElementRect . top ;
222
- selectFit . yOffset =
219
+ selectFit . verticalOffset =
223
220
- ( selectFit . itemElement . getBoundingClientRect ( ) . top - contentElementTopLeftPointY + selectFit . styles . itemTextToInputTextDiff ) ;
224
- this . global_yOffset = selectFit . yOffset ;
221
+ this . global_yOffset = selectFit . verticalOffset ;
225
222
}
226
223
227
224
protected calculateXoffset ( selectFit : SelectFit ) {
228
- selectFit . xOffset = selectFit . styles . itemTextIndent - selectFit . styles . itemTextPadding ;
229
- this . global_xOffset = selectFit . xOffset ;
225
+ selectFit . horizontalOffset = selectFit . styles . itemTextIndent - selectFit . styles . itemTextPadding ;
226
+ this . global_xOffset = selectFit . horizontalOffset ;
230
227
}
231
228
}
232
229
@@ -240,8 +237,8 @@ export interface SelectFit extends ConnectedFit {
240
237
right ?: number ;
241
238
top ?: number ;
242
239
bottom ?: number ;
243
- xOffset ?: number ;
244
- yOffset ?: number ;
240
+ horizontalOffset ?: number ;
241
+ verticalOffset ?: number ;
245
242
246
243
// New properties
247
244
inputElement ?: HTMLElement ;
0 commit comments