<!-------------------------------------------------------------------------------
 * Copyright (c) 2020 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 -------------------------------------------------------------------------------->

<span (dragover)="onDragOver($event)"
      *ngFor="let file of appValue; let index = index;"
      class="attachments-file">

  <button (click)="onDelete(index)"
          [disabled]="appDisabled"
          class="openk-button openk-button-rounded"
          type="button">
    <mat-icon>clear</mat-icon>
  </button>

  {{file?.name}}

</span>

<input #inputElement
       (input)="onInput(inputElement.files)"
       [disabled]="appDisabled"
       id="new-statement-attachments" multiple
       style="display: none;"
       type="file">
