<div>
    <h2 id="page-heading">
        <span jhiTranslate="hsadminNgApp.sepaMandate.home.title">Sepa Mandates</span>
        <button id="jh-create-entity" class="btn btn-primary float-right jh-create-entity create-sepa-mandate" [routerLink]="['/sepa-mandate/new']">
            <fa-icon [icon]="'plus'"></fa-icon>
            <span  jhiTranslate="hsadminNgApp.sepaMandate.home.createLabel">
            Create new Sepa Mandate
            </span>
        </button>
    </h2>
    <jhi-alert></jhi-alert>
    <br/>
    <div class="table-responsive" *ngIf="sepaMandates">
        <table class="table table-striped">
            <thead>
            <tr jhiSort [(predicate)]="predicate" [(ascending)]="reverse" [callback]="reset.bind(this)">
                <th jhiSortBy="id"><span jhiTranslate="global.field.id">ID</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="reference"><span jhiTranslate="hsadminNgApp.sepaMandate.reference">Reference</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="iban"><span jhiTranslate="hsadminNgApp.sepaMandate.iban">Iban</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="bic"><span jhiTranslate="hsadminNgApp.sepaMandate.bic">Bic</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="grantingDocumentDate"><span jhiTranslate="hsadminNgApp.sepaMandate.grantingDocumentDate">Granting Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="revokationDocumentDate"><span jhiTranslate="hsadminNgApp.sepaMandate.revokationDocumentDate">Revokation Document Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="validFromDate"><span jhiTranslate="hsadminNgApp.sepaMandate.validFromDate">Valid From Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="validUntilDate"><span jhiTranslate="hsadminNgApp.sepaMandate.validUntilDate">Valid Until Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th jhiSortBy="lastUsedDate"><span jhiTranslate="hsadminNgApp.sepaMandate.lastUsedDate">Last Used Date</span> <fa-icon [icon]="'sort'"></fa-icon></th>
                <th><span jhiTranslate="hsadminNgApp.sepaMandate.customer">Customer</span></th>
                <th></th>
            </tr>

            <!-- filter start: -->
            <tr>
                <th style="width: 7%"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" [(ngModel)]="filter.criteria.reference" (keyup)="filter.trigger($event)"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" [(ngModel)]="filter.criteria.iban" (keyup)="filter.trigger($event)"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" [(ngModel)]="filter.criteria.bic" (keyup)="filter.trigger($event)"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" minlength="4" maxlength="4" placeholder="YYYY|--|++" [(ngModel)]="filter.criteria.grantingDocumentDate" (keyup)="filter.trigger($event)"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" minlength="4" maxlength="4" placeholder="YYYY|--|++" [(ngModel)]="filter.criteria.revokationDocumentDate" (keyup)="filter.trigger($event)"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" minlength="4" maxlength="4" placeholder="YYYY|--|++" [(ngModel)]="filter.criteria.validFromDate" (keyup)="filter.trigger($event)"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" minlength="4" maxlength="4" placeholder="YYYY|--|++" [(ngModel)]="filter.criteria.validUntilDate" (keyup)="filter.trigger($event)"></th>
                <th style="width: 7%"><input type="text" class="form-control" style="max-width: 20em" minlength="4" maxlength="4" placeholder="YYYY|--|++" [(ngModel)]="filter.criteria.lastUsedDate" (keyup)="filter.trigger($event)"></th>
                <th style="width: 17%">
                    <select id="field_customer" class="form-control" name="customer" [(ngModel)]="filter.criteria.customerId"  (change)="filter.trigger($event)">
                        <option [ngValue]="null" selected></option>
                        <option [ngValue]="customerOption.id" *ngFor="let customerOption of customers; trackBy: trackId">{{customerOption.displayLabel}}</option>
                    </select>
                </th>
                <th style="width: 20%"><button class="btn btn-primary float-left" (click)="filter.reset()">Reset Filter</button></th>
            </tr>
            <!-- filter end. -->

            </thead>
            <tbody infinite-scroll (scrolled)="loadPage(page + 1)" [infiniteScrollDisabled]="page >= links['last']" [infiniteScrollDistance]="0">
            <tr *ngFor="let sepaMandate of sepaMandates ;trackBy: trackId">
                <td><a [routerLink]="['/sepa-mandate', sepaMandate.id, 'view' ]">{{sepaMandate.id}}</a></td>
                <td>{{sepaMandate.reference}}</td>
                <td>{{sepaMandate.iban}}</td>
                <td>{{sepaMandate.bic}}</td>
                <td>{{sepaMandate.grantingDocumentDate | date:'mediumDate'}}</td>
                <td>{{sepaMandate.revokationDocumentDate | date:'mediumDate'}}</td>
                <td>{{sepaMandate.validFromDate | date:'mediumDate'}}</td>
                <td>{{sepaMandate.validUntilDate | date:'mediumDate'}}</td>
                <td>{{sepaMandate.lastUsedDate | date:'mediumDate'}}</td>
                <td>
                    <div *ngIf="sepaMandate.customerId">
                        <a [routerLink]="['../customer', sepaMandate.customerId , 'view' ]" >{{sepaMandate.customerDisplayLabel}}</a>
                    </div>
                </td>
                <td class="text-right">
                    <div class="btn-group flex-btn-group-container">
                        <button type="submit"
                                [routerLink]="['/sepa-mandate', sepaMandate.id, 'view' ]"
                                class="btn btn-info btn-sm">
                            <fa-icon [icon]="'eye'"></fa-icon>
                            <span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span>
                        </button>
                        <button type="submit"
                                [routerLink]="['/sepa-mandate', sepaMandate.id, 'edit']"
                                class="btn btn-primary btn-sm">
                            <fa-icon [icon]="'pencil-alt'"></fa-icon>
                            <span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span>
                        </button>
                        <button type="submit"
                                [routerLink]="['/', 'sepa-mandate', { outlets: { popup: sepaMandate.id + '/delete'} }]"
                                replaceUrl="true"
                                queryParamsHandling="merge"
                                class="btn btn-danger btn-sm">
                            <fa-icon [icon]="'times'"></fa-icon>
                            <span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span>
                        </button>
                    </div>
                </td>
            </tr>
            </tbody>
        </table>
    </div>
</div>
