All files / lib/picker-range-input-field picker-range-input-field.component.ts

100% Statements 85/85
100% Branches 7/7
100% Functions 2/2
100% Lines 85/85

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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 861x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 1x 1x  
/*******************************************************************************
 * Copyright bei
 * Entwicklungs- und Pflegeverbund für das gemeinsame Fachverfahren gefa
 *
 *******************************************************************************/
import { Component, Input, TemplateRef, ViewChild } from '@angular/core';
 
import { Item, WidgetKeySet } from '../utils/util.types';
import { createWidgetKeySet } from '../utils/utilities';
 
import { BaseRangeInputFieldComponent } from '../base-range-input-field/base-range-input-field.component';
import { PickerComponent } from '../picker/picker.component';
 
/**
 * `gc-date-range-input-field` can be used to enter a range between two date values.
 */
@Component({
  selector: 'gc-picker-range-input-field',
  templateUrl: './picker-range-input-field.component.html',
  styleUrls: ['./picker-range-input-field.component.css'],
})
export class PickerRangeInputFieldComponent extends BaseRangeInputFieldComponent<Item | null> {
  /**
   * Items to display in the start slot selection list
   */
  @Input()
  public startSlotItems: readonly Item[] = [];
 
  /**
   * Items to display in the end slot selection list
   */
  @Input()
  public endSlotItems: readonly Item[] = [];
 
  /**
   * Start slot value represents the selected value in the start slot
   */
  @Input()
  public override startSlotValue: Item | null = null;
 
  /**
   * End slot value represents the selected value in the end slot
   */
  @Input()
  public override endSlotValue: Item | null = null;
 
  /**
   * Set of item keys that will be rendered as disabled items in the start slot
   */
  @Input()
  public startSlotDisabledItems: ReadonlySet<string> = new Set();
 
  /**
   * Set of item keys that will be rendered as disabled items in the end slot
   */
  @Input()
  public endSlotDisabledItems: ReadonlySet<string> = new Set();
 
  /**
   * Enables resetting the value i.e. the selection of a no-value (undefined) item.
   */
  @Input()
  public resetEnabled = false;
 
  /** Optional icon provider to use for the selected entry */
  @Input()
  public iconProvider?: TemplateRef<unknown>;
 
  /** Optional icon provider to use for the entries in the popup list */
  @Input()
  public listIconProvider?: TemplateRef<unknown>;
 
  /** @ignore */
  @ViewChild('startSlotEl')
  protected override startSlotElement!: PickerComponent<Item>;
 
  /** @ignore */
  @ViewChild('endSlotEl')
  protected override endSlotElement!: PickerComponent<Item>;
 
  /** @ignore */
  protected override readonly _widgetKeys: WidgetKeySet = createWidgetKeySet(
    'gc-picker-range-input',
  );
}