46 lines
2.1 KiB
HTML
46 lines
2.1 KiB
HTML
<h2>Cash Flow</h2>
|
|
|
|
<form class="flex-col" [formRoot]="form" (submit)="$event.preventDefault(); show()">
|
|
<div class="row-container">
|
|
<mat-form-field class="flex-auto basis-2-5">
|
|
<mat-label>Start Date</mat-label>
|
|
<input matInput [matDatepicker]="startDatePicker" [formField]="form.startDate" autocomplete="off" />
|
|
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
|
|
<mat-datepicker #startDatePicker></mat-datepicker>
|
|
</mat-form-field>
|
|
<mat-form-field class="flex-auto basis-2-5">
|
|
<mat-label>Finish Date</mat-label>
|
|
<input matInput [matDatepicker]="finishDate" [formField]="form.finishDate" autocomplete="off" />
|
|
<mat-datepicker-toggle matSuffix [for]="finishDate"></mat-datepicker-toggle>
|
|
<mat-datepicker #finishDate></mat-datepicker>
|
|
</mat-form-field>
|
|
<button mat-raised-button type="submit" color="primary" class="flex-auto basis-1-5">Show</button>
|
|
</div>
|
|
</form>
|
|
@if (infoResource.isLoading()) {
|
|
<app-skeleton-loader type="table" [count]="1" />
|
|
} @else if (infoResource.error()) {
|
|
<app-error-state [message]="'Failed to load cash flow.'" (retryAction)="infoResource.reload()" />
|
|
} @else {
|
|
<mat-table #table [dataSource]="dataSource()" matSort (matSortChange)="sortData($event)">
|
|
<!-- Name Column -->
|
|
<ng-container matColumnDef="name">
|
|
<mat-header-cell *matHeaderCellDef mat-sort-header>Name</mat-header-cell>
|
|
<mat-cell *matCellDef="let row"
|
|
><a [routerLink]="row.url" [queryParams]="{ startDate: info().startDate, finishDate: info().finishDate }"
|
|
>{{ row.name }}
|
|
</a></mat-cell
|
|
>
|
|
</ng-container>
|
|
|
|
<!-- Amount Column -->
|
|
<ng-container matColumnDef="amount">
|
|
<mat-header-cell *matHeaderCellDef mat-sort-header class="right">Amount</mat-header-cell>
|
|
<mat-cell *matCellDef="let row" class="right">{{ row.amount | currency: 'INR' | clear }}</mat-cell>
|
|
</ng-container>
|
|
|
|
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
|
|
<mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>
|
|
</mat-table>
|
|
}
|