@@ -553,77 +553,41 @@ export abstract class MatDatepickerBase<C extends MatDatepickerControl<D>, S,
553553 }
554554 }
555555
556- /** Create the popup PositionStrategy. */
557- private _createPopupPositionStrategy ( ) : PositionStrategy {
558- return this . _overlay . position ( )
559- . flexibleConnectedTo ( this . _datepickerInput . getConnectedOverlayOrigin ( ) )
560- . withTransformOriginOn ( '.mat-datepicker-content' )
561- . withFlexibleDimensions ( false )
562- . withViewportMargin ( 8 )
563- . withLockedPosition ( )
564- . withPositions ( [
565- {
566- originX : 'start' ,
567- originY : 'bottom' ,
568- overlayX : 'start' ,
569- overlayY : 'top'
570- } ,
571- {
572- originX : 'start' ,
573- originY : 'top' ,
574- overlayX : 'start' ,
575- overlayY : 'bottom'
576- } ,
577- {
578- originX : 'end' ,
579- originY : 'bottom' ,
580- overlayX : 'end' ,
581- overlayY : 'top'
582- } ,
583- {
584- originX : 'end' ,
585- originY : 'top' ,
586- overlayX : 'end' ,
587- overlayY : 'bottom'
588- }
589- ] ) ;
556+ /** Sets the positions of the datepicker in dropdown mode based on the current configuration. */
557+ private _setConnectedPositions ( strategy : FlexibleConnectedPositionStrategy ) {
558+ const primaryX = this . xPosition === 'end' ? 'end' : 'start' ;
559+ const secondaryX = primaryX === 'start' ? 'end' : 'start' ;
560+ const primaryY = this . yPosition === 'above' ? 'bottom' : 'top' ;
561+ const secondaryY = primaryY === 'top' ? 'bottom' : 'top' ;
562+
563+ return strategy . withPositions ( [
564+ {
565+ originX : primaryX ,
566+ originY : secondaryY ,
567+ overlayX : primaryX ,
568+ overlayY : primaryY
569+ } ,
570+ {
571+ originX : primaryX ,
572+ originY : primaryY ,
573+ overlayX : primaryX ,
574+ overlayY : secondaryY
575+ } ,
576+ {
577+ originX : secondaryX ,
578+ originY : secondaryY ,
579+ overlayX : secondaryX ,
580+ overlayY : primaryY
581+ } ,
582+ {
583+ originX : secondaryX ,
584+ originY : primaryY ,
585+ overlayX : secondaryX ,
586+ overlayY : secondaryY
587+ }
588+ ] ) ;
590589 }
591590
592- /** Sets the positions of the datepicker in dropdown mode based on the current configuration. */
593- private _setConnectedPositions ( strategy : FlexibleConnectedPositionStrategy ) {
594- const primaryX = this . xPosition === 'end' ? 'end' : 'start' ;
595- const secondaryX = primaryX === 'start' ? 'end' : 'start' ;
596- const primaryY = this . yPosition === 'above' ? 'bottom' : 'top' ;
597- const secondaryY = primaryY === 'top' ? 'bottom' : 'top' ;
598-
599- return strategy . withPositions ( [
600- {
601- originX : primaryX ,
602- originY : secondaryY ,
603- overlayX : primaryX ,
604- overlayY : primaryY
605- } ,
606- {
607- originX : primaryX ,
608- originY : primaryY ,
609- overlayX : primaryX ,
610- overlayY : secondaryY
611- } ,
612- {
613- originX : secondaryX ,
614- originY : secondaryY ,
615- overlayX : secondaryX ,
616- overlayY : primaryY
617- } ,
618- {
619- originX : secondaryX ,
620- originY : primaryY ,
621- overlayX : secondaryX ,
622- overlayY : secondaryY
623- }
624- ] ) ;
625- }
626-
627591 /**
628592 * @param obj The object to check.
629593 * @returns The given object if it is both a date instance and valid, otherwise null.
0 commit comments