ui/src/app/configuration/dialog/file-upload/file-upload-dialog.component.html (133 lines of code) (raw):

<!-- ~ Licensed to the Apache Software Foundation (ASF) under one or more ~ contributor license agreements. See the NOTICE file distributed with ~ this work for additional information regarding copyright ownership. ~ The ASF licenses this file to You under the Apache License, Version 2.0 ~ (the "License"); you may not use this file except in compliance with ~ the License. You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing permissions and ~ limitations under the License. ~ --> <div class="sp-dialog-container"> <div class="sp-dialog-content p-15" fxLayout="column"> <sp-warning-box *ngIf="uploadError" style="font-size: smaller"> {{ uploadErrorMessage }} </sp-warning-box> <div fxFlex="100" *ngIf="this.duplicateFileNames.length === 0"> <div fxFlex="100" style="margin: 5px; width: 100%"> <mat-form-field style="width: 95%" (click)="fileInput.click()" color="accent" > <input matInput placeholder="File" disabled (value)="(fileNames)" /> <input #fileInput type="file" style="display: none" (change)="handleFileInput($event.target.files)" data-cy="sp-file-management-file-input" multiple /> <div> <div fxLayout="column" *ngFor="let filename of fileNames" > {{ filename }} </div> <mat-progress-bar mode="determinate" value="{{ uploadStatus }}" *ngIf="uploadStatus > 0" color="accent" ></mat-progress-bar> </div> <button color="accent" matSuffix mat-button style="min-width: 0" > <mat-icon *ngIf="uploadStatus < 99" >insert_drive_file</mat-icon > <mat-icon *ngIf="uploadStatus === 100" class="green-icon" >check_circle</mat-icon > </button> <mat-error *ngIf="!hasInput"> {{ errorMessage }} </mat-error> </mat-form-field> <button mat-button mat-raised-button class="mat-basic" (click)="removeFilesFromUpload()" > Clear </button> </div> </div> <div *ngIf="this.duplicateFileNames.length !== 0" fxLayout="column" style="width: 100%" > <div fxFlex="100" fxLayoutAlign="center" fxLayout="column"> <b> <h4> The following files already exist. Please rename them. </h4> </b> <div *ngFor="let name of this.duplicateFileNames; let i = index" > <div class="input-group"> <span style="margin-right: 10px">{{ name }}:</span> <mat-form-field> <input matInput placeholder="e.g. {{ '_' + name }}" [(ngModel)]="this.renamedFileNames[i]" /> </mat-form-field> </div> </div> </div> </div> </div> <mat-divider></mat-divider> <div class="sp-dialog-actions"> <button *ngIf="this.duplicateFileNames.length === 0" mat-button mat-raised-button color="accent" (click)="store()" [disabled]="fileNames.length === 0" data-cy="sp-file-management-store-file" style="margin-right: 10px" > Import files </button> <button *ngIf="this.duplicateFileNames.length !== 0" mat-button mat-raised-button color="accent" (click)="renameDuplicateFiles()" [disabled]="fileNames.length === 0" style="margin-right: 10px" > Rename files </button> <button mat-button mat-raised-button class="mat-basic" (click)="cancel()" style="margin-right: 10px" > Cancel </button> </div> </div>