This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
metadata.component.ts 1.07 KiB
import { Component, Input } from '@angular/core';
import { IFrequency } from 'app/shared/model/frequency.model';
import { MetadataMessageService } from 'app/search/metadata/metadata-message.service';

@Component({
  selector: 'jhi-home-metadata',
  templateUrl: './metadata.component.html',
  styleUrls: ['./metadata.scss'],
})
export class MetadataComponent {
  @Input() frequencies!: IFrequency<string>[] | undefined;
  @Input() parameter!: string;

  testString = '';
  selectedItems = new Set();

  constructor(public messageService: MetadataMessageService) {}

  toggleSelection(name: string): void {
    this.messageService.updateFilterSelection(this.parameter, name);
    if (this.selectedItems.has(name)) {
      this.selectedItems.delete(name);
    } else {
      this.selectedItems.add(name);
    }
  }

  isSelected(name: string): boolean {
    return this.selectedItems.has(name);
  }

  clearFilters(): void {
    for (const selectedItem of selectedItems) {
      this.messageService.updateFilterSelection(this.parameter, selectedItem);
    }
    this.selectedItems = new Set();
  }
}