• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

geonetwork / geonetwork-ui / 19862659928

02 Dec 2025 02:47PM UTC coverage: 85.306% (-14.7%) from 100.0%
19862659928

push

github

web-flow
Merge pull request #1414 from geonetwork/nx-migration

Update Angular 20

2895 of 3807 branches covered (76.04%)

Branch coverage included in aggregate %.

552 of 566 new or added lines in 213 files covered. (97.53%)

11032 of 12519 relevant lines covered (88.12%)

347.97 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.89
/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.ts
1
import {
1✔
2
  AfterViewChecked,
3
  ChangeDetectorRef,
4
  Component,
5
  ElementRef,
6
  EventEmitter,
7
  Input,
8
  Output,
9
  ViewChild,
10
  inject,
11
} from '@angular/core'
12

13
import { MatNativeDateModule } from '@angular/material/core'
1✔
14
import { MatDatepickerModule } from '@angular/material/datepicker'
1✔
15
import { ButtonComponent } from '../button/button.component'
1✔
16
import { OverlayContainer } from '@angular/cdk/overlay'
1✔
17
import { NgIconComponent, provideIcons } from '@ng-icons/core'
1✔
18
import { matExpandLess, matExpandMore } from '@ng-icons/material-icons/baseline'
1✔
19

20
@Component({
21
  selector: 'gn-ui-date-range-dropdown',
22
  standalone: true,
23
  imports: [
24
    NgIconComponent,
25
    MatNativeDateModule,
26
    MatDatepickerModule,
27
    ButtonComponent,
28
  ],
29
  providers: [
30
    provideIcons({
31
      matExpandMore,
32
      matExpandLess,
33
    }),
34
  ],
35
  templateUrl: './date-range-dropdown.component.html',
36
  styleUrls: ['./date-range-dropdown.component.css'],
37
})
38
export class DateRangeDropdownComponent implements AfterViewChecked {
1✔
39
  private overlayContainer = inject(OverlayContainer)
1✔
40
  private cdr = inject(ChangeDetectorRef)
1✔
41

42
  @Input() title: string
43
  @Input() startDate: Date
44
  @Input() endDate: Date
45
  @Output() startDateChange = new EventEmitter<Date>()
1✔
46
  @Output() endDateChange = new EventEmitter<Date>()
1✔
47

48
  @ViewChild('picker') picker: ElementRef
49
  isPickerDisplayed = false
1✔
50

51
  ngAfterViewChecked() {
52
    this.checkPickerOverlay()
1✔
53
  }
54

55
  checkPickerOverlay() {
56
    const overlayContainerElement = this.overlayContainer.getContainerElement()
1✔
57
    setTimeout(() => {
1✔
NEW
58
      this.isPickerDisplayed =
×
59
        overlayContainerElement.querySelector('.mat-datepicker-content') !==
60
        null
NEW
61
      this.cdr.detectChanges()
×
62
    }, 200) // FIXME: find a better way to deal with animation delay
63
  }
64
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc