UNPKG

angular-material-datatransfer-lib

Version:

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

127 lines 7.8 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 { 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