<div fxLayout="column">
  <div fxLayout="row" fxFlex="100" fxLayoutAlign="start start" class="padding-gap">
    <mat-card-content fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch">
      <form #form="ngForm" fxFlex="100" fxLayout="column" fxLayout.gt-sm="row wrap" fxLayoutAlign.gt-sm="space-between center" fxLayoutAlign="start space-between" class="w-100">
        <div fxFlex="100" fxLayoutAlign="start end">
          <mat-radio-group color="primary" tabindex="1" name="lookupField" [(ngModel)]="selectedFieldId" (change)="onSelectChange($event)">
            <mat-radio-button *ngFor="let lookupField of lookupFields" class="mr-4" [value]="lookupField.id" [checked]="selectedFieldId === lookupField.id">
              {{lookupField.name}}
            </mat-radio-button>
          </mat-radio-group>
        </div>
        <mat-form-field fxLayout="column" fxFlex="100" fxLayoutAlign="start end" [ngClass]="{'mt-1': true, 'mt-2': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM}">
          <mat-label>{{lookupFields[selectedFieldId]?.placeholder || 'Lookup Key'}}</mat-label>
          <input #key matInput name="lookupKey" tabindex="2" required [(ngModel)]="lookupKey" (change)="clearLookupValue()">
          <mat-error *ngIf="!lookupKey">{{lookupFields[selectedFieldId]?.placeholder}} is required.</mat-error>
        </mat-form-field>
        <div fxLayout="row" fxFlex="100" class="mt-1">
          <button class="mr-1" mat-stroked-button color="primary" tabindex="3" type="button" (click)="resetData()">Clear</button>
          <button mat-flat-button color="primary" tabindex="4" type="submit" (click)="onLookup()">Lookup</button>
        </div>
      </form>
      <div *ngIf="errorMessage !== ''" fxFlex="100" fxLayout="row wrap" fxLayoutAlign="space-between center" [ngClass]="{'w-100 mt-2 p-2 error-border': errorMessage !== '' && errorMessage !== 'Getting lookup details...', 'w-100 my-2 p-2': true}">
        <mat-progress-bar *ngIf="errorMessage === 'Getting lookup details...'" mode="indeterminate" />
        {{errorMessage}}
      </div>
      <div *ngIf="errorMessage === '' && lookupValue && flgSetLookupValue" fxFlex="100" fxLayout="column" fxLayout.gt-sm="row wrap" fxLayoutAlign.gt-sm="space-between center" fxLayoutAlign="start stretch" class="w-100 mt-2">
        <div fxLayout="row" fxFlex="100" fxLayoutAlign="start center" class="mb-2">
          <span class="page-title font-bold-500">{{lookupFields[selectedFieldId].name}} Details</span>
        </div>
        <div fxLayout="row" fxFlex="100" fxLayoutAlign="start center" [ngSwitch]="selectedFieldId">
          <span *ngSwitchCase="0" fxFlex="100"><rtl-payment-lookup [payment]="lookupValue" /></span>
          <span *ngSwitchCase="1" fxFlex="100"><rtl-invoice-lookup [invoice]="lookupValue" /></span>
          <span *ngSwitchDefault> fxFlex="100"<h3>Error! Unable to find details!</h3></span>
        </div>
      </div>      
    </mat-card-content>
  </div>
</div>
