File

C:/GoDev/src/TCSTK-Angular/projects/tibco-tcstk/tc-core-lib/src/lib/components/tibco-cloud-upload-dialog/tibco-cloud-upload-dialog.component.ts

Metadata

selector tibco-cloud-upload-dialog
styleUrls ./tibco-cloud-upload-dialog.component.css
templateUrl ./tibco-cloud-upload-dialog.component.html

Index

Properties
Methods
Outputs

Constructor

constructor(dialogRef: MatDialogRef, data: any)
Parameters :
Name Type Optional
dialogRef MatDialogRef<TibcoCloudUploadDialogComponent> No
data any No

Outputs

fileevent
Type : EventEmitter

Methods

attachFile
attachFile(files: FileList)
Parameters :
Name Type Optional
files FileList No
Returns : void
onNoClick
onNoClick()
Returns : void
setFileDescription
setFileDescription(description: string)
Parameters :
Name Type Optional
description string No
Returns : void

Properties

Public data
Type : any
Decorators :
@Inject(MAT_DIALOG_DATA)
Public description
Type : string
Default value : undefined
Public dialogRef
Type : MatDialogRef<TibcoCloudUploadDialogComponent>
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>

./tibco-cloud-upload-dialog.component.css

.tcs-hidden-input {
  display: none;
}
Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""