UNPKG

angular-material-datatransfer-lib

Version:

A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.

143 lines 8.3 kB
/** * @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==