<div class="centrar fadeIn">
    <div class="fondo" [style.background-color]="color">
        <p class="content" [style.color]="textColor">Gestión de Usuarios</p>
    </div>
</div>
<div class="container-col fadeIn">
    <div class="flex-row container-search">
        <div class="">
            <mat-form-field class="input">
                <input class="input" matInput placeholder="Buscar" (keyup)="applyFilter($event)" #input>
                <mat-icon matSuffix>search</mat-icon>
                <!-- <mat-hint>Hint</mat-hint> -->
            </mat-form-field>

        </div>
       <div class="buttons">
            <div class="flex-row items-center">
                <mat-form-field >
                    <mat-label>Mostrar:</mat-label>
                    <mat-select value="Activos" (selectionChange)="option($event.value)">
                        <mat-option value="Activos">Activos</mat-option>
                        <mat-option value="Eliminados">Eliminados</mat-option>
                    </mat-select>
                </mat-form-field>
                   <app-button-dialog class="crear" [vista]="'catalogoUsuarios'"></app-button-dialog>
            </div>

        <button mat-button type="button" class="green" (click)="exportarTodo()">Exportar a Excel<mat-icon
                    svgIcon="excel" class="icono-blanco"></mat-icon></button>
        </div>
    </div>
    <div class="table-container mat-elevation-z8">
        <div class="table-responsive " #TABLE>
            <table mat-table [dataSource]="dataSource" #tabla1 class="mat-elevation-z8">

                <ng-container matColumnDef="idUsuario">
                    <th mat-header-cell *matHeaderCellDef> ID Usuario </th>
                    <td mat-cell *matCellDef="let usuario"> {{usuario.idUsuario}} </td>
                </ng-container>

                <ng-container matColumnDef="tipoUsuario">
                    <th mat-header-cell *matHeaderCellDef> Tipo de Usuario </th>
                    <td mat-cell *matCellDef="let usuario"> {{usuario.NombreUsuario}} </td>
                </ng-container>

                <ng-container matColumnDef="nombre">
                    <th mat-header-cell *matHeaderCellDef> Nombre del Usuario </th>
                    <td mat-cell *matCellDef="let usuario"> {{usuario.primerNombre}} {{usuario.segundoNombre}}
                        {{usuario.apellidoPaterno}} {{usuario.apellidoMaterno}}</td>
                </ng-container>

                <ng-container matColumnDef="grado">
                    <th mat-header-cell *matHeaderCellDef> Grado </th>
                    <td mat-cell *matCellDef="let usuario"> {{usuario.grado !== 'NA' ? usuario.grado : 'No Aplica'}} </td>
                </ng-container>

                <ng-container matColumnDef="estado">
                    <th mat-header-cell *matHeaderCellDef> Estado</th>
                    <td mat-cell *matCellDef="let usuario">
                        <span
                            [ngClass]="{'badge-active': usuario.estatus == 'Activo' , 'badge-inactive' : usuario.estatus == 'Eliminado', 'badge-inactive-user': usuario.estatus == 'Inactivo'}">
                            {{usuario.estatus}}
                        </span>
                    </td>

                </ng-container>

                <ng-container matColumnDef="accesos">
                    <th mat-header-cell *matHeaderCellDef> Gestión de Accesos</th>
                    <td mat-cell *matCellDef="let usuario">
                        <p class="inline" (click)="openDialogContra(usuario.idUsuario)">
                            <mat-icon class="icon" fontIcon="lock" style="padding-right: 10px;"></mat-icon>
                            Cambiar Contraseña
                        </p>
                    </td>
                </ng-container>

                <ng-container matColumnDef="acciones">
                    <th mat-header-cell *matHeaderCellDef> Acciones</th>
                    <td mat-cell *matCellDef="let usuario">
                        <div class="flex-row items-edit">
                            <button class="action-edit" mat-fab color="Primary"
                                (click)="openDialog(usuario)"><mat-icon class="icon">edit</mat-icon></button>
                            <p class="ml-10" #tooltip="matTooltip"
                                [matTooltip]="usuario.estatus === 'Activo' ? 'Cambiar estado a Eliminado' : usuario.estatus === 'Inactivo' ? 'Para activar el usuario edite el registro' : 'Cambiar estado a Activo'"
                                matTooltipPosition="right" style="transform: scale(1.2);">
                                <mat-slide-toggle [disabled]="usuario.estatus === 'Inactivo'"
                                    [checked]="usuario.estatus === 'Activo'"
                                    (click)="usuario.estatus === 'Activo' ?
                                    deleteLevel(usuario.idUsuario): enableLevel(usuario.idUsuario)"></mat-slide-toggle>
                            </p>
                        </div>
                    </td>
                </ng-container>
                <tr mat-header-row *matHeaderRowDef="columnas"></tr>
                <tr mat-row *matRowDef="let row; columns: columnas;"></tr>
                <tr class="mat-row" *matNoDataRow>
                    <td class="mat-cell" colspan="4">No hay resultados para "{{input.value}}"</td>
                </tr>
            </table>
            <mat-progress-bar *ngIf="isLoading" mode="indeterminate"></mat-progress-bar>

        </div>
        <mat-paginator [pageSizeOptions]="[5, 10, 15]" showFirstLastButtons></mat-paginator>
    </div>
</div>
