All files / projects/requisition-management/src/app/components/requisitions-list requisitions-list.component.ts

92.85% Statements 13/14
60% Branches 3/5
100% Functions 4/4
92.85% Lines 13/14

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 553x   3x 3x 3x                                     3x         9x             9x     1x       2x 2x       1x     1x 1x      
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
 
import { RequisitionManagementFacade } from '../../facades/requisition-management.facade';
import { Requisition, RequisitionStatus } from '../../models/requisition/requisition.model';
import { RequisitionRejectDialogComponent } from '../requisition-reject-dialog/requisition-reject-dialog.component';
 
export type RequisitionColumnsType =
  | 'requisitionNo'
  | 'orderNo'
  | 'orderNoSimple'
  | 'creationDate'
  | 'approver'
  | 'buyer'
  | 'approvalDate'
  | 'rejectionDate'
  | 'lineItems'
  | 'orderTotal'
  | 'actions';
@Component({
  selector: 'ish-requisitions-list',
  templateUrl: './requisitions-list.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class RequisitionsListComponent {
  /**
   * The requisitions to be listed
   */
  @Input() requisitions: Requisition[];
  @Input() status: RequisitionStatus = 'PENDING';
  @Input() columnsToDisplay: RequisitionColumnsType[];
 
  @ViewChild('rejectDialog') rejectDialog: RequisitionRejectDialogComponent;
 
  private selectedRequisitionId: string;
 
  constructor(private requisitionManagementFacade: RequisitionManagementFacade) {}
 
  approveRequisition(requisitionId: string) {
    this.requisitionManagementFacade.updateRequisitionStatusFromList$(requisitionId, 'APPROVED');
  }
 
  openRejectDialog(requisitionId: string) {
    this.selectedRequisitionId = requisitionId;
    this.rejectDialog.show();
  }
 
  rejectRequisition(comment: string) {
    Iif (!this.selectedRequisitionId) {
      return;
    }
    this.requisitionManagementFacade.updateRequisitionStatusFromList$(this.selectedRequisitionId, 'REJECTED', comment);
    this.selectedRequisitionId = undefined;
  }
}