All files / select si-select-action.directive.ts

100% Statements 5/5
100% Branches 1/1
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                              1x 4x         4x       2x 1x        
/**
 * Copyright (c) Siemens 2016 - 2025
 * SPDX-License-Identifier: MIT
 */
import { booleanAttribute, Directive, HostListener, inject, input } from '@angular/core';
 
import { SiSelectComponent } from './si-select.component';
 
@Directive({
  selector: '[siSelectAction]',
  host: {
    class: 'mx-5 my-4'
  },
  exportAs: 'si-select-action'
})
export class SiSelectActionDirective {
  private readonly select = inject(SiSelectComponent);
  /**
   * Close the select drop down on click.
   * @defaultValue false
   */
  readonly selectActionAutoClose = input(false, { transform: booleanAttribute });
 
  @HostListener('click')
  protected close(): void {
    if (this.selectActionAutoClose()) {
      this.select.close();
    }
  }
}