diff --git a/apps/datahub/src/app/search/search-filters/dropdown-select/dropdown-select.component.ts b/apps/datahub/src/app/search/search-filters/dropdown-select/dropdown-select.component.ts index e8096b12..18a9f16b 100644 --- a/apps/datahub/src/app/search/search-filters/dropdown-select/dropdown-select.component.ts +++ b/apps/datahub/src/app/search/search-filters/dropdown-select/dropdown-select.component.ts @@ -1,11 +1,6 @@ -import { - ChangeDetectionStrategy, - Component, - EventEmitter, - Input, - Output, -} from '@angular/core' +import { ChangeDetectionStrategy, Component, Input } from '@angular/core' import { Choice, DropdownMultiselectComponent } from 'geonetwork-ui' +import { FieldValue } from 'geonetwork-ui/libs/feature/search/src/lib/utils/service/fields' @Component({ selector: 'mel-datahub-dropdown-select', @@ -14,9 +9,10 @@ import { Choice, DropdownMultiselectComponent } from 'geonetwork-ui' changeDetection: ChangeDetectionStrategy.OnPush, }) export class DropdownSelectComponent extends DropdownMultiselectComponent { - //FIXME: overrides and casting via method due to typing issues with gn-ui - @Input() override selected: any - @Output() override selectValues = new EventEmitter() + //FIXME: castings due to typing issues with gn-ui + @Input() set selectedValue(value: FieldValue | FieldValue[]) { + this.selected = value as unknown[] + } selectFromEvent(choice: Choice, event: Event) { this.select(choice, (event.target as HTMLInputElement).checked) diff --git a/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.html b/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.html index 044439bd..8041315c 100644 --- a/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.html +++ b/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.html @@ -3,9 +3,9 @@ [title]="title" [maxRows]="6" [choices]="choices$ | async" - [selected]="selected$ | async" + [selectedValue]="selected$ | async" [allowSearch]="true" - (selectValues)="onSelectedValues($event)" + (selectValues)="onSelectedValuesWithCast($event)" [attr.data-cy-field]="fieldName" > diff --git a/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.ts b/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.ts index 1d972e2d..371818ff 100644 --- a/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.ts +++ b/apps/datahub/src/app/search/search-filters/search-filter-dropdown/search-filter-dropdown.component.ts @@ -7,4 +7,9 @@ import { FilterDropdownComponent } from 'geonetwork-ui' styles: ``, changeDetection: ChangeDetectionStrategy.OnPush, }) -export class SearchFilterDropdownComponent extends FilterDropdownComponent {} +export class SearchFilterDropdownComponent extends FilterDropdownComponent { + //FIXME: castings due to typing issues with gn-ui + onSelectedValuesWithCast(values: unknown[]) { + this.onSelectedValues(values as (string | number)[]) + } +}