UNPKG

angular-material-datatransfer-lib

Version:

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

91 lines 6.16 kB
/** * @fileoverview added by tsickle * Generated from: lib/io/exporters/base.exporter.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { LoggerService } from '../../services/logger.service'; import { DatatransferStore } from '../../stores/datatransfer.store'; /** * @record */ export function IExporter() { } if (false) { /** * @return {?} */ IExporter.prototype.export = function () { }; } /** * @abstract */ var BaseExporter = /** @class */ (function () { function BaseExporter(logger, store) { this.logger = logger; this.store = store; } /** * @protected * @param {?} content * @param {?} fileName * @param {?} mimeType * @return {?} */ BaseExporter.prototype.download = /** * @protected * @param {?} content * @param {?} fileName * @param {?} mimeType * @return {?} */ function (content, fileName, mimeType) { /** @type {?} */ var a = document.createElement('a'); mimeType = mimeType || 'application/octet-stream'; if (navigator.msSaveBlob) { // IE10 navigator.msSaveBlob(new Blob([content], { type: mimeType }), fileName); } else if (URL && 'download' in a) { a.href = URL.createObjectURL(new Blob([content], { type: mimeType })); a.setAttribute('download', fileName); document.body.appendChild(a); a.click(); document.body.removeChild(a); } else { location.href = 'data:application/octet-stream,' + encodeURIComponent(content); // only this mime type is supported } }; BaseExporter.decorators = [ { type: Injectable } ]; /** @nocollapse */ BaseExporter.ctorParameters = function () { return [ { type: LoggerService }, { type: DatatransferStore } ]; }; return BaseExporter; }()); export { BaseExporter }; if (false) { /** * @type {?} * @protected */ BaseExporter.prototype.logger; /** * @type {?} * @protected */ BaseExporter.prototype.store; /** * @abstract * @return {?} */ BaseExporter.prototype.export = function () { }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5leHBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbWF0ZXJpYWwtZGF0YXRyYW5zZmVyLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9pby9leHBvcnRlcnMvYmFzZS5leHBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBRXBFLCtCQUVDOzs7OztJQURHLDZDQUFlOzs7OztBQUduQjtJQUdJLHNCQUFzQixNQUFxQixFQUFZLEtBQXdCO1FBQXpELFdBQU0sR0FBTixNQUFNLENBQWU7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtJQUUvRSxDQUFDOzs7Ozs7OztJQUlTLCtCQUFROzs7Ozs7O0lBQWxCLFVBQW1CLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUTs7WUFDdEMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO1FBQ25DLFFBQVEsR0FBRyxRQUFRLElBQUksMEJBQTBCLENBQUM7UUFFbEQsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTztZQUMvQixTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksRUFBRSxRQUFRO2FBQ2pCLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNqQjthQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUU7WUFDL0IsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzdDLElBQUksRUFBRSxRQUFRO2FBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDckMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEM7YUFBTTtZQUNILFFBQVEsQ0FBQyxJQUFJLEdBQUcsZ0NBQWdDLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7U0FDdEg7SUFDTCxDQUFDOztnQkE1QkosVUFBVTs7OztnQkFQRixhQUFhO2dCQUNiLGlCQUFpQjs7SUFvQzFCLG1CQUFDO0NBQUEsQUE5QkQsSUE4QkM7U0E3QnFCLFlBQVk7Ozs7OztJQUVsQiw4QkFBK0I7Ozs7O0lBQUUsNkJBQWtDOzs7OztJQUkvRSxnREFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGF0cmFuc2ZlclN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmVzL2RhdGF0cmFuc2Zlci5zdG9yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElFeHBvcnRlciB7XHJcbiAgICBleHBvcnQoKTogdm9pZDtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUV4cG9ydGVyIGltcGxlbWVudHMgSUV4cG9ydGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcm90ZWN0ZWQgc3RvcmU6IERhdGF0cmFuc2ZlclN0b3JlKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBleHBvcnQoKTogdm9pZDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZG93bmxvYWQoY29udGVudCwgZmlsZU5hbWUsIG1pbWVUeXBlKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgbWltZVR5cGUgPSBtaW1lVHlwZSB8fCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcclxuXHJcbiAgICAgICAgaWYgKG5hdmlnYXRvci5tc1NhdmVCbG9iKSB7IC8vIElFMTBcclxuICAgICAgICAgICAgbmF2aWdhdG9yLm1zU2F2ZUJsb2IobmV3IEJsb2IoW2NvbnRlbnRdLCB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBtaW1lVHlwZVxyXG4gICAgICAgICAgICB9KSwgZmlsZU5hbWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoVVJMICYmICdkb3dubG9hZCcgaW4gYSkge1xyXG4gICAgICAgICAgICBhLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtjb250ZW50XSwge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogbWltZVR5cGVcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICBhLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSk7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XHJcbiAgICAgICAgICAgIGEuY2xpY2soKTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsb2NhdGlvbi5ocmVmID0gJ2RhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtLCcgKyBlbmNvZGVVUklDb21wb25lbnQoY29udGVudCk7IC8vIG9ubHkgdGhpcyBtaW1lIHR5cGUgaXMgc3VwcG9ydGVkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=