angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
91 lines • 6.16 kB
JavaScript
/**
* @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=