angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
143 lines • 8.3 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 * as tslib_1 from "tslib";
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
*/
var /**
* @abstract
*/
BaseUploader = /** @class */ (function (_super) {
tslib_1.__extends(BaseUploader, _super);
function BaseUploader(logger, guidUtil, cryptoService) {
var _this = _super.call(this, logger, guidUtil, cryptoService) || this;
_this.logger = logger;
_this.guidUtil = guidUtil;
_this.cryptoService = cryptoService;
_this.filenameRegExp = new RegExp('[\/\\\\*?"<>:|]');
_this.pathRegExp = new RegExp('[*?"<>:|]');
_this.transferType = TransferType.Upload;
return _this;
}
/**
* @param {?} oldPath
* @param {?} newPath
* @return {?}
*/
BaseUploader.prototype.editPath = /**
* @param {?} oldPath
* @param {?} newPath
* @return {?}
*/
function (oldPath, newPath) {
if (this.pathRegExp.test(newPath)) {
throw new Error('A path cannot contain any of the following characters: * ? " < > : |');
}
};
/**
* @param {?} item
* @param {?} name
* @return {?}
*/
BaseUploader.prototype.editFilename = /**
* @param {?} item
* @param {?} name
* @return {?}
*/
function (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: \\ / * ? " < > : |');
}
};
return BaseUploader;
}(BaseDatatransfer));
/**
* @abstract
*/
export { BaseUploader };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS51cGxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbWF0ZXJpYWwtZGF0YXRyYW5zZmVyLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9pby91cGxvYWRlcnMvYmFzZS51cGxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBSzlELCtCQUtDOzs7Ozs7O0lBSkcsdUVBQW1EOzs7OztJQUNuRCx3REFBK0I7Ozs7OztJQUMvQiwrREFBaUQ7Ozs7OztJQUNqRCw2REFBMEQ7Ozs7O0FBRzlEOzs7O0lBQTJDLHdDQUFnQjtJQU12RCxzQkFBc0IsTUFBcUIsRUFDckIsUUFBa0IsRUFDbEIsYUFBNEI7UUFGbEQsWUFHSSxrQkFBTSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxTQUN6QztRQUpxQixZQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGNBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWEsR0FBYixhQUFhLENBQWU7UUFOMUMsb0JBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9DLGdCQUFVLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsa0JBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDOztJQU03QyxDQUFDOzs7Ozs7SUFNTSwrQkFBUTs7Ozs7SUFBZixVQUFnQixPQUFlLEVBQUUsT0FBZTtRQUM1QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsc0VBQXNFLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7Ozs7OztJQUVNLG1DQUFZOzs7OztJQUFuQixVQUFvQixJQUF1QixFQUFFLElBQVk7UUFDckQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0VBQStFLENBQUMsQ0FBQztTQUNwRztJQUNMLENBQUM7SUFDTCxtQkFBQztBQUFELENBQUMsQUFqQ0QsQ0FBMkMsZ0JBQWdCLEdBaUMxRDs7Ozs7Ozs7OztJQS9CRyxzQ0FBdUQ7Ozs7O0lBQ3ZELGtDQUE2Qzs7Ozs7SUFDN0Msb0NBQTZDOzs7OztJQUVqQyw4QkFBK0I7Ozs7O0lBQy9CLGdDQUE0Qjs7Ozs7SUFDNUIscUNBQXNDOzs7Ozs7O0lBSWxELDBFQUFtRTs7Ozs7O0lBRW5FLDJEQUErQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEYXRhdHJhbnNmZXIsIEJhc2VEYXRhdHJhbnNmZXIgfSBmcm9tICcuLi9kYXRhdHJhbnNmZXIuaW8nO1xyXG5pbXBvcnQgeyBJRGF0YXRyYW5zZmVySXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhdHJhbnNmZXItaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IFRyYW5zZmVyVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL3RyYW5zZmVyLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEd1aWRVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ3VpZC51dGlsJztcclxuaW1wb3J0IHsgQ3J5cHRvU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NyeXB0by5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVwbG9hZGVyIGV4dGVuZHMgSURhdGF0cmFuc2ZlciB7XHJcbiAgICBhc3NpZ25Ccm93c2UoZWxlbWVudDogYW55LCBpc0RpcmVjdG9yeTogYW55KTogdm9pZDtcclxuICAgIGFzc2lnbkRyb3AoZWxlbWVudDogYW55KTogdm9pZDtcclxuICAgIGVkaXRQYXRoKG9sZFBhdGg6IHN0cmluZywgbmV3UGF0aDogc3RyaW5nKTogdm9pZDtcclxuICAgIGVkaXRGaWxlbmFtZShpdGVtOiBJRGF0YXRyYW5zZmVySXRlbSwgbmFtZTogc3RyaW5nKTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VVcGxvYWRlciBleHRlbmRzIEJhc2VEYXRhdHJhbnNmZXIge1xyXG5cclxuICAgIHByaXZhdGUgZmlsZW5hbWVSZWdFeHAgPSBuZXcgUmVnRXhwKCdbXFwvXFxcXFxcXFwqP1wiPD46fF0nKTtcclxuICAgIHByaXZhdGUgcGF0aFJlZ0V4cCA9IG5ldyBSZWdFeHAoJ1sqP1wiPD46fF0nKTtcclxuICAgIHByb3RlY3RlZCB0cmFuc2ZlclR5cGUgPSBUcmFuc2ZlclR5cGUuVXBsb2FkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgZ3VpZFV0aWw6IEd1aWRVdGlsLFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGNyeXB0b1NlcnZpY2U6IENyeXB0b1NlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihsb2dnZXIsIGd1aWRVdGlsLCBjcnlwdG9TZXJ2aWNlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgYXNzaWduQnJvd3NlKGVsZW1lbnQ6IGFueSwgaXNEaXJlY3Rvcnk6IGFueSk6IHZvaWQ7XHJcblxyXG4gICAgcHVibGljIGFic3RyYWN0IGFzc2lnbkRyb3AoZWxlbWVudDogYW55KTogdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgZWRpdFBhdGgob2xkUGF0aDogc3RyaW5nLCBuZXdQYXRoOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5wYXRoUmVnRXhwLnRlc3QobmV3UGF0aCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBIHBhdGggY2Fubm90IGNvbnRhaW4gYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogKiA/IFwiIDwgPiA6IHwnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVkaXRGaWxlbmFtZShpdGVtOiBJRGF0YXRyYW5zZmVySXRlbSwgbmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFpdGVtKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgdGhlIGZpbGVuYW1lLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIW5hbWUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbXB0eSBmaWxlbmFtZSBpcyBub3QgYWxsb3dlZC4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZW5hbWVSZWdFeHAudGVzdChuYW1lKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgZmlsZW5hbWUgY2Fubm90IGNvbnRhaW4gYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogXFxcXCAvICogPyBcIiA8ID4gOiB8Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==