File
Metadata
selector |
tibco-cloud-upload-dialog |
styleUrls |
./tibco-cloud-upload-dialog.component.css |
templateUrl |
./tibco-cloud-upload-dialog.component.html |
Index
Properties
|
|
Methods
|
|
Outputs
|
|
Methods
attachFile
|
attachFile(files: FileList)
|
|
Parameters :
Name |
Type |
Optional |
files |
FileList
|
No
|
|
setFileDescription
|
setFileDescription(description: string)
|
|
Parameters :
Name |
Type |
Optional |
description |
string
|
No
|
|
Public
data
|
Type : any
|
Decorators :
@Inject(MAT_DIALOG_DATA)
|
|
Public
description
|
Type : string
|
Default value : undefined
|
|
Public
fileToUpload
|
Type : File
|
Default value : undefined
|
|
Public
uploadFile
|
Default value : () => {...}
|
|
import { Component, Output, Inject, EventEmitter } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
@Component({
selector: 'tibco-cloud-upload-dialog',
templateUrl: './tibco-cloud-upload-dialog.component.html',
styleUrls: ['./tibco-cloud-upload-dialog.component.css']
})
export class TibcoCloudUploadDialogComponent {
@Output() fileevent = new EventEmitter<any>();
public fileToUpload: File = undefined;
public description: string = undefined;
// public fileText: string;
constructor(
public dialogRef: MatDialogRef<TibcoCloudUploadDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any
) { }
public uploadFile = () => {
if (this.fileToUpload) {
this.fileevent.emit({
file: this.fileToUpload,
description: this.description,
inputData: this.data
});
this.dialogRef.close();
}
}
setFileDescription(description: string) {
this.description = description;
}
attachFile(files: FileList) {
this.fileToUpload = files.item(0);
}
onNoClick(): void {
this.dialogRef.close();
}
}
<h1 mat-dialog-title>{{data.title}}</h1>
<div mat-dialog-content class="tcs-state-icon-upload-dialog">
<form #fileUploadForm="ngForm" fxFlex fxLayout="column">
<div fxLayout="row" fxLayoutAlign="start space-between">
<button type="button" mat-raised-button (click)="fileInput.click()">Choose File To Upload</button>
<div *ngIf="fileToUpload">{{fileToUpload.name}}</div>
<!-- below input is hidden and enabled by above button -->
<input class="tcs-hidden-input" (change)="attachFile($event.target.files)" accept="{{data.allowedExtensions}}" #fileInput
type="file" id="file">
</div>
</form>
</div>
<div mat-dialog-actions>
<button mat-button (click)="uploadFile()" type="submit" [disabled]="!fileToUpload">Upload</button>
<button mat-button (click)="onNoClick()">Cancel</button>
</div>
.tcs-hidden-input {
display: none;
}
Legend
Html element with directive