<kt-portlet>
	<kt-portlet-header [title]="titulo" [class]="'kt-portlet__head--lg'">
		<div ktPortletTools>
			<div class="div-group-show-hide-list">
				<div class="div-show-hide-list mr-1">
					<mat-spinner [diameter]="25" *ngIf="isLoading" class="mr-3"></mat-spinner>
					<mat-checkbox (change)="toggle($event)" style="margin-right: 20px">
						{{(deleted_at == '0') ? 'Mostrar eliminados' : 'Ocultar eliminados'}}
					</mat-checkbox>
				</div>
				<button [routerLink]="['../usuarios/add']"  mat-raised-button class="btn btn-primary" matTooltip="Crear nuevo usuario" *ngxPermissionsOnly="'administrador.usuarios.store'">
					<i class="la la-plus"></i>
					<span class="kt-hidden-mobile ml-2">Nuevo usuario</span>
				</button>
			</div>
		</div>
	</kt-portlet-header>

	<kt-portlet-body>

		<div class="kt-form kt-margin-b-30">
			<div class="kt-form__filtration">
				<div class="row align-items-center">
					<div class="col-md-1 kt-margin-bottom-10-mobile">
						<mat-form-field>
							<input matInput (keyup)="onKeyUp($event)" (keydown)="onKeyDown()" placeholder="Buscar..." class="mat-form-field mat-form-field-fluid">
							<mat-hint align="start">
								<strong>Buscar en todos los campos</strong>
							</mat-hint>
						</mat-form-field>
					</div>
				</div>
			</div>
		</div>

		<div class="mat-table__wrapper">
			<mat-table class="lmat-elevation-z8" [dataSource]="dataSourceUsuario" (matSortChange)="sort($event)" matSort matSortActive="id" matSortDirection="asc" matSortDisableClear>

				<ng-container matColumnDef="nombre">
					<mat-header-cell *matHeaderCellDef mat-sort-header>Nombre</mat-header-cell>
					<mat-cell class="mat-cell-users" *matCellDef="let usuario">{{usuario.nombre}} {{usuario.apellido_paterno}} {{usuario.apellido_materno}}</mat-cell>
				</ng-container>

				<ng-container matColumnDef="email">
					<mat-header-cell *matHeaderCellDef mat-sort-header>Correo electrónico</mat-header-cell>
					<mat-cell class="mat-cell-users"  *matCellDef="let usuario">{{usuario.email}}</mat-cell>
				</ng-container>

				<ng-container matColumnDef="telefono">
					<mat-header-cell *matHeaderCellDef mat-sort-header>Teléfono</mat-header-cell>
					<mat-cell class="mat-cell-users"  *matCellDef="let usuario">{{(usuario.telefono != null)? usuario.telefono : '-'}}</mat-cell>
				</ng-container>

				<ng-container matColumnDef="role">
					<mat-header-cell *matHeaderCellDef mat-sort-header>Rol</mat-header-cell>
					<mat-cell class="mat-cell-users" *matCellDef="let usuario">{{usuario.role}}</mat-cell>
				</ng-container>

				<ng-container matColumnDef="tipo_empleado">
					<mat-header-cell *matHeaderCellDef mat-sort-header>Tipo empleado</mat-header-cell>
					<mat-cell class="mat-cell-users" *matCellDef="let usuario">{{usuario.tipo_empleado}}</mat-cell>
				</ng-container>

				<ng-container matColumnDef="sucursal">
					<mat-header-cell *matHeaderCellDef mat-sort-header>Sucursal</mat-header-cell>
					<mat-cell class="mat-cell-users"  *matCellDef="let usuario">{{usuario.sucursal}}</mat-cell>
				</ng-container>

				<ng-container matColumnDef="created_at">
					<mat-header-cell *matHeaderCellDef mat-sort-header>Fecha</mat-header-cell>
					<mat-cell class="mat-cell-users"  *matCellDef="let usuario">{{usuario.created_at}}</mat-cell>
				</ng-container>

				<ng-container matColumnDef="actions">
					<mat-header-cell *matHeaderCellDef></mat-header-cell>
					<mat-cell *matCellDef="let usuario" class="justify-content-center">
						<button mat-icon-button type="button" (click)="editUsuario(usuario.id)" class="btn-primary" matTooltip="Editar usuario" *ngxPermissionsOnly="'administrador.usuarios.show'">
							<mat-icon>create</mat-icon>
						</button>&nbsp; &nbsp;
						<button mat-icon-button type="button" (click)="deleteUsuario(usuario)" class="btn-primary" matTooltip="{{!usuario.deleted_at ? 'Eliminar forma de pago' : 'Activar forma de pago'}}" *ngxPermissionsOnly="'administrador.usuarios.destroy'">
							<mat-icon>{{!usuario.deleted_at ? 'delete' : 'done'}}</mat-icon>
						</button>
					</mat-cell>
				</ng-container>

				<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
				<mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>
			</mat-table>
			<div class="mat-table__message" *ngIf="dataSourceUsuario.data.length == 0">No se encontraron registros.</div>
			<div class="mat-table__message" *ngIf="showMessageWait">Espera un momento....</div>
		</div>

		<div class="mat-table__bottom">
			<mat-spinner [diameter]="25" *ngIf="isLoading"></mat-spinner>
			<mat-paginator [pageSize]="perPage" [pageSizeOptions]="pages" [length]="total" (page)="paginator($event)"></mat-paginator>
		</div>
	</kt-portlet-body>

</kt-portlet>
