All files / lib/error-message error-message.component.ts

100% Statements 47/47
100% Branches 8/8
100% Functions 4/4
100% Lines 47/47

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 481x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 924x 924x 924x 924x 924x 924x 924x 924x 924x 924x 924x 924x 924x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
/*******************************************************************************
 * Copyright bei
 * Entwicklungs- und Pflegeverbund für das gemeinsame Fachverfahren gefa
 *
 *******************************************************************************/
import {
  Component,
  ElementRef,
  HostBinding,
  Input,
  ViewChild,
} from '@angular/core';
 
import { FocusableElementOwner } from '../utils/util.types';
 
/**
 * A standalone error message, e.g. for displaying errors which are not part of a single element.
 *
 * Note that error message display options builtin to the various input components should be used
 * instead of this separate component if available and applicable.
 */
@Component({
  selector: 'gc-error-message',
  templateUrl: './error-message.component.html',
  styleUrls: ['./error-message.component.css'],
})
export class ErrorMessageComponent implements FocusableElementOwner {
  /**
   * Internal API - allows to reuse the component in other controls and disables interactive behavior.
   * @ignore
   */
  @Input()
  @HostBinding('class.gc-error-embedded')
  public _embedded = false;
 
  /** @ignore */
  @ViewChild('element')
  private element?: ElementRef<HTMLElement>;
 
  focusChild(): boolean {
    if (!this._embedded && this.element?.nativeElement) {
      this.element.nativeElement.focus();
      return true;
    }
    return false;
  }
}