UNPKG

angular-material-datatransfer-lib

Version:

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

62 lines 4.84 kB
/** * @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