File

libs/depiction/src/lib/dataset-download/dataset-permalink-download/dataset-permalink-download.component.ts

Implements

OnChanges OnInit

Metadata

selector n52-dataset-permalink-download
styleUrls ./dataset-permalink-download.component.css
templateUrl ./dataset-permalink-download.component.html

Index

Properties
Methods
Inputs

Constructor

constructor(apiMapping: DatasetApiMapping, internalIdHandler: InternalIdHandler, servicesConnector: HelgolandServicesConnector)
Parameters :
Name Type Optional
apiMapping DatasetApiMapping No
internalIdHandler InternalIdHandler No
servicesConnector HelgolandServicesConnector No

Inputs

internalId
Type : InternalDatasetId | string
language
Type : string
timeInterval
Type : Timespan

Methods

Private createLink
createLink()
Returns : void
ngOnChanges
ngOnChanges(changes: SimpleChanges)
Parameters :
Name Type Optional
changes SimpleChanges No
Returns : void
ngOnInit
ngOnInit()
Returns : void

Properties

Public downloadLink
Type : string
import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import {
  DatasetApiMapping,
  HelgolandCsvExportLinkParams,
  HelgolandServicesConnector,
  InternalDatasetId,
  InternalIdHandler,
  Timespan,
} from '@helgoland/core';

@Component({
  selector: 'n52-dataset-permalink-download',
  templateUrl: './dataset-permalink-download.component.html',
  styleUrls: ['./dataset-permalink-download.component.css']
})
export class DatasetPermalinkDownloadComponent implements OnChanges, OnInit {

  @Input()
  public internalId: InternalDatasetId | string;

  @Input()
  public timeInterval: Timespan;

  @Input()
  public language: string;

  public downloadLink: string;

  constructor(
    protected apiMapping: DatasetApiMapping,
    protected internalIdHandler: InternalIdHandler,
    protected servicesConnector: HelgolandServicesConnector
  ) { }

  ngOnInit(): void {
    if (this.internalId && this.timeInterval) {
      this.createLink();
    }
  }

  ngOnChanges(changes: SimpleChanges): void {
    if (changes.timeInterval) {
      if (this.internalId && this.timeInterval) {
        this.createLink();
      }
    }
  }

  private createLink() {
    const params: HelgolandCsvExportLinkParams = {
      zip: true,
      generalize: true
    };
    if (this.timeInterval) { params.timespan = this.timeInterval; }
    params.lang = this.language && this.language !== '' ? this.language : 'en';
    this.servicesConnector.createCsvDataExportLink(this.internalId, params).subscribe(link => this.downloadLink = link);
  }

}
<a *ngIf="downloadLink" href="{{downloadLink}}">
  <span>{{'timeseries.diagram.legend.entry.csv-download' | translate}}</span>
</a>

./dataset-permalink-download.component.css

Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""