angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
41 lines (40 loc) • 1.96 kB
TypeScript
import { IDatatransferItem } from '../models/datatransfer-item.model';
import { LoggerService } from '../services/logger.service';
import { GuidUtil } from '../utils/guid.util';
import { CryptoService } from '../services/crypto.service';
import { TransferStatus } from '../enums/transfer-status.enum';
import { TransferType } from '../enums/transfer-type.enum';
export interface IDatatransfer {
on(event: string, callback: Function): void;
isWorking(): boolean;
startAll(): void;
pauseAll(): void;
removeAll(): void;
addItem(item: IDatatransferItem): void;
removeItem(item: IDatatransferItem): void;
retryItem(item: IDatatransferItem): void;
}
export declare abstract class BaseDatatransfer implements IDatatransfer {
protected logger: LoggerService;
protected guidUtil: GuidUtil;
protected cryptoService: CryptoService;
private events;
protected _isWorking: boolean;
constructor(logger: LoggerService, guidUtil: GuidUtil, cryptoService: CryptoService);
on(event: string, callback: Function): void;
protected fire(...args: any[]): void;
protected updateZone(): void;
protected changeItemStatus(item: IDatatransferItem, status: TransferStatus, message?: string): void;
protected updateItemProgress(item: IDatatransferItem, progress: number): void;
protected updateOverallProgress(transferType: TransferType, progress: number): void;
protected updateOverallSize(size: number): void;
isWorking(): boolean;
abstract startAll(): void;
abstract pauseAll(): void;
abstract removeAll(): void;
addItem(item: IDatatransferItem): void;
abstract removeItem(item: IDatatransferItem): void;
abstract retryItem(item: IDatatransferItem): void;
protected generateUniqueIdentifier(): string;
protected preprocessHash(item: IDatatransferItem, file: File, continueCallback: Function, cancelCallback: Function): void;
}