ngx-file-drop
Version:
Angular ngx-file-drop - Simple desktop file and folder drag and drop
68 lines (67 loc) • 3.37 kB
TypeScript
import { ElementRef, EventEmitter, NgZone, OnDestroy, Renderer2, TemplateRef } from '@angular/core';
import { NgxFileDropEntry } from './ngx-file-drop-entry';
import * as i0 from "@angular/core";
export declare class NgxFileDropComponent implements OnDestroy {
private zone;
private renderer;
accept: string;
directory: boolean;
multiple: boolean;
dropZoneLabel: string;
dropZoneClassName: string;
useDragEnter: boolean;
contentClassName: string;
showBrowseBtn: boolean;
browseBtnClassName: string;
browseBtnLabel: string;
onFileDrop: EventEmitter<NgxFileDropEntry[]>;
onFileOver: EventEmitter<any>;
onFileLeave: EventEmitter<any>;
contentTemplate?: TemplateRef<any>;
fileSelector?: ElementRef;
isDraggingOverDropZone: boolean;
private globalDraggingInProgress;
private readonly globalDragStartListener;
private readonly globalDragEndListener;
private files;
private numOfActiveReadEntries;
private helperFormEl;
private fileInputPlaceholderEl;
private dropEventTimerSubscription;
private _disabled;
get disabled(): boolean;
set disabled(value: boolean);
constructor(zone: NgZone, renderer: Renderer2);
ngOnDestroy(): void;
onDragOver(event: DragEvent): void;
onDragEnter(event: Event): void;
onDragLeave(event: Event): void;
dropFiles(event: DragEvent): void;
openFileSelector: (event?: MouseEvent) => void;
/**
* Processes the change event of the file input and adds the given files.
* @param Event event
*/
uploadFiles(event: Event): void;
private getFakeDropEntry;
private checkFile;
private checkFiles;
private traverseFileTree;
/**
* Clears any added files from the file input element so the same file can subsequently be added multiple times.
*/
private resetFileInput;
/**
* Get a cached HTML form element as a helper element to clear the file input element.
*/
private getHelperFormElement;
/**
* Get a cached HTML div element to be used as placeholder for the file input element when clearing said element.
*/
private getFileInputPlaceholderElement;
private isDropzoneDisabled;
private addToQueue;
private preventAndStop;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxFileDropComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgxFileDropComponent, "ngx-file-drop", never, { "accept": { "alias": "accept"; "required": false; }; "directory": { "alias": "directory"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "dropZoneLabel": { "alias": "dropZoneLabel"; "required": false; }; "dropZoneClassName": { "alias": "dropZoneClassName"; "required": false; }; "useDragEnter": { "alias": "useDragEnter"; "required": false; }; "contentClassName": { "alias": "contentClassName"; "required": false; }; "showBrowseBtn": { "alias": "showBrowseBtn"; "required": false; }; "browseBtnClassName": { "alias": "browseBtnClassName"; "required": false; }; "browseBtnLabel": { "alias": "browseBtnLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onFileDrop": "onFileDrop"; "onFileOver": "onFileOver"; "onFileLeave": "onFileLeave"; }, ["contentTemplate"], never, false, never>;
}