@dbg-riskit/angular-file 18.1.0 → 20.0.1
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.
- package/fesm2022/dbg-riskit-angular-file.mjs +124 -157
- package/fesm2022/dbg-riskit-angular-file.mjs.map +1 -1
- package/index.d.ts +175 -5
- package/package.json +10 -13
- package/esm2022/dbg-riskit-angular-file.mjs +0 -5
- package/esm2022/lib/abstract.file.download.directive.mjs +0 -139
- package/esm2022/lib/abstract.file.upload.component.mjs +0 -100
- package/esm2022/lib/binary.file.upload.component.mjs +0 -25
- package/esm2022/lib/binary.file.upload.service.mjs +0 -41
- package/esm2022/lib/csv.file.download.directive.mjs +0 -83
- package/esm2022/lib/csv.file.upload.component.mjs +0 -47
- package/esm2022/lib/csv.file.upload.service.mjs +0 -109
- package/esm2022/lib/download.menu.component.mjs +0 -34
- package/esm2022/lib/file.download.directive.mjs +0 -53
- package/esm2022/lib/file.module.mjs +0 -76
- package/esm2022/lib/file.size.pipe.mjs +0 -34
- package/esm2022/lib/file.types.mjs +0 -2
- package/esm2022/lib/text.file.upload.component.mjs +0 -26
- package/esm2022/lib/text.file.upload.service.mjs +0 -41
- package/esm2022/public_api.mjs +0 -15
- package/lib/abstract.file.download.directive.d.ts +0 -29
- package/lib/abstract.file.upload.component.d.ts +0 -32
- package/lib/binary.file.upload.component.d.ts +0 -13
- package/lib/binary.file.upload.service.d.ts +0 -8
- package/lib/csv.file.download.directive.d.ts +0 -22
- package/lib/csv.file.upload.component.d.ts +0 -15
- package/lib/csv.file.upload.service.d.ts +0 -9
- package/lib/download.menu.component.d.ts +0 -13
- package/lib/file.download.directive.d.ts +0 -17
- package/lib/file.module.d.ts +0 -16
- package/lib/file.size.pipe.d.ts +0 -13
- package/lib/file.types.d.ts +0 -32
- package/lib/text.file.upload.component.d.ts +0 -13
- package/lib/text.file.upload.service.d.ts +0 -8
- 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==
|
package/esm2022/public_api.mjs
DELETED
|
@@ -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
|
-
}
|