Fix list overflow when refreshing the page
authorChocobozzz <me@florianbigard.com>
Thu, 13 Feb 2020 09:41:43 +0000 (10:41 +0100)
committerChocobozzz <me@florianbigard.com>
Thu, 13 Feb 2020 09:41:43 +0000 (10:41 +0100)
client/src/app/shared/misc/list-overflow.component.ts

index 4f92c0f7ca9a32bd74bc75dc2db96ec907c1b14e..c493ab79523a0ed8d111af0857217d6586cefb29 100644 (file)
@@ -1,17 +1,18 @@
 import {
+  AfterViewInit,
+  ChangeDetectionStrategy,
+  ChangeDetectorRef,
   Component,
+  ElementRef,
+  HostListener,
   Input,
+  QueryList,
   TemplateRef,
-  ViewChildren,
   ViewChild,
-  QueryList,
-  ChangeDetectionStrategy,
-  ElementRef,
-  ChangeDetectorRef,
-  HostListener
+  ViewChildren
 } from '@angular/core'
-import { NgbModal, NgbDropdown } from '@ng-bootstrap/ng-bootstrap'
-import { uniqueId, lowerFirst } from 'lodash-es'
+import { NgbDropdown, NgbModal } from '@ng-bootstrap/ng-bootstrap'
+import { lowerFirst, uniqueId } from 'lodash-es'
 import { ScreenService } from './screen.service'
 import { take } from 'rxjs/operators'
 
@@ -26,7 +27,7 @@ export interface ListOverflowItem {
   styleUrls: [ './list-overflow.component.scss' ],
   changeDetection: ChangeDetectionStrategy.OnPush
 })
-export class ListOverflowComponent<T extends ListOverflowItem> {
+export class ListOverflowComponent<T extends ListOverflowItem> implements AfterViewInit {
   @ViewChild('modal', { static: true }) modal: ElementRef
   @ViewChild('itemsParent', { static: true }) parent: ElementRef<HTMLDivElement>
   @ViewChildren('itemsRendered') itemsRendered: QueryList<ElementRef>
@@ -46,6 +47,10 @@ export class ListOverflowComponent<T extends ListOverflowItem> {
     private screenService: ScreenService
   ) {}
 
+  ngAfterViewInit () {
+    setTimeout(() => this.onWindowResize(), 0)
+  }
+
   isMenuDisplayed () {
     return !!this.showItemsUntilIndexExcluded
   }