angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
127 lines • 7.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/io/uploaders/base.uploader.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { BaseDatatransfer } from '../datatransfer.io';
import { TransferType } from '../../enums/transfer-type.enum';
/**
* @record
*/
export function IUploader() { }
if (false) {
/**
* @param {?} element
* @param {?} isDirectory
* @return {?}
*/
IUploader.prototype.assignBrowse = function (element, isDirectory) { };
/**
* @param {?} element
* @return {?}
*/
IUploader.prototype.assignDrop = function (element) { };
/**
* @param {?} oldPath
* @param {?} newPath
* @return {?}
*/
IUploader.prototype.editPath = function (oldPath, newPath) { };
/**
* @param {?} item
* @param {?} name
* @return {?}
*/
IUploader.prototype.editFilename = function (item, name) { };
}
/**
* @abstract
*/
export class BaseUploader extends BaseDatatransfer {
/**
* @param {?} logger
* @param {?} guidUtil
* @param {?} cryptoService
*/
constructor(logger, guidUtil, cryptoService) {
super(logger, guidUtil, cryptoService);
this.logger = logger;
this.guidUtil = guidUtil;
this.cryptoService = cryptoService;
this.filenameRegExp = new RegExp('[\/\\\\*?"<>:|]');
this.pathRegExp = new RegExp('[*?"<>:|]');
this.transferType = TransferType.Upload;
}
/**
* @param {?} oldPath
* @param {?} newPath
* @return {?}
*/
editPath(oldPath, newPath) {
if (this.pathRegExp.test(newPath)) {
throw new Error('A path cannot contain any of the following characters: * ? " < > : |');
}
}
/**
* @param {?} item
* @param {?} name
* @return {?}
*/
editFilename(item, name) {
if (!item) {
throw new Error('Cannot edit the filename.');
}
if (!name) {
throw new Error('Empty filename is not allowed.');
}
if (this.filenameRegExp.test(name)) {
throw new Error('A filename cannot contain any of the following characters: \\ / * ? " < > : |');
}
}
}
if (false) {
/**
* @type {?}
* @private
*/
BaseUploader.prototype.filenameRegExp;
/**
* @type {?}
* @private
*/
BaseUploader.prototype.pathRegExp;
/**
* @type {?}
* @protected
*/
BaseUploader.prototype.transferType;
/**
* @type {?}
* @protected
*/
BaseUploader.prototype.logger;
/**
* @type {?}
* @protected
*/
BaseUploader.prototype.guidUtil;
/**
* @type {?}
* @protected
*/
BaseUploader.prototype.cryptoService;
/**
* @abstract
* @param {?} element
* @param {?} isDirectory
* @return {?}
*/
BaseUploader.prototype.assignBrowse = function (element, isDirectory) { };
/**
* @abstract
* @param {?} element
* @return {?}
*/
BaseUploader.prototype.assignDrop = function (element) { };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS51cGxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbWF0ZXJpYWwtZGF0YXRyYW5zZmVyLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9pby91cGxvYWRlcnMvYmFzZS51cGxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFLOUQsK0JBS0M7Ozs7Ozs7SUFKRyx1RUFBbUQ7Ozs7O0lBQ25ELHdEQUErQjs7Ozs7O0lBQy9CLCtEQUFpRDs7Ozs7O0lBQ2pELDZEQUEwRDs7Ozs7QUFHOUQsTUFBTSxPQUFnQixZQUFhLFNBQVEsZ0JBQWdCOzs7Ozs7SUFNdkQsWUFBc0IsTUFBcUIsRUFDckIsUUFBa0IsRUFDbEIsYUFBNEI7UUFDOUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFIckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTjFDLG1CQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsaUJBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBTTdDLENBQUM7Ozs7OztJQU1NLFFBQVEsQ0FBQyxPQUFlLEVBQUUsT0FBZTtRQUM1QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsc0VBQXNFLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7Ozs7OztJQUVNLFlBQVksQ0FBQyxJQUF1QixFQUFFLElBQVk7UUFDckQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0VBQStFLENBQUMsQ0FBQztTQUNwRztJQUNMLENBQUM7Q0FDSjs7Ozs7O0lBL0JHLHNDQUF1RDs7Ozs7SUFDdkQsa0NBQTZDOzs7OztJQUM3QyxvQ0FBNkM7Ozs7O0lBRWpDLDhCQUErQjs7Ozs7SUFDL0IsZ0NBQTRCOzs7OztJQUM1QixxQ0FBc0M7Ozs7Ozs7SUFJbEQsMEVBQW1FOzs7Ozs7SUFFbkUsMkRBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSURhdGF0cmFuc2ZlciwgQmFzZURhdGF0cmFuc2ZlciB9IGZyb20gJy4uL2RhdGF0cmFuc2Zlci5pbyc7XHJcbmltcG9ydCB7IElEYXRhdHJhbnNmZXJJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGF0cmFuc2Zlci1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgVHJhbnNmZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvdHJhbnNmZXItdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR3VpZFV0aWwgfSBmcm9tICcuLi8uLi91dGlscy9ndWlkLnV0aWwnO1xyXG5pbXBvcnQgeyBDcnlwdG9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3J5cHRvLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVXBsb2FkZXIgZXh0ZW5kcyBJRGF0YXRyYW5zZmVyIHtcclxuICAgIGFzc2lnbkJyb3dzZShlbGVtZW50OiBhbnksIGlzRGlyZWN0b3J5OiBhbnkpOiB2b2lkO1xyXG4gICAgYXNzaWduRHJvcChlbGVtZW50OiBhbnkpOiB2b2lkO1xyXG4gICAgZWRpdFBhdGgob2xkUGF0aDogc3RyaW5nLCBuZXdQYXRoOiBzdHJpbmcpOiB2b2lkO1xyXG4gICAgZWRpdEZpbGVuYW1lKGl0ZW06IElEYXRhdHJhbnNmZXJJdGVtLCBuYW1lOiBzdHJpbmcpOiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVVwbG9hZGVyIGV4dGVuZHMgQmFzZURhdGF0cmFuc2ZlciB7XHJcblxyXG4gICAgcHJpdmF0ZSBmaWxlbmFtZVJlZ0V4cCA9IG5ldyBSZWdFeHAoJ1tcXC9cXFxcXFxcXCo/XCI8Pjp8XScpO1xyXG4gICAgcHJpdmF0ZSBwYXRoUmVnRXhwID0gbmV3IFJlZ0V4cCgnWyo/XCI8Pjp8XScpO1xyXG4gICAgcHJvdGVjdGVkIHRyYW5zZmVyVHlwZSA9IFRyYW5zZmVyVHlwZS5VcGxvYWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBndWlkVXRpbDogR3VpZFV0aWwsXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgY3J5cHRvU2VydmljZTogQ3J5cHRvU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKGxvZ2dlciwgZ3VpZFV0aWwsIGNyeXB0b1NlcnZpY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBhc3NpZ25Ccm93c2UoZWxlbWVudDogYW55LCBpc0RpcmVjdG9yeTogYW55KTogdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgYXNzaWduRHJvcChlbGVtZW50OiBhbnkpOiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyBlZGl0UGF0aChvbGRQYXRoOiBzdHJpbmcsIG5ld1BhdGg6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnBhdGhSZWdFeHAudGVzdChuZXdQYXRoKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgcGF0aCBjYW5ub3QgY29udGFpbiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiAqID8gXCIgPCA+IDogfCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZWRpdEZpbGVuYW1lKGl0ZW06IElEYXRhdHJhbnNmZXJJdGVtLCBuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZWRpdCB0aGUgZmlsZW5hbWUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghbmFtZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VtcHR5IGZpbGVuYW1lIGlzIG5vdCBhbGxvd2VkLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5maWxlbmFtZVJlZ0V4cC50ZXN0KG5hbWUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQSBmaWxlbmFtZSBjYW5ub3QgY29udGFpbiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiBcXFxcIC8gKiA/IFwiIDwgPiA6IHwnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19