angular-material-datatransfer-lib
Version:
A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.
58 lines • 3.88 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/services/export.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { CsvExporter } from '../io/exporters/csv.exporter';
import { JsonExporter } from '../io/exporters/json.exporter';
import { ExportType } from '../enums/export-type.enum';
export class ExportService {
/**
* @param {?} csvExporter
* @param {?} jsonExporter
*/
constructor(csvExporter, jsonExporter) {
this.csvExporter = csvExporter;
this.jsonExporter = jsonExporter;
}
/**
* @param {?} exportType
* @return {?}
*/
export(exportType) {
/** @type {?} */
let castedExportType = ExportType[exportType];
switch (castedExportType) {
case ExportType.CSV:
this.csvExporter.export();
break;
case ExportType.JSON:
this.jsonExporter.export();
break;
default:
break;
}
}
}
ExportService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
ExportService.ctorParameters = () => [
{ type: CsvExporter },
{ type: JsonExporter }
];
if (false) {
/**
* @type {?}
* @private
*/
ExportService.prototype.csvExporter;
/**
* @type {?}
* @private
*/
ExportService.prototype.jsonExporter;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW1hdGVyaWFsLWRhdGF0cmFuc2Zlci1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZXhwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3ZELE1BQU0sT0FBTyxhQUFhOzs7OztJQUV0QixZQUFvQixXQUF3QixFQUFVLFlBQTBCO1FBQTVELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7SUFFaEYsQ0FBQzs7Ozs7SUFFTSxNQUFNLENBQUMsVUFBa0I7O1lBQ3hCLGdCQUFnQixHQUFlLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekQsUUFBUSxnQkFBZ0IsRUFBRTtZQUN0QixLQUFLLFVBQVUsQ0FBQyxHQUFHO2dCQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzFCLE1BQU07WUFDVixLQUFLLFVBQVUsQ0FBQyxJQUFJO2dCQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixNQUFNO1lBQ1Y7Z0JBQ0ksTUFBTTtTQUNiO0lBQ0wsQ0FBQzs7O1lBbkJKLFVBQVU7Ozs7WUFKRixXQUFXO1lBQ1gsWUFBWTs7Ozs7OztJQU1MLG9DQUFnQzs7Ozs7SUFBRSxxQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDc3ZFeHBvcnRlciB9IGZyb20gJy4uL2lvL2V4cG9ydGVycy9jc3YuZXhwb3J0ZXInO1xyXG5pbXBvcnQgeyBKc29uRXhwb3J0ZXIgfSBmcm9tICcuLi9pby9leHBvcnRlcnMvanNvbi5leHBvcnRlcic7XHJcbmltcG9ydCB7IEV4cG9ydFR5cGUgfSBmcm9tICcuLi9lbnVtcy9leHBvcnQtdHlwZS5lbnVtJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEV4cG9ydFNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3N2RXhwb3J0ZXI6IENzdkV4cG9ydGVyLCBwcml2YXRlIGpzb25FeHBvcnRlcjogSnNvbkV4cG9ydGVyKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBleHBvcnQoZXhwb3J0VHlwZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IGNhc3RlZEV4cG9ydFR5cGU6IEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlW2V4cG9ydFR5cGVdO1xyXG4gICAgICAgIHN3aXRjaCAoY2FzdGVkRXhwb3J0VHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEV4cG9ydFR5cGUuQ1NWOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jc3ZFeHBvcnRlci5leHBvcnQoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIEV4cG9ydFR5cGUuSlNPTjpcclxuICAgICAgICAgICAgICAgIHRoaXMuanNvbkV4cG9ydGVyLmV4cG9ydCgpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==