<div class="ng-card mb-0 mt-20">
    <div class="ng-cardHead">
        <div class="ng-cardLabel">
            <h3 class="ng-cardTitle">Block Dates</h3>
        </div>
        <button [routerLink]="['/Services/Hotel/HotelManage/HotelAddBlockDate/'+Extranet_Hotel_Id]"
            class="btn btn-primary"> Add Block Dates </button>
    </div>
    <div class="ng-searchBody">
        <div class="row">
            <div class="col-lg-3">
                <div class="formControlWrapper">
                    <label class="formLabel">Rule Name</label>
                    <input class="formInput" type="text" [(ngModel)]="Rule_Name" placeholder="Search" />
                </div>
            </div>
            <div class="col-lg-3">
                <div class="formControlWrapper">
                    <label class="formLabel">Block Date Type</label>
                    <ng-select #OriginNg class="is-invalid" placeholder="Select" [(ngModel)]="Date_Type">
                        <ng-template ng-header-tmp>
                            <div class="temp_mobileBack">
                                <div class="temp_mobileHead">
                                    <div class="temp_mobileTitle">
                                        <h4>Block Date Type</h4>
                                    </div>
                                    <button matRipple (click)="OriginNg.close()" class="temp_mobileBackButton">
                                        <i class="material-icons"> close </i>
                                    </button>
                                </div>
                            </div>
                        </ng-template>
                        <ng-option value="">Select</ng-option>
                        <ng-option value="CHECKINDATE">Check-in Date</ng-option>
                        <ng-option value="CHECKOUTDATE">Check-out Date</ng-option>
                    </ng-select>
                </div>
            </div>
        </div>
    </div>
    <div class="ng-searchFooter">
        <button type="button" (click)="Reset()" class="btn btn-secondary mr-10 ResetBtn">Reset</button>
        <button type="button" (click)="Search()" class="btn btn-primary SearchBtn">Search</button>
    </div>
</div>
<div class="dataTable actionButtonSticky custom-shadow">
    <p-table #dt [resizableColumns]="true" [columns]="cols" [value]="Result"
        [rowsPerPageOptions]="[10, 25, 50, 100]" styleClass="p-datatable-gridlines" [rows]="10"
         responsiveLayout="scroll" [paginator]="true"
        [rowHover]="true" dataKey="id" [globalFilterFields]="[
'rule_name',
'block_date_type',
'date_range_arr',
'created_by',
'Custom_created_on',
'updated_by',
'status',
'Custom_updated_on',
]" currentPageReportTemplate="Showing {first} to {last} of {totalRecords} entries" [showCurrentPageReport]="true">
        <ng-template pTemplate="caption">
            <p-toolbar *ngIf="Result && Result.length > 0">
                <ng-template pTemplate="left"  *ngIf="_commonService.MenuTabList.HotelBlockDates.Download">
                    <button type="button" pButton class="btn-secondary mr-10" pTooltip="CSV"
                        tooltipPosition="bottom" (click)="dt.exportCSV()">CSV</button>
                    <button type="button" pButton class="btn-secondary mr-10" pTooltip="XLS"
                        tooltipPosition="bottom"
                        (click)="_commonService.exportExcel(Result,cols,'Hotel Block Dates')">Excel</button>
                    <button type="button" pButton class="btn-secondary mr-10" pTooltip="PDF"
                        tooltipPosition="bottom"
                        (click)="_commonService.exportPdf(Result,cols,'Hotel Block Dates')">PDF</button>
                </ng-template>
                <ng-template pTemplate="right">
                    <div class="p-d-flex p-ai-center">
                        <span class="p-input-icon-left">
                            <i class="pi pi-search"></i>
                            <input pInputText type="search" #searchInp
                                (input)="dt.filterGlobal(searchInp.value, 'contains')" placeholder="Search" />
                        </span>
                    </div>
                </ng-template>
            </p-toolbar>
        </ng-template>
        <ng-template pTemplate="header">
            <tr>
                <th pSortableColumn="status">
                    Status
                    <p-sortIcon field="status" class="p-sort-icon"></p-sortIcon>
                </th>
                <th pSortableColumn="rule_name">
                    Rule Name
                    <p-sortIcon field="rule_name" class="p-sort-icon"></p-sortIcon>
                </th>
                <th pSortableColumn="block_date_type">
                    Block Date Type
                    <p-sortIcon field="block_date_type" class="p-sort-icon"></p-sortIcon>
                </th>
                <th pSortableColumn="date_range">
                    Dates
                    <p-sortIcon field="date_range" class="p-sort-icon"></p-sortIcon>
                </th>
                <th pSortableColumn="created_by">
                    Created By
                    <p-sortIcon field="created_by" class="p-sort-icon"></p-sortIcon>
                </th>
                <th pSortableColumn="created_on">
                    Created On
                    <p-sortIcon field="created_on" class="p-sort-icon"></p-sortIcon>
                </th>
                <th pSortableColumn="updated_by">
                    Updated By
                    <p-sortIcon field="updated_by" class="p-sort-icon"></p-sortIcon>
                </th>
                <th pSortableColumn="updated_on">
                    Updated On
                    <p-sortIcon field="updated_on" class="p-sort-icon"></p-sortIcon>
                </th>
                <th>Action</th>
            </tr>
        </ng-template>
        <ng-template pTemplate="body" let-data>
            <tr>
                <td>
                    <span class="status"
                        [ngClass]="{'status-success':data.is_active,'status-failed':data.is_active == false}">
                        {{data.status}}
                    </span>
                </td>
                <td>{{data.rule_name}}</td>
                <td>{{data.block_date_type}}</td>
                <td><span *ngFor="let item of data.date_range_arr" class="d-block">{{item}}</span></td>
                <td>{{data.created_by}}</td>
                <td>{{data.Custom_created_on}}</td>
                <td>{{data.updated_by}}</td>
                <td>{{data.Custom_updated_on}}</td>
                <td>
                    <div class="actionButton">
                        <button mat-icon-button [matMenuTriggerFor]="menu">
                            <span class="material-icons"> more_horiz </span>
                        </button>
                        <mat-menu #menu="matMenu">
                            <button mat-menu-item (click)="Edit(data.extranet_block_date_rule_id)">
                                <span class="flex-center">
                                    <span> Edit </span>
                                </span>
                            </button>
                            <button mat-menu-item *ngIf="_commonService.MenuTabList.HotelBlockDates.IsActive"
                                (click)="updateStatus(data.extranet_block_date_rule_id,data.is_active)">
                                <span class="flex-center">
                                    <span> {{ !data.is_active ? 'Active' : 'Deactive'}}</span>
                                </span>
                            </button>
                        </mat-menu>
                    </div>
                </td>
            </tr>
        </ng-template>
        <ng-template pTemplate="emptymessage">
            <tr *ngIf="Result === null || Result" class="resultNotFound">
                <td> No data found </td>
            </tr>
        </ng-template>
    </p-table>
</div>