angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
66 lines • 5.17 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/io/exporters/csv.exporter.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { BaseExporter } from './base.exporter';
import { LoggerService } from '../../services/logger.service';
import { DatatransferStore } from '../../stores/datatransfer.store';
var CsvExporter = /** @class */ (function (_super) {
tslib_1.__extends(CsvExporter, _super);
function CsvExporter(logger, store) {
var _this = _super.call(this, logger, store) || this;
_this.logger = logger;
_this.store = store;
return _this;
}
/**
* @return {?}
*/
CsvExporter.prototype.export = /**
* @return {?}
*/
function () {
/** @type {?} */
var csvContent = 'name,path,status,size,message\n';
/** @type {?} */
var items = this.store.getItems();
items.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
function (item, index) {
/** @type {?} */
var itemString = item.name + ',' + item.path + ',' + item.getStatusName() + ',' + item.sizeContainer.displaySize + ' ' +
item.sizeContainer.displayUnit + ',' + item.message;
csvContent += index < items.length ? itemString + '\n' : itemString;
}));
this.download(csvContent, 'export.csv', 'text/csv;encoding:utf-8');
};
CsvExporter.decorators = [
{ type: Injectable }
];
/** @nocollapse */
CsvExporter.ctorParameters = function () { return [
{ type: LoggerService },
{ type: DatatransferStore }
]; };
return CsvExporter;
}(BaseExporter));
export { CsvExporter };
if (false) {
/**
* @type {?}
* @protected
*/
CsvExporter.prototype.logger;
/**
* @type {?}
* @protected
*/
CsvExporter.prototype.store;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmV4cG9ydGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1tYXRlcmlhbC1kYXRhdHJhbnNmZXItbGliLyIsInNvdXJjZXMiOlsibGliL2lvL2V4cG9ydGVycy9jc3YuZXhwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFO0lBQ2lDLHVDQUFZO0lBRXpDLHFCQUFzQixNQUFxQixFQUFZLEtBQXdCO1FBQS9FLFlBQ0ksa0JBQU0sTUFBTSxFQUFFLEtBQUssQ0FBQyxTQUN2QjtRQUZxQixZQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVksV0FBSyxHQUFMLEtBQUssQ0FBbUI7O0lBRS9FLENBQUM7Ozs7SUFFTSw0QkFBTTs7O0lBQWI7O1lBQ1EsVUFBVSxHQUFHLGlDQUFpQzs7WUFDNUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ25DLEtBQUssQ0FBQyxPQUFPOzs7OztRQUFDLFVBQUMsSUFBSSxFQUFFLEtBQUs7O2dCQUNoQixVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxHQUFHO2dCQUNwSCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU87WUFFdkQsVUFBVSxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDeEUsQ0FBQyxFQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUN2RSxDQUFDOztnQkFsQkosVUFBVTs7OztnQkFIRixhQUFhO2dCQUNiLGlCQUFpQjs7SUFxQjFCLGtCQUFDO0NBQUEsQUFuQkQsQ0FDaUMsWUFBWSxHQWtCNUM7U0FsQlksV0FBVzs7Ozs7O0lBRVIsNkJBQStCOzs7OztJQUFFLDRCQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUV4cG9ydGVyIH0gZnJvbSAnLi9iYXNlLmV4cG9ydGVyJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXRyYW5zZmVyU3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZXMvZGF0YXRyYW5zZmVyLnN0b3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENzdkV4cG9ydGVyIGV4dGVuZHMgQmFzZUV4cG9ydGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcm90ZWN0ZWQgc3RvcmU6IERhdGF0cmFuc2ZlclN0b3JlKSB7XHJcbiAgICAgICAgc3VwZXIobG9nZ2VyLCBzdG9yZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGV4cG9ydCgpOiB2b2lkIHtcclxuICAgICAgICBsZXQgY3N2Q29udGVudCA9ICduYW1lLHBhdGgsc3RhdHVzLHNpemUsbWVzc2FnZVxcbic7XHJcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnN0b3JlLmdldEl0ZW1zKCk7XHJcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbVN0cmluZyA9IGl0ZW0ubmFtZSArICcsJyArIGl0ZW0ucGF0aCArICcsJyArIGl0ZW0uZ2V0U3RhdHVzTmFtZSgpICsgJywnICsgaXRlbS5zaXplQ29udGFpbmVyLmRpc3BsYXlTaXplICsgJyAnICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2l6ZUNvbnRhaW5lci5kaXNwbGF5VW5pdCArICcsJyArIGl0ZW0ubWVzc2FnZTtcclxuXHJcbiAgICAgICAgICAgIGNzdkNvbnRlbnQgKz0gaW5kZXggPCBpdGVtcy5sZW5ndGggPyBpdGVtU3RyaW5nICsgJ1xcbicgOiBpdGVtU3RyaW5nO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRvd25sb2FkKGNzdkNvbnRlbnQsICdleHBvcnQuY3N2JywgJ3RleHQvY3N2O2VuY29kaW5nOnV0Zi04Jyk7XHJcbiAgICB9XHJcbn1cclxuIl19