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

geonetwork / geonetwork-ui / 28851923931

07 Jul 2026 08:18AM UTC coverage: 83.514% (-2.2%) from 85.703%
28851923931

push

github

web-flow
Merge pull request #1628 from geonetwork/fix/contact-panel-styling

[Datahub] Align resource contact panel styling with mockup

1408 of 2000 branches covered (70.4%)

Branch coverage included in aggregate %.

0 of 2 new or added lines in 1 file covered. (0.0%)

7290 of 8415 relevant lines covered (86.63%)

12.64 hits per line

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

53.66
/libs/ui/inputs/src/lib/button/button.component.ts
1
import {
12✔
2
  ChangeDetectionStrategy,
3
  Component,
4
  EventEmitter,
5
  Input,
6
  Output,
7
} from '@angular/core'
8
import { propagateToDocumentOnly } from '@geonetwork-ui/util/shared'
12✔
9

10
@Component({
11
  selector: 'gn-ui-button',
12
  templateUrl: './button.component.html',
13
  styleUrls: ['./button.component.css'],
14
  changeDetection: ChangeDetectionStrategy.OnPush,
15
  standalone: true,
16
})
17
export class ButtonComponent {
12✔
18
  private btnClass = 'gn-ui-btn-default'
78✔
19

20
  @Input() set type(
21
    value:
22
      | 'primary'
23
      | 'secondary'
24
      | 'default'
25
      | 'outline'
26
      | 'light'
27
      | 'gray'
28
      | 'gray-light'
29
      | 'black'
30
      | 'primary-light'
31
  ) {
32
    // btn-classes are written in full to be picked up by tailwind
33
    switch (value) {
77!
34
      case 'primary':
35
        this.btnClass = 'gn-ui-btn-primary'
32✔
36
        break
32✔
37
      case 'secondary':
38
        this.btnClass = 'gn-ui-btn-secondary'
×
39
        break
×
40
      case 'outline':
41
        this.btnClass = 'gn-ui-btn-outline'
39✔
42
        break
39✔
43
      case 'light':
44
        this.btnClass = 'gn-ui-btn-light'
6✔
45
        break
6✔
46
      case 'gray':
47
        this.btnClass = 'gn-ui-btn-gray'
×
48
        break
×
49
      case 'gray-light':
NEW
50
        this.btnClass = 'gn-ui-btn-gray-light'
×
NEW
51
        break
×
52
      case 'black':
53
        this.btnClass = 'gn-ui-btn-black'
×
54
        break
×
55
      case 'primary-light':
56
        this.btnClass = 'gn-ui-btn-primary-light'
×
57
        break
×
58
      case 'default':
59
      default:
60
        this.btnClass = 'gn-ui-btn-default'
×
61
        break
×
62
    }
63
  }
64

65
  @Input() disabled = false
78✔
66
  @Input() extraClass = ''
78✔
67
  @Output() buttonClick = new EventEmitter<Event>()
78✔
68

69
  get classList() {
70
    return `${this.btnClass} ${this.extraClass}`
86✔
71
  }
72

73
  handleClick(event: MouseEvent) {
74
    this.buttonClick.emit(event)
8✔
75
    event.preventDefault()
8✔
76
    ;(event.currentTarget as HTMLElement).blur()
8✔
77
    propagateToDocumentOnly(event)
8✔
78
  }
79
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc