@dbg-riskit/angular-file 18.1.0 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/fesm2022/dbg-riskit-angular-file.mjs +124 -157
  2. package/fesm2022/dbg-riskit-angular-file.mjs.map +1 -1
  3. package/index.d.ts +175 -5
  4. package/package.json +10 -13
  5. package/esm2022/dbg-riskit-angular-file.mjs +0 -5
  6. package/esm2022/lib/abstract.file.download.directive.mjs +0 -139
  7. package/esm2022/lib/abstract.file.upload.component.mjs +0 -100
  8. package/esm2022/lib/binary.file.upload.component.mjs +0 -25
  9. package/esm2022/lib/binary.file.upload.service.mjs +0 -41
  10. package/esm2022/lib/csv.file.download.directive.mjs +0 -83
  11. package/esm2022/lib/csv.file.upload.component.mjs +0 -47
  12. package/esm2022/lib/csv.file.upload.service.mjs +0 -109
  13. package/esm2022/lib/download.menu.component.mjs +0 -34
  14. package/esm2022/lib/file.download.directive.mjs +0 -53
  15. package/esm2022/lib/file.module.mjs +0 -76
  16. package/esm2022/lib/file.size.pipe.mjs +0 -34
  17. package/esm2022/lib/file.types.mjs +0 -2
  18. package/esm2022/lib/text.file.upload.component.mjs +0 -26
  19. package/esm2022/lib/text.file.upload.service.mjs +0 -41
  20. package/esm2022/public_api.mjs +0 -15
  21. package/lib/abstract.file.download.directive.d.ts +0 -29
  22. package/lib/abstract.file.upload.component.d.ts +0 -32
  23. package/lib/binary.file.upload.component.d.ts +0 -13
  24. package/lib/binary.file.upload.service.d.ts +0 -8
  25. package/lib/csv.file.download.directive.d.ts +0 -22
  26. package/lib/csv.file.upload.component.d.ts +0 -15
  27. package/lib/csv.file.upload.service.d.ts +0 -9
  28. package/lib/download.menu.component.d.ts +0 -13
  29. package/lib/file.download.directive.d.ts +0 -17
  30. package/lib/file.module.d.ts +0 -16
  31. package/lib/file.size.pipe.d.ts +0 -13
  32. package/lib/file.types.d.ts +0 -32
  33. package/lib/text.file.upload.component.d.ts +0 -13
  34. package/lib/text.file.upload.service.d.ts +0 -8
  35. package/public_api.d.ts +0 -14
