angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
62 lines • 4.84 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 { Injectable } from '@angular/core';
import { BaseExporter } from './base.exporter';
import { LoggerService } from '../../services/logger.service';
import { DatatransferStore } from '../../stores/datatransfer.store';
export class CsvExporter extends BaseExporter {
/**
* @param {?} logger
* @param {?} store
*/
constructor(logger, store) {
super(logger, store);
this.logger = logger;
this.store = store;
}
/**
* @return {?}
*/
export() {
/** @type {?} */
let csvContent = 'name,path,status,size,message\n';
/** @type {?} */
const items = this.store.getItems();
items.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
(item, index) => {
/** @type {?} */
const 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 = () => [
{ type: LoggerService },
{ type: DatatransferStore }
];
if (false) {
/**
* @type {?}
* @protected
*/
CsvExporter.prototype.logger;
/**
* @type {?}
* @protected
*/
CsvExporter.prototype.store;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmV4cG9ydGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1tYXRlcmlhbC1kYXRhdHJhbnNmZXItbGliLyIsInNvdXJjZXMiOlsibGliL2lvL2V4cG9ydGVycy9jc3YuZXhwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHcEUsTUFBTSxPQUFPLFdBQVksU0FBUSxZQUFZOzs7OztJQUV6QyxZQUFzQixNQUFxQixFQUFZLEtBQXdCO1FBQzNFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFESCxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBbUI7SUFFL0UsQ0FBQzs7OztJQUVNLE1BQU07O1lBQ0wsVUFBVSxHQUFHLGlDQUFpQzs7Y0FDNUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ25DLEtBQUssQ0FBQyxPQUFPOzs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFOztrQkFDcEIsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsR0FBRztnQkFDcEgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPO1lBRXZELFVBQVUsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3hFLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDdkUsQ0FBQzs7O1lBbEJKLFVBQVU7Ozs7WUFIRixhQUFhO1lBQ2IsaUJBQWlCOzs7Ozs7O0lBS1YsNkJBQStCOzs7OztJQUFFLDRCQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUV4cG9ydGVyIH0gZnJvbSAnLi9iYXNlLmV4cG9ydGVyJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXRyYW5zZmVyU3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZXMvZGF0YXRyYW5zZmVyLnN0b3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENzdkV4cG9ydGVyIGV4dGVuZHMgQmFzZUV4cG9ydGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcm90ZWN0ZWQgc3RvcmU6IERhdGF0cmFuc2ZlclN0b3JlKSB7XHJcbiAgICAgICAgc3VwZXIobG9nZ2VyLCBzdG9yZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGV4cG9ydCgpOiB2b2lkIHtcclxuICAgICAgICBsZXQgY3N2Q29udGVudCA9ICduYW1lLHBhdGgsc3RhdHVzLHNpemUsbWVzc2FnZVxcbic7XHJcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnN0b3JlLmdldEl0ZW1zKCk7XHJcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbVN0cmluZyA9IGl0ZW0ubmFtZSArICcsJyArIGl0ZW0ucGF0aCArICcsJyArIGl0ZW0uZ2V0U3RhdHVzTmFtZSgpICsgJywnICsgaXRlbS5zaXplQ29udGFpbmVyLmRpc3BsYXlTaXplICsgJyAnICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2l6ZUNvbnRhaW5lci5kaXNwbGF5VW5pdCArICcsJyArIGl0ZW0ubWVzc2FnZTtcclxuXHJcbiAgICAgICAgICAgIGNzdkNvbnRlbnQgKz0gaW5kZXggPCBpdGVtcy5sZW5ndGggPyBpdGVtU3RyaW5nICsgJ1xcbicgOiBpdGVtU3RyaW5nO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRvd25sb2FkKGNzdkNvbnRlbnQsICdleHBvcnQuY3N2JywgJ3RleHQvY3N2O2VuY29kaW5nOnV0Zi04Jyk7XHJcbiAgICB9XHJcbn1cclxuIl19