abm-imagenes.component.html 3.54 KB
<app-header></app-header>

<div class="container-fluid">
  <div class="row m-3">
    <div class="col">
      <p class="h2">Configuración de imágenes</p>
    </div>
  </div>
  
  <div class="row mx-3 search">
    <div class="col">
      <span class="fa fa-search form-control-lg form-control-search pl-3"></span>
      <input
        type="text"
        class="form-control form-control-lg shadow-sm rounded-pill px-5"
        placeholder="Búsqueda productos"
        [(ngModel)]="searchTerm"
        (ngModelChange)="filterItems()">
    </div>
  </div>
  
  <div class="row m-3 vh-60 overflow-scroll">
    <div class="col">
      <h5>Productos</h5>
      <table class="table table-striped table-hover table-borderless shadow">
        <thead>
          <tr class="bg-primary text-center text-white shadow-sm">
            <th>Nombre</th>
            <th colspan="2">Imagen</th>
          </tr>
        </thead>
        <tbody>
          <tr class="shadow-sm" *ngFor="let articulo of auxProductos">
            <td class="align-middle">
              <p class="m-0">{{articulo.DET_LAR}}</p>
              <p class="m-0"><small>Descripción: {{articulo.DET_LAR}}</small></p>
              <p class="m-0"><small>Sector: {{articulo.CodSec}}</small></p>
              <p class="m-0"><small>Código: {{articulo.CodArt}}</small></p>
            </td>
            <td>
              <img
                *ngIf="articulo.imagenes.length == 0"
                class="fade-in w-100 mx-auto img-fluid"
                src="{{apiImagenes}}/imagenes/noImage.jpg">
              <carousel [interval]="false">
                <slide *ngFor="let item of articulo.imagenes; let index = index">
                  <img
                    *ngIf="!item.fromGallery"
                    class="fade-in img-fluid w-100"
                    src="{{apiImagenes}}/imagenes/{{item.imagen}}">
                  <img
                    *ngIf="item.fromGallery"
                    class="fade-in img-fluid w-100"
                    src="{{item.base64}}">
                  <button
                    (click)="deleteImage(articulo.imagenes, index)"
                    type="button"
                    class="btn btn-lg btn-delete-image position-absolute">
                      <i class="fa fa-trash text-dark" aria-hidden="true"></i>
                  </button>
                </slide>
              </carousel>
            </td>
            <td class="align-middle text-center">
              <div class="custom-file">
                <input
                  type="file"
                  class="custom-file-input"
                  id="customFileLang"
                  accept="image/*"
                  (change)="onFileSelected($event, articulo)"
                  lang="es"
                  multiple>
                <label class="custom-file-label text-left pr-5" for="customFileLang">
                  <small>Seleccionar archivo</small>
                </label>
              </div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>

  <div class="row" *ngIf="paginationData">
    <div class="col">
      <pagination
        [rotate]="false"
        [(ngModel)]="paginationData.page"
        [totalItems]="paginationData.rowCount"
        [maxSize]="paginationData.pageCount"
        [itemsPerPage]="paginationData.pageSize"
        (pageChanged)="pageChanged($event)"
        [boundaryLinks]="true"
        [disabled]="disabledPaginador"
        previousText="&lsaquo;"
        nextText="&rsaquo;"
        firstText="&laquo;"
        lastText="&raquo;"
      ></pagination>
    </div>
  </div>

</div>