• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Build has been canceled!

geonetwork / geonetwork-ui / 12069834722

28 Nov 2024 01:27PM UTC coverage: 83.926% (+0.2%) from 83.736%
12069834722

push

github

jahow
chore: fix formatting on PULL_REQUEST_TEMPLATE.md

3159 of 4250 branches covered (74.33%)

Branch coverage included in aggregate %.

9116 of 10376 relevant lines covered (87.86%)

201.75 hits per line

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

90.38
/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts
1
import {
2✔
2
  ChangeDetectionStrategy,
3
  Component,
4
  Inject,
5
  InjectionToken,
6
  Input,
7
  Optional,
8
} from '@angular/core'
9
import { Configuration } from '@geonetwork-ui/data-access/gn4'
2✔
10
import { BehaviorSubject, combineLatest, map } from 'rxjs'
2✔
11
import { MdViewFacade } from '../state'
2✔
12
import { GN_UI_VERSION } from '../gn-ui-version.token'
2✔
13
import { CopyTextButtonComponent } from '@geonetwork-ui/ui/inputs'
2✔
14
import { CommonModule } from '@angular/common'
2✔
15
import { TranslateModule } from '@ngx-translate/core'
2✔
16

17
export const WEB_COMPONENT_EMBEDDER_URL = new InjectionToken<string>(
2✔
18
  'webComponentEmbedderUrl'
19
)
20

21
@Component({
22
  selector: 'gn-ui-data-view-permalink',
23
  templateUrl: './data-view-permalink.component.html',
24
  styleUrls: ['./data-view-permalink.component.css'],
25
  changeDetection: ChangeDetectionStrategy.OnPush,
26
  standalone: true,
27
  imports: [CommonModule, CopyTextButtonComponent, TranslateModule],
28
})
29
export class DataViewPermalinkComponent {
2✔
30
  viewType$ = new BehaviorSubject<string>('map')
5✔
31
  @Input()
32
  set viewType(value: string) {
33
    this.viewType$.next(value)
×
34
  }
35

36
  permalinkUrl$ = combineLatest([
5✔
37
    this.viewType$,
38
    this.facade.chartConfig$,
39
    this.facade.metadata$,
40
  ]).pipe(
41
    map(([viewType, config, metadata]) => {
42
      const url = new URL(`${this.wcEmbedderBaseUrl}`, window.location.origin)
12✔
43
      url.searchParams.set('v', `${this.version}`)
12✔
44
      if (viewType === 'chart') {
12✔
45
        if (config) {
8!
46
          const { aggregation, xProperty, yProperty, chartType } = config
8✔
47
          url.searchParams.append('e', `gn-dataset-view-chart`)
8✔
48
          url.searchParams.append('a', `aggregation=${aggregation}`)
8✔
49
          url.searchParams.append('a', `x-property=${xProperty}`)
8✔
50
          url.searchParams.append('a', `y-property=${yProperty}`)
8✔
51
          url.searchParams.append('a', `chart-type=${chartType}`)
8✔
52
        } else {
53
          return ''
×
54
        }
55
      } else if (viewType === 'table') {
4✔
56
        // table
57
        url.searchParams.append('e', `gn-dataset-view-table`)
2✔
58
      } else {
59
        // map
60
        url.searchParams.append('e', `gn-dataset-view-map`)
2✔
61
      }
62
      url.searchParams.append('a', `api-url=${this.config.basePath}`)
12✔
63
      url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`)
12✔
64
      url.searchParams.append('a', `primary-color=#0f4395`)
12✔
65
      url.searchParams.append('a', `secondary-color=#8bc832`)
12✔
66
      url.searchParams.append('a', `main-color=#555`)
12✔
67
      url.searchParams.append('a', `background-color=#fdfbff`)
12✔
68
      return url.toString()
12✔
69
    })
70
  )
71

72
  constructor(
73
    @Inject(Configuration) private config: Configuration,
5!
74
    @Optional()
75
    @Inject(WEB_COMPONENT_EMBEDDER_URL)
76
    protected wcEmbedderBaseUrl: string,
5✔
77
    @Inject(GN_UI_VERSION) private version: string,
5✔
78
    private facade: MdViewFacade
5✔
79
  ) {}
80
}
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

© 2025 Coveralls, Inc