@@ -1,109 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { toString } from '@dbg-riskit/common';
3
- import { forkJoin, Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- // Create a regular expression to parse the CSV values.
6
- const CSV_FILE_PATTERN = new RegExp((
7
- // Delimiters.
8
- '([,;]|\\r?\\n|\\r|^)' +
9
- // Quoted fields.
10
- '(?:"([^"]*(?:""[^"]*)*)"|' +
11
- // Standard fields.
12
- '([^",;\\r\\n]*))'), 'gi');
13
- export class CSVFileUploadService {
14
- readFiles(files, nameMapper = (name) => name) {
15
- const fileOservables = [];
16
- for (const file of Array.from(files)) {
17
- fileOservables.push(new Observable((observer) => {
18
- setTimeout(() => {
19
- try {
20
- const reader = new FileReader();
21
- // Handle errors load
22
- reader.onload = (event) => {
23
- observer.next(CSVFileUploadService.getCSVFile(toString(event.target.result), file, nameMapper));
24
- observer.complete();
25
- };
26
- reader.onerror = (event) => {
27
- observer.error(event.target.error);
28
- };
29
- // Read file into memory as UTF-8
30
- reader.readAsText(file);
31
- }
32
- catch (err) {
33
- observer.error(err);
34
- }
35
- });
36
- }));
37
- }
38
- return forkJoin(fileOservables);
39
- }
40
- static getCSVFile(content, file, nameMapper, startFromRow) {
41
- // Create an array to hold our data. Give the array
42
- // a default empty first row.
43
- let arrData = [[]];
44
- // Create an array to hold our individual pattern
45
- // matching groups.
46
- // Keep looping over the regular expression matches
47
- // until we can no longer find a match.
48
- while (true) {
49
- const arrMatches = CSV_FILE_PATTERN.exec(content);
50
- if (arrMatches == null) {
51
- break;
52
- }
53
- // Get the delimiter that was found.
54
- const strMatchedDelimiter = arrMatches[1];
55
- // Check to see if the given delimiter has a length
56
- // (is not the start of string) and if it matches
57
- // field delimiter. If id does not, then we know
58
- // that this delimiter is a row delimiter.
59
- if (strMatchedDelimiter.length && strMatchedDelimiter !== ',' && strMatchedDelimiter !== ';') {
60
- // Since we have reached a new row of data,
61
- // add an empty row to our data array.
62
- arrData.push([]);
63
- }
64
- let strMatchedValue;
65
- // Now that we have our delimiter out of the way,
66
- // let's check to see which kind of value we
67
- // captured (quoted or unquoted).
68
- if (arrMatches[2]) {
69
- // We found a quoted value. When we capture
70
- // this value, unescape any double quotes.
71
- strMatchedValue = arrMatches[2].replace(new RegExp('""', 'g'), '"');
72
- }
73
- else {
74
- // We found a non-quoted value.
75
- strMatchedValue = arrMatches[3];
76
- }
77
- // Now that we have our value string, let's add
78
- // it to the data array.
79
- arrData[arrData.length - 1].push(strMatchedValue);
80
- }
81
- // Filter out empty rows
82
- arrData = arrData.filter((dataRow) => {
83
- return dataRow.some((item) => item != null && item.trim() !== '');
84
- });
85
- // Return the parsed data.
86
- const fromRow = startFromRow ? startFromRow : 0;
87
- return {
88
- header: arrData[fromRow],
89
- body: arrData.slice(fromRow + 1).map((dataRow) => {
90
- const row = {};
91
- for (let i = 0; i < arrData[fromRow].length; i++) {
92
- row[nameMapper(arrData[fromRow][i])] = dataRow[i];
93
- }
94
- return row;
95
- }),
96
- file: {
97
- name: file.name,
98
- size: file.size,
99
- type: file.type
100
- }
101
- };
102
- }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CSVFileUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
104
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CSVFileUploadService }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CSVFileUploadService, decorators: [{
107
- type: Injectable
108
- }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmZpbGUudXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLWZpbGUvc3JjL2xpYi9jc3YuZmlsZS51cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBYSxNQUFNLE1BQU0sQ0FBQzs7QUFHdEQsdURBQXVEO0FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxNQUFNLENBQy9CO0FBQ0ksY0FBYztBQUNkLHNCQUFzQjtJQUV0QixpQkFBaUI7SUFDakIsMkJBQTJCO0lBRTNCLG1CQUFtQjtJQUNuQixrQkFBa0IsQ0FDckIsRUFDRCxJQUFJLENBQ1AsQ0FBQztBQUdGLE1BQU0sT0FBTyxvQkFBb0I7SUFFdEIsU0FBUyxDQUFDLEtBQWUsRUFBRSxhQUFrQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSTtRQUN0RixNQUFNLGNBQWMsR0FBK0IsRUFBRSxDQUFDO1FBQ3RELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25DLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUE2QixFQUFFLEVBQUU7Z0JBQ2pFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDO3dCQUNELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7d0JBQ2hDLHFCQUFxQjt3QkFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTs0QkFDckMsUUFBUSxDQUFDLElBQUksQ0FDVCxvQkFBb0IsQ0FBQyxVQUFVLENBQzNCLFFBQVEsQ0FBRSxLQUFLLENBQUMsTUFBcUIsQ0FBQyxNQUFNLENBQUMsRUFDN0MsSUFBSSxFQUNKLFVBQVUsQ0FBQyxDQUNsQixDQUFDOzRCQUNGLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDeEIsQ0FBQyxDQUFDO3dCQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7NEJBQ3RDLFFBQVEsQ0FBQyxLQUFLLENBQUUsS0FBSyxDQUFDLE1BQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3ZELENBQUMsQ0FBQzt3QkFDRixpQ0FBaUM7d0JBQ2pDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzVCLENBQUM7b0JBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzt3QkFDWCxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN4QixDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFlLEVBQUUsSUFBVSxFQUFFLFVBQStCLEVBQUUsWUFBcUI7UUFDeEcsbURBQW1EO1FBQ25ELDZCQUE2QjtRQUM3QixJQUFJLE9BQU8sR0FBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9CLGlEQUFpRDtRQUNqRCxtQkFBbUI7UUFFbkIsbURBQW1EO1FBQ25ELHVDQUF1QztRQUN2QyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsQ0FBQztZQUVELG9DQUFvQztZQUNwQyxNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUxQyxtREFBbUQ7WUFDbkQsaURBQWlEO1lBQ2pELGdEQUFnRDtZQUNoRCwwQ0FBMEM7WUFDMUMsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLElBQUksbUJBQW1CLEtBQUssR0FBRyxJQUFJLG1CQUFtQixLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUMzRiwyQ0FBMkM7Z0JBQzNDLHNDQUFzQztnQkFDdEMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixDQUFDO1lBRUQsSUFBSSxlQUFlLENBQUM7WUFFcEIsaURBQWlEO1lBQ2pELDRDQUE0QztZQUM1QyxpQ0FBaUM7WUFDakMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFFaEIsMkNBQTJDO2dCQUMzQywwQ0FBMEM7Z0JBQzFDLGVBQWUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNuQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQ3JCLEdBQUcsQ0FDTixDQUFDO1lBRU4sQ0FBQztpQkFBTSxDQUFDO2dCQUVKLCtCQUErQjtnQkFDL0IsZUFBZSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwQyxDQUFDO1lBRUQsK0NBQStDO1lBQy9DLHdCQUF3QjtZQUN4QixPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELHdCQUF3QjtRQUN4QixPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtZQUMzQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO1FBRUgsMEJBQTBCO1FBQzFCLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTztZQUNILE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3hCLElBQUksRUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUU7Z0JBQ3pELE1BQU0sR0FBRyxHQUE4QixFQUFFLENBQUM7Z0JBQzFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQy9DLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELENBQUM7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDZixDQUFDLENBQUM7WUFDRixJQUFJLEVBQUk7Z0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDbEI7U0FDSixDQUFDO0lBQ04sQ0FBQzsrR0E5R1Esb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1N0cmluZ30gZnJvbSAnQGRiZy1yaXNraXQvY29tbW9uJztcbmltcG9ydCB7Zm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YnNjcmliZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDU1ZDb2x1bW5OYW1lTWFwcGVyLCBDU1ZGaWxlfSBmcm9tICcuL2ZpbGUudHlwZXMnO1xuXG4vLyBDcmVhdGUgYSByZWd1bGFyIGV4cHJlc3Npb24gdG8gcGFyc2UgdGhlIENTViB2YWx1ZXMuXG5jb25zdCBDU1ZfRklMRV9QQVRURVJOID0gbmV3IFJlZ0V4cChcbiAgICAoXG4gICAgICAgIC8vIERlbGltaXRlcnMuXG4gICAgICAgICcoWyw7XXxcXFxccj9cXFxcbnxcXFxccnxeKScgK1xuXG4gICAgICAgIC8vIFF1b3RlZCBmaWVsZHMuXG4gICAgICAgICcoPzpcIihbXlwiXSooPzpcIlwiW15cIl0qKSopXCJ8JyArXG5cbiAgICAgICAgLy8gU3RhbmRhcmQgZmllbGRzLlxuICAgICAgICAnKFteXCIsO1xcXFxyXFxcXG5dKikpJ1xuICAgICksXG4gICAgJ2dpJ1xuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENTVkZpbGVVcGxvYWRTZXJ2aWNlIHtcblxuICAgIHB1YmxpYyByZWFkRmlsZXMoZmlsZXM6IEZpbGVMaXN0LCBuYW1lTWFwcGVyOiBDU1ZDb2x1bW5OYW1lTWFwcGVyID0gKG5hbWU6IHN0cmluZykgPT4gbmFtZSk6IE9ic2VydmFibGU8Q1NWRmlsZVtdPiB7XG4gICAgICAgIGNvbnN0IGZpbGVPc2VydmFibGVzOiBBcnJheTxPYnNlcnZhYmxlPENTVkZpbGU+PiA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgQXJyYXkuZnJvbShmaWxlcykpIHtcbiAgICAgICAgICAgIGZpbGVPc2VydmFibGVzLnB1c2gobmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBTdWJzY3JpYmVyPENTVkZpbGU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlIGVycm9ycyBsb2FkXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBQcm9ncmVzc0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NWRmlsZVVwbG9hZFNlcnZpY2UuZ2V0Q1NWRmlsZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nKChldmVudC50YXJnZXQgYXMgRmlsZVJlYWRlcikucmVzdWx0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lTWFwcGVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIub25lcnJvciA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKChldmVudC50YXJnZXQgYXMgRmlsZVJlYWRlcikuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlYWQgZmlsZSBpbnRvIG1lbW9yeSBhcyBVVEYtOFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3JrSm9pbihmaWxlT3NlcnZhYmxlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRDU1ZGaWxlKGNvbnRlbnQ6IHN0cmluZywgZmlsZTogRmlsZSwgbmFtZU1hcHBlcjogQ1NWQ29sdW1uTmFtZU1hcHBlciwgc3RhcnRGcm9tUm93PzogbnVtYmVyKTogQ1NWRmlsZSB7XG4gICAgICAgIC8vIENyZWF0ZSBhbiBhcnJheSB0byBob2xkIG91ciBkYXRhLiBHaXZlIHRoZSBhcnJheVxuICAgICAgICAvLyBhIGRlZmF1bHQgZW1wdHkgZmlyc3Qgcm93LlxuICAgICAgICBsZXQgYXJyRGF0YTogc3RyaW5nW11bXSA9IFtbXV07XG5cbiAgICAgICAgLy8gQ3JlYXRlIGFuIGFycmF5IHRvIGhvbGQgb3VyIGluZGl2aWR1YWwgcGF0dGVyblxuICAgICAgICAvLyBtYXRjaGluZyBncm91cHMuXG5cbiAgICAgICAgLy8gS2VlcCBsb29waW5nIG92ZXIgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGVzXG4gICAgICAgIC8vIHVudGlsIHdlIGNhbiBubyBsb25nZXIgZmluZCBhIG1hdGNoLlxuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgY29uc3QgYXJyTWF0Y2hlcyA9IENTVl9GSUxFX1BBVFRFUk4uZXhlYyhjb250ZW50KTtcbiAgICAgICAgICAgIGlmIChhcnJNYXRjaGVzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gR2V0IHRoZSBkZWxpbWl0ZXIgdGhhdCB3YXMgZm91bmQuXG4gICAgICAgICAgICBjb25zdCBzdHJNYXRjaGVkRGVsaW1pdGVyID0gYXJyTWF0Y2hlc1sxXTtcblxuICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBnaXZlbiBkZWxpbWl0ZXIgaGFzIGEgbGVuZ3RoXG4gICAgICAgICAgICAvLyAoaXMgbm90IHRoZSBzdGFydCBvZiBzdHJpbmcpIGFuZCBpZiBpdCBtYXRjaGVzXG4gICAgICAgICAgICAvLyBmaWVsZCBkZWxpbWl0ZXIuIElmIGlkIGRvZXMgbm90LCB0aGVuIHdlIGtub3dcbiAgICAgICAgICAgIC8vIHRoYXQgdGhpcyBkZWxpbWl0ZXIgaXMgYSByb3cgZGVsaW1pdGVyLlxuICAgICAgICAgICAgaWYgKHN0ck1hdGNoZWREZWxpbWl0ZXIubGVuZ3RoICYmIHN0ck1hdGNoZWREZWxpbWl0ZXIgIT09ICcsJyAmJiBzdHJNYXRjaGVkRGVsaW1pdGVyICE9PSAnOycpIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSBoYXZlIHJlYWNoZWQgYSBuZXcgcm93IG9mIGRhdGEsXG4gICAgICAgICAgICAgICAgLy8gYWRkIGFuIGVtcHR5IHJvdyB0byBvdXIgZGF0YSBhcnJheS5cbiAgICAgICAgICAgICAgICBhcnJEYXRhLnB1c2goW10pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgc3RyTWF0Y2hlZFZhbHVlO1xuXG4gICAgICAgICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIG91ciBkZWxpbWl0ZXIgb3V0IG9mIHRoZSB3YXksXG4gICAgICAgICAgICAvLyBsZXQncyBjaGVjayB0byBzZWUgd2hpY2gga2luZCBvZiB2YWx1ZSB3ZVxuICAgICAgICAgICAgLy8gY2FwdHVyZWQgKHF1b3RlZCBvciB1bnF1b3RlZCkuXG4gICAgICAgICAgICBpZiAoYXJyTWF0Y2hlc1syXSkge1xuXG4gICAgICAgICAgICAgICAgLy8gV2UgZm91bmQgYSBxdW90ZWQgdmFsdWUuIFdoZW4gd2UgY2FwdHVyZVxuICAgICAgICAgICAgICAgIC8vIHRoaXMgdmFsdWUsIHVuZXNjYXBlIGFueSBkb3VibGUgcXVvdGVzLlxuICAgICAgICAgICAgICAgIHN0ck1hdGNoZWRWYWx1ZSA9IGFyck1hdGNoZXNbMl0ucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgbmV3IFJlZ0V4cCgnXCJcIicsICdnJyksXG4gICAgICAgICAgICAgICAgICAgICdcIidcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgLy8gV2UgZm91bmQgYSBub24tcXVvdGVkIHZhbHVlLlxuICAgICAgICAgICAgICAgIHN0ck1hdGNoZWRWYWx1ZSA9IGFyck1hdGNoZXNbM107XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBvdXIgdmFsdWUgc3RyaW5nLCBsZXQncyBhZGRcbiAgICAgICAgICAgIC8vIGl0IHRvIHRoZSBkYXRhIGFycmF5LlxuICAgICAgICAgICAgYXJyRGF0YVthcnJEYXRhLmxlbmd0aCAtIDFdLnB1c2goc3RyTWF0Y2hlZFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpbHRlciBvdXQgZW1wdHkgcm93c1xuICAgICAgICBhcnJEYXRhID0gYXJyRGF0YS5maWx0ZXIoKGRhdGFSb3c6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YVJvdy5zb21lKChpdGVtOiBzdHJpbmcpID0+IGl0ZW0gIT0gbnVsbCAmJiBpdGVtLnRyaW0oKSAhPT0gJycpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHBhcnNlZCBkYXRhLlxuICAgICAgICBjb25zdCBmcm9tUm93ID0gc3RhcnRGcm9tUm93ID8gc3RhcnRGcm9tUm93IDogMDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcjogYXJyRGF0YVtmcm9tUm93XSxcbiAgICAgICAgICAgIGJvZHkgIDogYXJyRGF0YS5zbGljZShmcm9tUm93ICsgMSkubWFwKChkYXRhUm93OiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyRGF0YVtmcm9tUm93XS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICByb3dbbmFtZU1hcHBlcihhcnJEYXRhW2Zyb21Sb3ddW2ldKV0gPSBkYXRhUm93W2ldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaWxlICA6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgICAgIHR5cGU6IGZpbGUudHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/button";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/menu";
6
- import * as i4 from "@angular/material/tooltip";
7
- import * as i5 from "./csv.file.download.directive";
8
- export class CSVDownloadMenuComponent {
9
- constructor() {
10
- this.menuLabel = 'Download';
11
- this.disabled = false;
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CSVDownloadMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CSVDownloadMenuComponent, selector: "risk-download-menu", inputs: { menuLabel: "menuLabel", menuTooltip: "menuTooltip", columns: "columns", data: "data", disabled: "disabled", filename: "filename" }, host: { properties: { "class.risk-download-menu": "true" } }, ngImport: i0, template: "<mat-menu #downloadMenu=\"matMenu\"\n [overlapTrigger]=\"false\">\n <a mat-menu-item\n [risk-csv-download]=\"data\"\n [risk-csv-download-columns]=\"columns\"\n [risk-csv-download-filename]=\"filename\"\n [risk-csv-download-crlf]=\"true\">\n As CSV file (Windows)\n </a>\n <a mat-menu-item\n [risk-csv-download]=\"data\"\n [risk-csv-download-columns]=\"columns\"\n [risk-csv-download-filename]=\"filename\">\n As CSV file (Unix)\n </a>\n</mat-menu>\n\n<button mat-button\n #menu=\"matMenuTrigger\"\n [disabled]=\"disabled\"\n [matMenuTriggerFor]=\"downloadMenu\"\n [class.risk-menu-open]=\"menu.menuOpen\"\n [matTooltip]=\"menuTooltip\">\n <mat-icon>file_download</mat-icon>\n {{ menuLabel }}\n</button>\n", styles: [":host{display:block;padding:0;margin:0}:host>*{vertical-align:bottom}\n", ":host{display:inline-block}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.CSVFileDownloadDirective, selector: "[risk-csv-download]", inputs: ["risk-csv-download-columns", "risk-csv-download", "risk-csv-download-filename", "risk-csv-download-crlf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CSVDownloadMenuComponent, decorators: [{
17
- type: Component,
18
- args: [{ selector: 'risk-download-menu', host: {
19
- '[class.risk-download-menu]': 'true'
20
- }, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<mat-menu #downloadMenu=\"matMenu\"\n [overlapTrigger]=\"false\">\n <a mat-menu-item\n [risk-csv-download]=\"data\"\n [risk-csv-download-columns]=\"columns\"\n [risk-csv-download-filename]=\"filename\"\n [risk-csv-download-crlf]=\"true\">\n As CSV file (Windows)\n </a>\n <a mat-menu-item\n [risk-csv-download]=\"data\"\n [risk-csv-download-columns]=\"columns\"\n [risk-csv-download-filename]=\"filename\">\n As CSV file (Unix)\n </a>\n</mat-menu>\n\n<button mat-button\n #menu=\"matMenuTrigger\"\n [disabled]=\"disabled\"\n [matMenuTriggerFor]=\"downloadMenu\"\n [class.risk-menu-open]=\"menu.menuOpen\"\n [matTooltip]=\"menuTooltip\">\n <mat-icon>file_download</mat-icon>\n {{ menuLabel }}\n</button>\n", styles: [":host{display:block;padding:0;margin:0}:host>*{vertical-align:bottom}\n", ":host{display:inline-block}\n"] }]
21
- }], propDecorators: { menuLabel: [{
22
- type: Input
23
- }], menuTooltip: [{
24
- type: Input
25
- }], columns: [{
26
- type: Input
27
- }], data: [{
28
- type: Input
29
- }], disabled: [{
30
- type: Input
31
- }], filename: [{
32
- type: Input
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQubWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLWZpbGUvc3JjL2xpYi9kb3dubG9hZC5tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItZmlsZS9zcmMvbGliL2Rvd25sb2FkLm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFpQnhFLE1BQU0sT0FBTyx3QkFBd0I7SUFickM7UUFnQlcsY0FBUyxHQUFHLFVBQVUsQ0FBQztRQVl2QixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBSTNCOytHQW5CWSx3QkFBd0I7bUdBQXhCLHdCQUF3QixzUUNqQnJDLHd6QkEwQkE7OzRGRFRhLHdCQUF3QjtrQkFicEMsU0FBUzsrQkFDZSxvQkFBb0IsUUFNcEI7d0JBQ2pCLDRCQUE0QixFQUFFLE1BQU07cUJBQ3ZDLG1CQUNvQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUM5QixLQUFLOzhCQUtuQixTQUFTO3NCQURmLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NTVkV4cG9ydENvbHVtbn0gZnJvbSAnLi9maWxlLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3IgICAgICAgICAgIDogJ3Jpc2stZG93bmxvYWQtbWVudScsXG4gICAgdGVtcGxhdGVVcmwgICAgICAgIDogJ2Rvd25sb2FkLm1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJscyAgICAgICAgICA6IFtcbiAgICAgICAgJy4uLy4uLy4uL2NvbXBvbmVudC5zY3NzJyxcbiAgICAgICAgJ2Rvd25sb2FkLm1lbnUuY29tcG9uZW50LnNjc3MnXG4gICAgXSxcbiAgICBob3N0ICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICdbY2xhc3Mucmlzay1kb3dubG9hZC1tZW51XSc6ICd0cnVlJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uICAgIDogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIENTVkRvd25sb2FkTWVudUNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtZW51TGFiZWwgPSAnRG93bmxvYWQnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWVudVRvb2x0aXA/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2x1bW5zPzogQXJyYXk8Q1NWRXhwb3J0Q29sdW1uPHVua25vd24+PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRhdGE/OiB1bmtub3duW10gfCBPYnNlcnZhYmxlPHVua25vd25bXT47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsZW5hbWU/OiBzdHJpbmc7XG59XG4iLCI8bWF0LW1lbnUgI2Rvd25sb2FkTWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgIFtvdmVybGFwVHJpZ2dlcl09XCJmYWxzZVwiPlxuICAgIDxhIG1hdC1tZW51LWl0ZW1cbiAgICAgICBbcmlzay1jc3YtZG93bmxvYWRdPVwiZGF0YVwiXG4gICAgICAgW3Jpc2stY3N2LWRvd25sb2FkLWNvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgW3Jpc2stY3N2LWRvd25sb2FkLWZpbGVuYW1lXT1cImZpbGVuYW1lXCJcbiAgICAgICBbcmlzay1jc3YtZG93bmxvYWQtY3JsZl09XCJ0cnVlXCI+XG4gICAgICAgIEFzIENTViBmaWxlIChXaW5kb3dzKVxuICAgIDwvYT5cbiAgICA8YSBtYXQtbWVudS1pdGVtXG4gICAgICAgW3Jpc2stY3N2LWRvd25sb2FkXT1cImRhdGFcIlxuICAgICAgIFtyaXNrLWNzdi1kb3dubG9hZC1jb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgIFtyaXNrLWNzdi1kb3dubG9hZC1maWxlbmFtZV09XCJmaWxlbmFtZVwiPlxuICAgICAgICBBcyBDU1YgZmlsZSAoVW5peClcbiAgICA8L2E+XG48L21hdC1tZW51PlxuXG48YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgI21lbnU9XCJtYXRNZW51VHJpZ2dlclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJkb3dubG9hZE1lbnVcIlxuICAgICAgICBbY2xhc3Mucmlzay1tZW51LW9wZW5dPVwibWVudS5tZW51T3BlblwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIm1lbnVUb29sdGlwXCI+XG4gICAgPG1hdC1pY29uPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxuICAgIHt7IG1lbnVMYWJlbCB9fVxuPC9idXR0b24+XG4iXX0=
@@ -1,53 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { AbstractFileDownloadDirective } from './abstract.file.download.directive';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@dbg-riskit/angular-view";
5
- import * as i2 from "./file.size.pipe";
6
- import * as i3 from "@dbg-riskit/common";
7
- export class FileDownloadDirective extends AbstractFileDownloadDirective {
8
- constructor(elementRef, dialogService, fileSizePipe, logger) {
9
- super(elementRef, dialogService, fileSizePipe, logger);
10
- }
11
- mapToFile(data) {
12
- const filename = this.filename || 'data.txt';
13
- if (data instanceof Blob) {
14
- return {
15
- content: data,
16
- filename
17
- };
18
- }
19
- if (typeof data === 'object' && 'content' in data && data.content instanceof Blob) {
20
- return {
21
- content: data.content,
22
- filename: data.filename || filename
23
- };
24
- }
25
- const stringData = typeof data === 'string' ? data : JSON.stringify(data);
26
- return {
27
- content: this.createBlob([stringData], { type: this.contentType }),
28
- filename
29
- };
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDownloadDirective, deps: [{ token: i0.ElementRef }, { token: i1.DialogService }, { token: i2.FileSizePipe }, { token: i3.Logger }], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FileDownloadDirective, selector: "[risk-download]", inputs: { data: ["risk-download", "data"], contentType: ["risk-download-content-type", "contentType"], filename: ["risk-download-filename", "filename"] }, host: { listeners: { "click": "download()" }, properties: { "class.risk-download": "true" } }, usesInheritance: true, ngImport: i0 }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDownloadDirective, decorators: [{
35
- type: Directive,
36
- args: [{
37
- selector: '[risk-download]',
38
- host: {
39
- '[class.risk-download]': 'true',
40
- '(click)': 'download()'
41
- }
42
- }]
43
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DialogService }, { type: i2.FileSizePipe }, { type: i3.Logger }], propDecorators: { data: [{
44
- type: Input,
45
- args: ['risk-download']
46
- }], contentType: [{
47
- type: Input,
48
- args: ['risk-download-content-type']
49
- }], filename: [{
50
- type: Input,
51
- args: ['risk-download-filename']
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5kb3dubG9hZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLWZpbGUvc3JjL2xpYi9maWxlLmRvd25sb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUkzRCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFZakYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLDZCQUF1RDtJQWE5RixZQUFtQixVQUFzQixFQUN0QixhQUE0QixFQUM1QixZQUEwQixFQUMxQixNQUFjO1FBQzdCLEtBQUssQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRVMsU0FBUyxDQUFDLElBQThCO1FBQzlDLE1BQU0sUUFBUSxHQUFXLElBQUksQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDO1FBQ3JELElBQUksSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE9BQU87Z0JBQ0gsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsUUFBUTthQUNYLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksU0FBUyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQ2hGLE9BQU87Z0JBQ0gsT0FBTyxFQUFHLElBQUksQ0FBQyxPQUFPO2dCQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRO2FBQ3RDLENBQUM7UUFDTixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBQyxDQUFDO1lBQ2hFLFFBQVE7U0FDWCxDQUFDO0lBQ04sQ0FBQzsrR0F6Q1EscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFNO3dCQUNOLHVCQUF1QixFQUFFLE1BQU07d0JBQy9CLFNBQVMsRUFBZ0IsWUFBWTtxQkFDeEM7aUJBQ0o7MkpBSVUsSUFBSTtzQkFEVixLQUFLO3VCQUFDLGVBQWU7Z0JBTWYsV0FBVztzQkFEakIsS0FBSzt1QkFBQyw0QkFBNEI7Z0JBSTVCLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tICdAZGJnLXJpc2tpdC9hbmd1bGFyLXZpZXcnO1xuaW1wb3J0IHtGaWxlV2l0aENvbnRlbnQsIExvZ2dlciwgT2JzZXJ2YWJsZVdpdGhQcm9ncmVzc30gZnJvbSAnQGRiZy1yaXNraXQvY29tbW9uJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Fic3RyYWN0RmlsZURvd25sb2FkRGlyZWN0aXZlfSBmcm9tICcuL2Fic3RyYWN0LmZpbGUuZG93bmxvYWQuZGlyZWN0aXZlJztcbmltcG9ydCB7RmlsZVNpemVQaXBlfSBmcm9tICcuL2ZpbGUuc2l6ZS5waXBlJztcblxuZXhwb3J0IHR5cGUgU3VwcG9ydGVkRG93bmxvYWRGb3JtYXRzID0gRmlsZVdpdGhDb250ZW50IHwgQmxvYiB8IG9iamVjdCB8IHN0cmluZztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmlzay1kb3dubG9hZF0nLFxuICAgIGhvc3QgICAgOiB7XG4gICAgICAgICdbY2xhc3Mucmlzay1kb3dubG9hZF0nOiAndHJ1ZScsXG4gICAgICAgICcoY2xpY2spJyAgICAgICAgICAgICAgOiAnZG93bmxvYWQoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEZpbGVEb3dubG9hZERpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0RmlsZURvd25sb2FkRGlyZWN0aXZlPFN1cHBvcnRlZERvd25sb2FkRm9ybWF0cz4ge1xuXG4gICAgQElucHV0KCdyaXNrLWRvd25sb2FkJylcbiAgICBwdWJsaWMgZGF0YT86IE9ic2VydmFibGVXaXRoUHJvZ3Jlc3M8U3VwcG9ydGVkRG93bmxvYWRGb3JtYXRzPlxuICAgICAgICB8IE9ic2VydmFibGU8U3VwcG9ydGVkRG93bmxvYWRGb3JtYXRzPlxuICAgICAgICB8IFN1cHBvcnRlZERvd25sb2FkRm9ybWF0cztcblxuICAgIEBJbnB1dCgncmlzay1kb3dubG9hZC1jb250ZW50LXR5cGUnKVxuICAgIHB1YmxpYyBjb250ZW50VHlwZT86IHN0cmluZztcblxuICAgIEBJbnB1dCgncmlzay1kb3dubG9hZC1maWxlbmFtZScpXG4gICAgcHVibGljIGZpbGVuYW1lPzogc3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgICAgICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgIGZpbGVTaXplUGlwZTogRmlsZVNpemVQaXBlLFxuICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXI6IExvZ2dlcikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBkaWFsb2dTZXJ2aWNlLCBmaWxlU2l6ZVBpcGUsIGxvZ2dlcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1hcFRvRmlsZShkYXRhOiBTdXBwb3J0ZWREb3dubG9hZEZvcm1hdHMpOiBGaWxlV2l0aENvbnRlbnQge1xuICAgICAgICBjb25zdCBmaWxlbmFtZTogc3RyaW5nID0gdGhpcy5maWxlbmFtZSB8fCAnZGF0YS50eHQnO1xuICAgICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29udGVudDogZGF0YSxcbiAgICAgICAgICAgICAgICBmaWxlbmFtZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgJ2NvbnRlbnQnIGluIGRhdGEgJiYgZGF0YS5jb250ZW50IGluc3RhbmNlb2YgQmxvYikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb250ZW50IDogZGF0YS5jb250ZW50LFxuICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBkYXRhLmZpbGVuYW1lIHx8IGZpbGVuYW1lXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RyaW5nRGF0YSA9IHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJyA/IGRhdGEgOiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuY3JlYXRlQmxvYihbc3RyaW5nRGF0YV0sIHt0eXBlOiB0aGlzLmNvbnRlbnRUeXBlfSksXG4gICAgICAgICAgICBmaWxlbmFtZVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,76 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { LoggingModule } from '@dbg-riskit/angular-logging';
4
- import { CommonViewModule } from '@dbg-riskit/angular-view';
5
- import { BinaryFileUploadComponent } from './binary.file.upload.component';
6
- import { BinaryFileUploadService } from './binary.file.upload.service';
7
- import { CSVFileDownloadDirective } from './csv.file.download.directive';
8
- import { CSVFileUploadComponent } from './csv.file.upload.component';
9
- import { CSVFileUploadService } from './csv.file.upload.service';
10
- import { CSVDownloadMenuComponent } from './download.menu.component';
11
- import { FileDownloadDirective } from './file.download.directive';
12
- import { FileSizePipe } from './file.size.pipe';
13
- import { TextFileUploadComponent } from './text.file.upload.component';
14
- import { TextFileUploadService } from './text.file.upload.service';
15
- import * as i0 from "@angular/core";
16
- export class FileModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FileModule, declarations: [BinaryFileUploadComponent,
19
- CSVFileUploadComponent,
20
- TextFileUploadComponent,
21
- CSVFileDownloadDirective,
22
- CSVDownloadMenuComponent,
23
- FileDownloadDirective,
24
- FileSizePipe], imports: [CommonModule,
25
- CommonViewModule,
26
- LoggingModule], exports: [BinaryFileUploadComponent,
27
- CSVFileUploadComponent,
28
- TextFileUploadComponent,
29
- CSVFileDownloadDirective,
30
- CSVDownloadMenuComponent,
31
- FileDownloadDirective,
32
- FileSizePipe] }); }
33
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileModule, providers: [
34
- BinaryFileUploadService,
35
- CSVFileUploadService,
36
- TextFileUploadService,
37
- FileSizePipe
38
- ], imports: [CommonModule,
39
- CommonViewModule,
40
- LoggingModule] }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileModule, decorators: [{
43
- type: NgModule,
44
- args: [{
45
- imports: [
46
- CommonModule,
47
- CommonViewModule,
48
- LoggingModule
49
- ],
50
- declarations: [
51
- BinaryFileUploadComponent,
52
- CSVFileUploadComponent,
53
- TextFileUploadComponent,
54
- CSVFileDownloadDirective,
55
- CSVDownloadMenuComponent,
56
- FileDownloadDirective,
57
- FileSizePipe
58
- ],
59
- exports: [
60
- BinaryFileUploadComponent,
61
- CSVFileUploadComponent,
62
- TextFileUploadComponent,
63
- CSVFileDownloadDirective,
64
- CSVDownloadMenuComponent,
65
- FileDownloadDirective,
66
- FileSizePipe
67
- ],
68
- providers: [
69
- BinaryFileUploadService,
70
- CSVFileUploadService,
71
- TextFileUploadService,
72
- FileSizePipe
73
- ]
74
- }]
75
- }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLWZpbGUvc3JjL2xpYi9maWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOztBQWlDakUsTUFBTSxPQUFPLFVBQVU7K0dBQVYsVUFBVTtnSEFBVixVQUFVLGlCQXhCZix5QkFBeUI7WUFDekIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixZQUFZLGFBWFosWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixhQUFhLGFBWWIseUJBQXlCO1lBQ3pCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLHdCQUF3QjtZQUN4QixxQkFBcUI7WUFDckIsWUFBWTtnSEFTUCxVQUFVLGFBUEw7WUFDVix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixZQUFZO1NBQ2YsWUEzQkcsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixhQUFhOzs0RkEyQlIsVUFBVTtrQkEvQnRCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFPO3dCQUNWLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixhQUFhO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQU87d0JBQ1YseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsWUFBWTtxQkFDZjtvQkFDRCxTQUFTLEVBQUs7d0JBQ1YsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsWUFBWTtxQkFDZjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dpbmdNb2R1bGV9IGZyb20gJ0BkYmctcmlza2l0L2FuZ3VsYXItbG9nZ2luZyc7XG5pbXBvcnQge0NvbW1vblZpZXdNb2R1bGV9IGZyb20gJ0BkYmctcmlza2l0L2FuZ3VsYXItdmlldyc7XG5pbXBvcnQge0JpbmFyeUZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gJy4vYmluYXJ5LmZpbGUudXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQge0JpbmFyeUZpbGVVcGxvYWRTZXJ2aWNlfSBmcm9tICcuL2JpbmFyeS5maWxlLnVwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7Q1NWRmlsZURvd25sb2FkRGlyZWN0aXZlfSBmcm9tICcuL2Nzdi5maWxlLmRvd25sb2FkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0NTVkZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gJy4vY3N2LmZpbGUudXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQge0NTVkZpbGVVcGxvYWRTZXJ2aWNlfSBmcm9tICcuL2Nzdi5maWxlLnVwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7Q1NWRG93bmxvYWRNZW51Q29tcG9uZW50fSBmcm9tICcuL2Rvd25sb2FkLm1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7RmlsZURvd25sb2FkRGlyZWN0aXZlfSBmcm9tICcuL2ZpbGUuZG93bmxvYWQuZGlyZWN0aXZlJztcbmltcG9ydCB7RmlsZVNpemVQaXBlfSBmcm9tICcuL2ZpbGUuc2l6ZS5waXBlJztcbmltcG9ydCB7VGV4dEZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gJy4vdGV4dC5maWxlLnVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0RmlsZVVwbG9hZFNlcnZpY2V9IGZyb20gJy4vdGV4dC5maWxlLnVwbG9hZC5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzICAgICA6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBDb21tb25WaWV3TW9kdWxlLFxuICAgICAgICBMb2dnaW5nTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQmluYXJ5RmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICAgICAgQ1NWRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIENTVkZpbGVEb3dubG9hZERpcmVjdGl2ZSxcbiAgICAgICAgQ1NWRG93bmxvYWRNZW51Q29tcG9uZW50LFxuICAgICAgICBGaWxlRG93bmxvYWREaXJlY3RpdmUsXG4gICAgICAgIEZpbGVTaXplUGlwZVxuICAgIF0sXG4gICAgZXhwb3J0cyAgICAgOiBbXG4gICAgICAgIEJpbmFyeUZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIENTVkZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIFRleHRGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgICAgICBDU1ZGaWxlRG93bmxvYWREaXJlY3RpdmUsXG4gICAgICAgIENTVkRvd25sb2FkTWVudUNvbXBvbmVudCxcbiAgICAgICAgRmlsZURvd25sb2FkRGlyZWN0aXZlLFxuICAgICAgICBGaWxlU2l6ZVBpcGVcbiAgICBdLFxuICAgIHByb3ZpZGVycyAgIDogW1xuICAgICAgICBCaW5hcnlGaWxlVXBsb2FkU2VydmljZSxcbiAgICAgICAgQ1NWRmlsZVVwbG9hZFNlcnZpY2UsXG4gICAgICAgIFRleHRGaWxlVXBsb2FkU2VydmljZSxcbiAgICAgICAgRmlsZVNpemVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlTW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class FileSizePipe {
5
- constructor(decimalPipe) {
6
- this.decimalPipe = decimalPipe;
7
- this.base = 1024;
8
- this.powerSuffixes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
9
- }
10
- transform(value) {
11
- if (value == null) {
12
- return '';
13
- }
14
- if (typeof value === 'string') {
15
- value = parseFloat(value);
16
- }
17
- let divider = 1;
18
- let power = 0;
19
- while (value / divider > this.base && power < this.powerSuffixes.length - 1) {
20
- divider *= this.base;
21
- power += 1;
22
- }
23
- const formatted = this.decimalPipe.transform(value / divider, '1.2-2') || '';
24
- const suffix = this.powerSuffixes[power];
25
- return suffix ? `${formatted}${suffix}` : formatted;
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileSizePipe, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
28
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FileSizePipe, name: "riskFileSize" }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileSizePipe, decorators: [{
31
- type: Pipe,
32
- args: [{ name: 'riskFileSize' }]
33
- }], ctorParameters: () => [{ type: i1.DecimalPipe }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLWZpbGUvc3JjL2xpYi9maWxlLnNpemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7O0FBSWxELE1BQU0sT0FBTyxZQUFZO0lBSXJCLFlBQW9DLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSDNDLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixrQkFBYSxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUdyRSxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQTZCO1FBQzFDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLE9BQU8sS0FBSyxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztZQUNyQixLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQzsrR0EzQlEsWUFBWTs2R0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDE3IFRoZSBLdWJlcm5ldGVzIEF1dGhvcnMuXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbi8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbi8vXG4vLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4vLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4vLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbi8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbi8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQge0RlY2ltYWxQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF5YmV9IGZyb20gJ0BkYmctcmlza2l0L2NvbW1vbic7XG5cbkBQaXBlKHtuYW1lOiAncmlza0ZpbGVTaXplJ30pXG5leHBvcnQgY2xhc3MgRmlsZVNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBiYXNlID0gMTAyNDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvd2VyU3VmZml4ZXMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSkge1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IE1heWJlPG51bWJlciB8IHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGl2aWRlciA9IDE7XG4gICAgICAgIGxldCBwb3dlciA9IDA7XG5cbiAgICAgICAgd2hpbGUgKHZhbHVlIC8gZGl2aWRlciA+IHRoaXMuYmFzZSAmJiBwb3dlciA8IHRoaXMucG93ZXJTdWZmaXhlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICBkaXZpZGVyICo9IHRoaXMuYmFzZTtcbiAgICAgICAgICAgIHBvd2VyICs9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSAvIGRpdmlkZXIsICcxLjItMicpIHx8ICcnO1xuICAgICAgICBjb25zdCBzdWZmaXggPSB0aGlzLnBvd2VyU3VmZml4ZXNbcG93ZXJdO1xuICAgICAgICByZXR1cm4gc3VmZml4ID8gYCR7Zm9ybWF0dGVkfSR7c3VmZml4fWAgOiBmb3JtYXR0ZWQ7XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItZmlsZS9zcmMvbGliL2ZpbGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VmFsdWVHZXR0ZXJ9IGZyb20gJ0BkYmctcmlza2l0L2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNpemU6IG51bWJlcjtcbiAgICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgcmVzdWx0OiBib29sZWFuO1xuICAgIG1lc3NhZ2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIENTVlZhbGlkYXRvciA9IChmaWxlOiBDU1ZGaWxlKSA9PiBWYWxpZGF0aW9uUmVzdWx0O1xuXG5leHBvcnQgdHlwZSBDU1ZDb2x1bW5OYW1lTWFwcGVyID0gKG5hbWU6IHN0cmluZykgPT4gc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENTVlJvdyB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENTVkV4cG9ydENvbHVtbjxUPiB7XG4gICAgZ2V0OiBWYWx1ZUdldHRlcjxUPjtcbiAgICBoZWFkZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRmlsZSB7XG4gICAgZmlsZTogRmlsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDU1ZGaWxlIGV4dGVuZHMgSUZpbGUge1xuICAgIGhlYWRlcjogc3RyaW5nW107XG4gICAgYm9keTogQ1NWUm93W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEZpbGUgZXh0ZW5kcyBJRmlsZSB7XG4gICAgYm9keTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpbmFyeUZpbGUgZXh0ZW5kcyBJRmlsZSB7XG4gICAgYm9keUJhc2U2NDogc3RyaW5nO1xufVxuIl19
@@ -1,26 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { AbstractFileUploadComponent } from './abstract.file.upload.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./text.file.upload.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/button";
7
- import * as i4 from "@angular/material/icon";
8
- export class TextFileUploadComponent extends AbstractFileUploadComponent {
9
- constructor(fileUploadService, renderer) {
10
- super(renderer);
11
- this.fileUploadService = fileUploadService;
12
- }
13
- readFiles(fileList) {
14
- return this.fileUploadService
15
- .readFiles(fileList);
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextFileUploadComponent, deps: [{ token: i1.TextFileUploadService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextFileUploadComponent, selector: "risk-text-file-upload", host: { properties: { "class.risk-text-file-upload": "true" } }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"raised; else notRaised\"\n mat-raised-button\n [disabled]=\"disabled\"\n [color]=\"color\"\n (mousemove)=\"move($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n <div #wrapper\n class=\"risk-file-upload-input-wrapper\">\n <input *ngIf=\"!fileInputHidden\" type=\"file\"\n id=\"fileInput\"\n #fileInput\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n title=\"\"\n (change)=\"handleFiles($event.target.files)\"\n [accept]=\"accept\">\n </div>\n</a>\n<ng-template #notRaised>\n <a mat-button\n [disabled]=\"disabled\"\n [color]=\"color\"\n (mousemove)=\"move($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n <div #wrapper\n class=\"risk-file-upload-input-wrapper\">\n <input *ngIf=\"!fileInputHidden\" type=\"file\"\n id=\"fileInput\"\n #fileInput\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n title=\"\"\n (change)=\"handleFiles($event.target.files)\"\n [accept]=\"accept\">\n </div>\n </a>\n</ng-template>\n", styles: [":host{display:block;padding:0;margin:0}:host>*{vertical-align:bottom}\n", ":host{display:inline-block}a{overflow:hidden}a .risk-file-upload-input-wrapper{width:30px;height:36px;margin-left:-15px;top:0;left:0;position:absolute;overflow:hidden;cursor:pointer;z-index:1}a .risk-file-upload-input-wrapper input{position:absolute;display:block;cursor:pointer;height:36px;font-size:36px;top:0;right:0;outline:0 none;opacity:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextFileUploadComponent, decorators: [{
21
- type: Component,
22
- args: [{ selector: 'risk-text-file-upload', host: {
23
- '[class.risk-text-file-upload]': 'true'
24
- }, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<a *ngIf=\"raised; else notRaised\"\n mat-raised-button\n [disabled]=\"disabled\"\n [color]=\"color\"\n (mousemove)=\"move($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n <div #wrapper\n class=\"risk-file-upload-input-wrapper\">\n <input *ngIf=\"!fileInputHidden\" type=\"file\"\n id=\"fileInput\"\n #fileInput\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n title=\"\"\n (change)=\"handleFiles($event.target.files)\"\n [accept]=\"accept\">\n </div>\n</a>\n<ng-template #notRaised>\n <a mat-button\n [disabled]=\"disabled\"\n [color]=\"color\"\n (mousemove)=\"move($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n <div #wrapper\n class=\"risk-file-upload-input-wrapper\">\n <input *ngIf=\"!fileInputHidden\" type=\"file\"\n id=\"fileInput\"\n #fileInput\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n title=\"\"\n (change)=\"handleFiles($event.target.files)\"\n [accept]=\"accept\">\n </div>\n </a>\n</ng-template>\n", styles: [":host{display:block;padding:0;margin:0}:host>*{vertical-align:bottom}\n", ":host{display:inline-block}a{overflow:hidden}a .risk-file-upload-input-wrapper{width:30px;height:36px;margin-left:-15px;top:0;left:0;position:absolute;overflow:hidden;cursor:pointer;z-index:1}a .risk-file-upload-input-wrapper input{position:absolute;display:block;cursor:pointer;height:36px;font-size:36px;top:0;right:0;outline:0 none;opacity:0}\n"] }]
25
- }], ctorParameters: () => [{ type: i1.TextFileUploadService }, { type: i0.Renderer2 }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5maWxlLnVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLWZpbGUvc3JjL2xpYi90ZXh0LmZpbGUudXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItZmlsZS9zcmMvbGliL2Fic3RyYWN0LmZpbGUudXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQWlCN0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDJCQUFxQztJQUU5RSxZQUFvQyxpQkFBd0MsRUFDekQsUUFBbUI7UUFDbEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRmdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBdUI7SUFHNUUsQ0FBQztJQUVTLFNBQVMsQ0FBQyxRQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxpQkFBaUI7YUFDeEIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBVlEsdUJBQXVCO21HQUF2Qix1QkFBdUIscUpDbkJwQyxneUNBdUNBOzs0RkRwQmEsdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNlLHVCQUF1QixRQU12Qjt3QkFDakIsK0JBQStCLEVBQUUsTUFBTTtxQkFDMUMsbUJBQ29CLHVCQUF1QixDQUFDLE1BQU0sdUJBQzlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBYnN0cmFjdEZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gJy4vYWJzdHJhY3QuZmlsZS51cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7VGV4dEZpbGV9IGZyb20gJy4vZmlsZS50eXBlcyc7XG5pbXBvcnQge1RleHRGaWxlVXBsb2FkU2VydmljZX0gZnJvbSAnLi90ZXh0LmZpbGUudXBsb2FkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvciAgICAgICAgICAgOiAncmlzay10ZXh0LWZpbGUtdXBsb2FkJyxcbiAgICB0ZW1wbGF0ZVVybCAgICAgICAgOiAnYWJzdHJhY3QuZmlsZS51cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJscyAgICAgICAgICA6IFtcbiAgICAgICAgJy4uLy4uLy4uL2NvbXBvbmVudC5zY3NzJyxcbiAgICAgICAgJ2Fic3RyYWN0LmZpbGUudXBsb2FkLmNvbXBvbmVudC5zY3NzJ1xuICAgIF0sXG4gICAgaG9zdCAgICAgICAgICAgICAgIDoge1xuICAgICAgICAnW2NsYXNzLnJpc2stdGV4dC1maWxlLXVwbG9hZF0nOiAndHJ1ZSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbiAgICA6IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmlsZVVwbG9hZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmlsZVVwbG9hZENvbXBvbmVudDxUZXh0RmlsZT4ge1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmlsZVVwbG9hZFNlcnZpY2U6IFRleHRGaWxlVXBsb2FkU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgICAgICBzdXBlcihyZW5kZXJlcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRGaWxlcyhmaWxlTGlzdDogRmlsZUxpc3QpOiBPYnNlcnZhYmxlPFRleHRGaWxlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcbiAgICAgICAgICAgIC5yZWFkRmlsZXMoZmlsZUxpc3QpO1xuICAgIH1cbn1cbiIsIjxhICpuZ0lmPVwicmFpc2VkOyBlbHNlIG5vdFJhaXNlZFwiXG4gICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAobW91c2Vtb3ZlKT1cIm1vdmUoJGV2ZW50KVwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj57e2ljb259fTwvbWF0LWljb24+XG4gICAge3tsYWJlbH19XG4gICAgPGRpdiAjd3JhcHBlclxuICAgICAgICAgY2xhc3M9XCJyaXNrLWZpbGUtdXBsb2FkLWlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgPGlucHV0ICpuZ0lmPVwiIWZpbGVJbnB1dEhpZGRlblwiIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgIGlkPVwiZmlsZUlucHV0XCJcbiAgICAgICAgICAgICAgICNmaWxlSW5wdXRcbiAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgdGl0bGU9XCJcIlxuICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVGaWxlcygkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG4gICAgICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiPlxuICAgIDwvZGl2PlxuPC9hPlxuPG5nLXRlbXBsYXRlICNub3RSYWlzZWQ+XG4gICAgPGEgbWF0LWJ1dHRvblxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAobW91c2Vtb3ZlKT1cIm1vdmUoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCI+e3tpY29ufX08L21hdC1pY29uPlxuICAgICAgICB7e2xhYmVsfX1cbiAgICAgICAgPGRpdiAjd3JhcHBlclxuICAgICAgICAgICAgIGNsYXNzPVwicmlzay1maWxlLXVwbG9hZC1pbnB1dC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCIhZmlsZUlucHV0SGlkZGVuXCIgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICAgICAgIGlkPVwiZmlsZUlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAjZmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiXCJcbiAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVzKCRldmVudC50YXJnZXQuZmlsZXMpXCJcbiAgICAgICAgICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2E+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,41 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { toString } from '@dbg-riskit/common';
3
- import { forkJoin, Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export class TextFileUploadService {
6
- readFiles(files) {
7
- const fileOservables = [];
8
- for (const file of Array.from(files)) {
9
- fileOservables.push(new Observable((observer) => {
10
- setTimeout(() => {
11
- try {
12
- const reader = new FileReader();
13
- // Handle errors load
14
- reader.onload = (event) => {
15
- observer.next({
16
- body: toString(event.target.result),
17
- file
18
- });
19
- observer.complete();
20
- };
21
- reader.onerror = (event) => {
22
- observer.error(event.target.error);
23
- };
24
- // Read file into memory as UTF-8
25
- reader.readAsText(file);
26
- }
27
- catch (err) {
28
- observer.error(err);
29
- }
30
- });
31
- }));
32
- }
33
- return forkJoin(fileOservables);
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextFileUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextFileUploadService }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextFileUploadService, decorators: [{
39
- type: Injectable
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5maWxlLnVwbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGtnL2RiZy1yaXNraXQvYW5ndWxhci1maWxlL3NyYy9saWIvdGV4dC5maWxlLnVwbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxRQUFRLEVBQUUsVUFBVSxFQUFhLE1BQU0sTUFBTSxDQUFDOztBQUl0RCxNQUFNLE9BQU8scUJBQXFCO0lBRXZCLFNBQVMsQ0FBQyxLQUFlO1FBQzVCLE1BQU0sY0FBYyxHQUFnQyxFQUFFLENBQUM7UUFDdkQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQThCLEVBQUUsRUFBRTtnQkFDbEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUM7d0JBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFDaEMscUJBQXFCO3dCQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFOzRCQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dDQUNWLElBQUksRUFBRSxRQUFRLENBQUUsS0FBSyxDQUFDLE1BQXFCLENBQUMsTUFBTSxDQUFDO2dDQUNuRCxJQUFJOzZCQUNQLENBQUMsQ0FBQzs0QkFDSCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7d0JBQ3hCLENBQUMsQ0FBQzt3QkFDRixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFOzRCQUN0QyxRQUFRLENBQUMsS0FBSyxDQUFFLEtBQUssQ0FBQyxNQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN2RCxDQUFDLENBQUM7d0JBQ0YsaUNBQWlDO3dCQUNqQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM1QixDQUFDO29CQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7d0JBQ1gsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDeEIsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0E3QlEscUJBQXFCO21IQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1N0cmluZ30gZnJvbSAnQGRiZy1yaXNraXQvY29tbW9uJztcbmltcG9ydCB7Zm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YnNjcmliZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUZXh0RmlsZX0gZnJvbSAnLi9maWxlLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRleHRGaWxlVXBsb2FkU2VydmljZSB7XG5cbiAgICBwdWJsaWMgcmVhZEZpbGVzKGZpbGVzOiBGaWxlTGlzdCk6IE9ic2VydmFibGU8VGV4dEZpbGVbXT4ge1xuICAgICAgICBjb25zdCBmaWxlT3NlcnZhYmxlczogQXJyYXk8T2JzZXJ2YWJsZTxUZXh0RmlsZT4+ID0gW107XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBBcnJheS5mcm9tKGZpbGVzKSkge1xuICAgICAgICAgICAgZmlsZU9zZXJ2YWJsZXMucHVzaChuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IFN1YnNjcmliZXI8VGV4dEZpbGU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlIGVycm9ycyBsb2FkXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBQcm9ncmVzc0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHRvU3RyaW5nKChldmVudC50YXJnZXQgYXMgRmlsZVJlYWRlcikucmVzdWx0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXZlbnQ6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcigoZXZlbnQudGFyZ2V0IGFzIEZpbGVSZWFkZXIpLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWFkIGZpbGUgaW50byBtZW1vcnkgYXMgVVRGLThcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oZmlsZU9zZXJ2YWJsZXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,15 +0,0 @@
1
- export * from './lib/abstract.file.download.directive';
2
- export * from './lib/abstract.file.upload.component';
3
- export * from './lib/binary.file.upload.service';
4
- export * from './lib/binary.file.upload.component';
5
- export * from './lib/csv.file.download.directive';
6
- export * from './lib/csv.file.upload.component';
7
- export * from './lib/csv.file.upload.service';
8
- export * from './lib/text.file.upload.service';
9
- export * from './lib/text.file.upload.component';
10
- export * from './lib/download.menu.component';
11
- export * from './lib/file.download.directive';
12
- export * from './lib/file.module';
13
- export * from './lib/file.size.pipe';
14
- export * from './lib/file.types';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItZmlsZS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hYnN0cmFjdC5maWxlLmRvd25sb2FkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hYnN0cmFjdC5maWxlLnVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmluYXJ5LmZpbGUudXBsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmluYXJ5LmZpbGUudXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jc3YuZmlsZS5kb3dubG9hZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY3N2LmZpbGUudXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jc3YuZmlsZS51cGxvYWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0LmZpbGUudXBsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC5maWxlLnVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZG93bmxvYWQubWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS5kb3dubG9hZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS5zaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS50eXBlcyc7XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { ElementRef } from '@angular/core';
2
- import { BaseComponent, DialogService } from '@dbg-riskit/angular-view';
3
- import { FileWithContent, Logger, ObservableWithProgress } from '@dbg-riskit/common';
4
- import { Observable } from 'rxjs';
5
- import { FileSizePipe } from './file.size.pipe';
6
- import * as i0 from "@angular/core";
7
- export declare abstract class AbstractFileDownloadDirective<T> extends BaseComponent {
8
- private readonly elementRef;
9
- private readonly dialogService;
10
- private readonly fileSizePipe;
11
- private readonly logger;
12
- disabled?: boolean | string;
13
- data?: ObservableWithProgress<T> | Observable<T> | T;
14
- constructor(elementRef: ElementRef, dialogService: DialogService, fileSizePipe: FileSizePipe, logger: Logger);
15
- private isDisabled;
16
- download(): void;
17
- protected abstract mapToFile(data: T): FileWithContent;
18
- private store;
19
- private getDataObservable;
20
- private downloadWithProgress;
21
- private updateProgress;
22
- private processError;
23
- /**
24
- * Blob constructor for testing purposes.
25
- */
26
- createBlob(data: BlobPart[], contentType?: BlobPropertyBag): Blob;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<AbstractFileDownloadDirective<any>, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractFileDownloadDirective<any>, never, never, { "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
29
- }
@@ -1,32 +0,0 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, Renderer2 } from '@angular/core';
2
- import { MatColorTheme } from '@dbg-riskit/angular-common';
3
- import { BaseComponent } from '@dbg-riskit/angular-view';
4
- import { ErrorMessage } from '@dbg-riskit/common';
5
- import { Observable } from 'rxjs';
6
- import { IFile } from './file.types';
7
- import * as i0 from "@angular/core";
8
- export declare abstract class AbstractFileUploadComponent<T extends IFile> extends BaseComponent implements AfterViewInit {
9
- private readonly renderer;
10
- readonly error: EventEmitter<ErrorMessage>;
11
- label?: string;
12
- accept?: string;
13
- multiple: boolean;
14
- readonly filesLoaded: EventEmitter<T[]>;
15
- anchor?: ElementRef;
16
- fileInput?: ElementRef;
17
- wrapper?: ElementRef;
18
- private offset;
19
- fileInputHidden: boolean;
20
- raised: boolean;
21
- color: MatColorTheme;
22
- icon?: string;
23
- disabled: boolean;
24
- protected constructor(renderer: Renderer2);
25
- ngAfterViewInit(): void;
26
- move(event: MouseEvent): void;
27
- handleFiles(fileList: FileList): void;
28
- protected abstract readFiles(fileList: FileList): Observable<T[]>;
29
- private resetInputField;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<AbstractFileUploadComponent<any>, never>;
31
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractFileUploadComponent<any>, never, never, { "label": { "alias": "label"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "color": { "alias": "color"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "error": "error"; "filesLoaded": "filesLoaded"; }, never, never, false, never>;
32
- }
@@ -1,13 +0,0 @@
1
- import { Renderer2 } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { AbstractFileUploadComponent } from './abstract.file.upload.component';
4
- import { BinaryFileUploadService } from './binary.file.upload.service';
5
- import { BinaryFile } from './file.types';
6
- import * as i0 from "@angular/core";
7
- export declare class BinaryFileUploadComponent extends AbstractFileUploadComponent<BinaryFile> {
8
- private readonly fileUploadService;
9
- constructor(fileUploadService: BinaryFileUploadService, renderer: Renderer2);
10
- protected readFiles(fileList: FileList): Observable<BinaryFile[]>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<BinaryFileUploadComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<BinaryFileUploadComponent, "risk-binary-file-upload", never, {}, {}, never, never, false, never>;
13
- }
@@ -1,8 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { BinaryFile } from './file.types';
3
- import * as i0 from "@angular/core";
4
- export declare class BinaryFileUploadService {
5
- readFiles(files: FileList): Observable<BinaryFile[]>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<BinaryFileUploadService, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<BinaryFileUploadService>;
8
- }
@@ -1,22 +0,0 @@
1
- import { ElementRef } from '@angular/core';
2
- import { DateFormatter, DialogService } from '@dbg-riskit/angular-view';
3
- import { FileWithContent, Logger, ObservableWithProgress } from '@dbg-riskit/common';
4
- import { Observable } from 'rxjs';
5
- import { AbstractFileDownloadDirective } from './abstract.file.download.directive';
6
- import { FileSizePipe } from './file.size.pipe';
7
- import { CSVExportColumn } from './file.types';
8
- import * as i0 from "@angular/core";
9
- export declare class CSVFileDownloadDirective extends AbstractFileDownloadDirective<unknown[]> {
10
- private readonly dateFormatter;
11
- columns?: Array<CSVExportColumn<unknown>>;
12
- data?: ObservableWithProgress<unknown[]> | Observable<unknown[]> | unknown[];
13
- filename: string;
14
- crlfLineEnding: boolean;
15
- constructor(dateFormatter: DateFormatter, elementRef: ElementRef, dialogService: DialogService, fileSizePipe: FileSizePipe, logger: Logger);
16
- protected mapToFile(data: unknown[]): FileWithContent;
17
- private processRow;
18
- private createHeader;
19
- private getLineEnding;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<CSVFileDownloadDirective, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<CSVFileDownloadDirective, "[risk-csv-download]", never, { "columns": { "alias": "risk-csv-download-columns"; "required": false; }; "data": { "alias": "risk-csv-download"; "required": false; }; "filename": { "alias": "risk-csv-download-filename"; "required": false; }; "crlfLineEnding": { "alias": "risk-csv-download-crlf"; "required": false; }; }, {}, never, never, false, never>;
22
- }
@@ -1,15 +0,0 @@
1
- import { Renderer2 } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { AbstractFileUploadComponent } from './abstract.file.upload.component';
4
- import { CSVFileUploadService } from './csv.file.upload.service';
5
- import { CSVColumnNameMapper, CSVFile, CSVValidator } from './file.types';
6
- import * as i0 from "@angular/core";
7
- export declare class CSVFileUploadComponent extends AbstractFileUploadComponent<CSVFile> {
8
- private readonly fileUploadService;
9
- validator?: CSVValidator;
10
- nameMapper?: CSVColumnNameMapper;
11
- constructor(fileUploadService: CSVFileUploadService, renderer: Renderer2);
12
- protected readFiles(fileList: FileList): Observable<CSVFile[]>;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<CSVFileUploadComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<CSVFileUploadComponent, "risk-csv-file-upload", never, { "validator": { "alias": "validator"; "required": false; }; "nameMapper": { "alias": "nameMapper"; "required": false; }; }, {}, never, never, false, never>;
15
- }