@dbg-riskit/angular-excel-export 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.
- package/fesm2022/dbg-riskit-angular-excel-export.mjs +32 -58
- package/fesm2022/dbg-riskit-angular-excel-export.mjs.map +1 -1
- package/index.d.ts +49 -5
- package/package.json +10 -13
- package/esm2022/dbg-riskit-angular-excel-export.mjs +0 -5
- package/esm2022/lib/excel.export.module.mjs +0 -30
- package/esm2022/lib/excel.export.service.mjs +0 -94
- package/esm2022/lib/excel.file.export.directive.mjs +0 -80
- package/esm2022/public_api.mjs +0 -4
- package/lib/excel.export.module.d.ts +0 -8
- package/lib/excel.export.service.d.ts +0 -18
- package/lib/excel.file.export.directive.d.ts +0 -31
- package/public_api.d.ts +0 -3
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injectable,
|
|
4
|
-
import
|
|
5
|
-
import { deepClone } from '@dbg-riskit/common';
|
|
2
|
+
import { Injectable, inject, ElementRef, Input, Directive } from '@angular/core';
|
|
3
|
+
import { deepClone, Logger } from '@dbg-riskit/common';
|
|
6
4
|
import * as XLSX from 'xlsx';
|
|
7
5
|
import { BaseComponent } from '@dbg-riskit/angular-view';
|
|
8
6
|
|
|
@@ -89,36 +87,22 @@ class ExcelExportService {
|
|
|
89
87
|
isArrayOfArrays(array) {
|
|
90
88
|
return array.every((item) => Array.isArray(item));
|
|
91
89
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
93
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ExcelExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ExcelExportService, providedIn: 'root' }); }
|
|
94
92
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
96
|
-
type: Injectable
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ExcelExportService, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{ providedIn: 'root' }]
|
|
97
96
|
}] });
|
|
98
97
|
|
|
99
98
|
class ExcelFileExportDirective extends BaseComponent {
|
|
100
|
-
constructor(
|
|
101
|
-
super();
|
|
102
|
-
this.elementRef =
|
|
103
|
-
this.excelExportService =
|
|
104
|
-
this.logger =
|
|
99
|
+
constructor() {
|
|
100
|
+
super(...arguments);
|
|
101
|
+
this.elementRef = inject(ElementRef);
|
|
102
|
+
this.excelExportService = inject(ExcelExportService);
|
|
103
|
+
this.logger = inject(Logger);
|
|
105
104
|
this.filename = 'data';
|
|
106
105
|
}
|
|
107
|
-
isDisabled() {
|
|
108
|
-
if (this.elementRef.nativeElement.disabled === true) {
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
if (this.disabled == null) {
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
switch (typeof this.disabled) {
|
|
115
|
-
case 'boolean':
|
|
116
|
-
return this.disabled;
|
|
117
|
-
case 'string':
|
|
118
|
-
return this.disabled.toLowerCase() === 'disabled' || this.disabled.toLowerCase() === 'true';
|
|
119
|
-
}
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
106
|
export() {
|
|
123
107
|
if (this.isDisabled()) {
|
|
124
108
|
return;
|
|
@@ -143,10 +127,25 @@ class ExcelFileExportDirective extends BaseComponent {
|
|
|
143
127
|
this.excelExportService.exportAsExcel(this.data, this.filename, this.columns, this.tabs);
|
|
144
128
|
}
|
|
145
129
|
}
|
|
146
|
-
|
|
147
|
-
|
|
130
|
+
isDisabled() {
|
|
131
|
+
if (this.elementRef.nativeElement.disabled === true) {
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
if (this.disabled == null) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
switch (typeof this.disabled) {
|
|
138
|
+
case 'boolean':
|
|
139
|
+
return this.disabled;
|
|
140
|
+
case 'string':
|
|
141
|
+
return this.disabled.toLowerCase() === 'disabled' || this.disabled.toLowerCase() === 'true';
|
|
142
|
+
}
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ExcelFileExportDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
146
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: ExcelFileExportDirective, isStandalone: true, selector: "[risk-xlsx-export]", inputs: { columns: ["risk-xlsx-export-columns", "columns"], data: ["risk-xlsx-export", "data"], filename: ["risk-xlsx-export-filename", "filename"], tabs: ["risk-xlsx-export-tabs", "tabs"], disabled: "disabled" }, host: { listeners: { "click": "export()" }, properties: { "class.risk-xlsx-export": "true" } }, usesInheritance: true, ngImport: i0 }); }
|
|
148
147
|
}
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ExcelFileExportDirective, decorators: [{
|
|
150
149
|
type: Directive,
|
|
151
150
|
args: [{
|
|
152
151
|
selector: '[risk-xlsx-export]',
|
|
@@ -155,7 +154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
155
154
|
'(click)': 'export()'
|
|
156
155
|
}
|
|
157
156
|
}]
|
|
158
|
-
}],
|
|
157
|
+
}], propDecorators: { columns: [{
|
|
159
158
|
type: Input,
|
|
160
159
|
args: ['risk-xlsx-export-columns']
|
|
161
160
|
}], data: [{
|
|
@@ -171,34 +170,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
171
170
|
type: Input
|
|
172
171
|
}] } });
|
|
173
172
|
|
|
174
|
-
class ExcelExportModule {
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
176
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, declarations: [ExcelFileExportDirective], imports: [CommonModule], exports: [ExcelFileExportDirective] }); }
|
|
177
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, providers: [
|
|
178
|
-
ExcelExportService
|
|
179
|
-
], imports: [CommonModule] }); }
|
|
180
|
-
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, decorators: [{
|
|
182
|
-
type: NgModule,
|
|
183
|
-
args: [{
|
|
184
|
-
imports: [
|
|
185
|
-
CommonModule
|
|
186
|
-
],
|
|
187
|
-
declarations: [
|
|
188
|
-
ExcelFileExportDirective
|
|
189
|
-
],
|
|
190
|
-
exports: [
|
|
191
|
-
ExcelFileExportDirective
|
|
192
|
-
],
|
|
193
|
-
providers: [
|
|
194
|
-
ExcelExportService
|
|
195
|
-
]
|
|
196
|
-
}]
|
|
197
|
-
}] });
|
|
198
|
-
|
|
199
173
|
/**
|
|
200
174
|
* Generated bundle index. Do not edit.
|
|
201
175
|
*/
|
|
202
176
|
|
|
203
|
-
export {
|
|
177
|
+
export { ExcelExportService, ExcelFileExportDirective };
|
|
204
178
|
//# sourceMappingURL=dbg-riskit-angular-excel-export.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbg-riskit-angular-excel-export.mjs","sources":["../../../../pkg/dbg-riskit/angular-excel-export/src/lib/excel.export.service.ts","../../../../pkg/dbg-riskit/angular-excel-export/src/lib/excel.file.export.directive.ts","../../../../pkg/dbg-riskit/angular-excel-export/src/lib/excel.export.module.ts","../../../../pkg/dbg-riskit/angular-excel-export/src/dbg-riskit-angular-excel-export.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {deepClone} from '@dbg-riskit/common';\nimport * as XLSX from 'xlsx';\nimport {CSVExportColumn} from './excel.file.export.directive';\n\n@Injectable()\nexport class ExcelExportService {\n\n public exportAsExcel(exportData: object[], filename: string, columns: Array<CSVExportColumn<object>>): void;\n public exportAsExcel(exportData: object[][], filename: string,\n columns: Array<{ [key: string]: CSVExportColumn<object> }>, tabs: string[]): void;\n public exportAsExcel(exportData: object[] | object[][], filename: string,\n columns: Array<CSVExportColumn<object>> | Array<{\n [key: string]: CSVExportColumn<object>\n }>, tabs?: string[]): void {\n if (exportData && exportData.length && columns) {\n const data = this.createHeaders(exportData, columns);\n if (tabs == null) {\n this.export(data, filename);\n } else {\n this.export(data as object[][], filename, tabs);\n }\n }\n }\n\n private createHeaders(data: object[] | object[][], columns: Array<CSVExportColumn<object>> | Array<{\n [key: string]: CSVExportColumn<object>\n }>): object[] | object[][] {\n if (this.isArrayOfArrays(data)) {\n return this.multiTabHeaders(data as object[][],\n columns as Array<{ [key: string]: CSVExportColumn<object> }>);\n } else {\n return this.singleTabHeaders(data, columns as Array<CSVExportColumn<object>>);\n }\n }\n\n private multiTabHeaders(data: object[][], columns: Array<{\n [key: string]: CSVExportColumn<object>\n }>): object[][] {\n const dataWithHeaders: object[][] = [];\n data.forEach((arr: object[], index: number) => {\n const headers: { [key: string]: string } = {};\n const keys = Object.keys(arr[0]);\n keys.forEach((key) => {\n headers[key] = columns[index][key].header;\n });\n const clonedData = deepClone(arr);\n clonedData.unshift(headers);\n dataWithHeaders.push(clonedData);\n });\n return dataWithHeaders;\n }\n\n private singleTabHeaders(data: object[], columns: Array<CSVExportColumn<object>>): object[] {\n const headers: { [key: string]: string } = {};\n const keys = Object.keys(data[0]);\n\n keys.forEach((key, index) => {\n headers[key] = columns[index].header;\n });\n\n const clonedData = deepClone(data);\n clonedData.unshift(headers);\n return clonedData;\n }\n\n private export(data: object[], filename: string): void;\n private export(data: object[][], filename: string, tabs: string[]): void;\n private export(data: object[] | object[][], filename: string, tabs?: string[]): void {\n const {\n sheetName,\n fileName\n } = this.getFileName(filename);\n\n if (this.isArrayOfArrays(data)) {\n return this.multiTabExport(data as object[][], fileName, tabs!);\n } else {\n return this.singleTabExport(data, sheetName, fileName);\n }\n }\n\n private multiTabExport(data: object[][], filename: string, tabs: string[]): void {\n const workbook: XLSX.WorkBook = data.reduce((result, curr, index) => {\n result.Sheets = {\n ...result.Sheets,\n [tabs[index]]: XLSX.utils.json_to_sheet(curr, {skipHeader: true})\n };\n result.SheetNames = [...result.SheetNames, tabs[index]];\n return result;\n }, {\n Sheets : {},\n SheetNames: []\n } as XLSX.WorkBook);\n XLSX.writeFile(workbook, filename);\n }\n\n private singleTabExport(data: object[], sheetName: string, filename: string): void {\n const worksheet = XLSX.utils.json_to_sheet(data, {skipHeader: true});\n const workbook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);\n XLSX.writeFile(workbook, filename);\n }\n\n private getFileName(sheetName: string): { sheetName: string, fileName: string } {\n const fileName = `${sheetName}.xlsx`;\n return {\n sheetName,\n fileName\n };\n }\n\n public isArrayOfArrays(array: object[] | object[][]): boolean {\n return array.every((item) => Array.isArray(item));\n }\n}\n","import {Directive, ElementRef, Input} from '@angular/core';\nimport {BaseComponent} from '@dbg-riskit/angular-view';\nimport {Logger, ValueGetter} from '@dbg-riskit/common';\nimport {ExcelExportService} from './excel.export.service';\n\nexport interface CSVExportColumn<T> {\n get: ValueGetter<T>;\n header: string;\n}\n\n@Directive({\n selector: '[risk-xlsx-export]',\n host : {\n '[class.risk-xlsx-export]': 'true',\n '(click)' : 'export()'\n }\n})\nexport class ExcelFileExportDirective extends BaseComponent {\n\n /**\n * 'risk-xlsx-export-columns' can be provided as array OR array of arrays,\n * When provided as array of arrays then 'risk-xlsx-export' should be provided as array of arrays as well,\n * That means that multiple tabs are used, tab names are provided in 'risk-xlsx-export-tabs' as array of strings,\n */\n @Input('risk-xlsx-export-columns')\n public columns?: Array<CSVExportColumn<object>> | Array<{ [key: string]: CSVExportColumn<object> }>;\n\n @Input('risk-xlsx-export')\n public data?: object[] | object[][];\n\n @Input('risk-xlsx-export-filename')\n public filename = 'data';\n\n @Input('risk-xlsx-export-tabs')\n public tabs?: string[];\n\n @Input()\n public disabled?: boolean | string;\n\n public constructor(private readonly elementRef: ElementRef,\n private readonly excelExportService: ExcelExportService,\n private readonly logger: Logger) {\n super();\n }\n\n private isDisabled(): boolean {\n if (this.elementRef.nativeElement.disabled === true) {\n return true;\n }\n\n if (this.disabled == null) {\n return false;\n }\n\n switch (typeof this.disabled) {\n case 'boolean':\n return this.disabled;\n case 'string':\n return this.disabled.toLowerCase() === 'disabled' || this.disabled.toLowerCase() === 'true';\n }\n\n return false;\n }\n\n public export(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this.data == null) {\n this.logger.error(new Error('No data provided for export!'));\n return;\n }\n\n if ((this.tabs && this.tabs.length && !this.excelExportService.isArrayOfArrays(this.data)) ||\n (!this.tabs && this.excelExportService.isArrayOfArrays(this.data))) {\n this.logger.error(new Error('Wrong data structure provided!'));\n return;\n }\n\n if (!this.columns) {\n this.logger.error(new Error('Columns not provided!'));\n return;\n }\n\n if (this.tabs == null) {\n this.excelExportService.exportAsExcel(this.data, this.filename,\n this.columns as Array<CSVExportColumn<object>>);\n } else {\n this.excelExportService.exportAsExcel(this.data as object[][], this.filename,\n this.columns as Array<{ [key: string]: CSVExportColumn<object> }>, this.tabs);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ExcelExportService} from './excel.export.service';\nimport {ExcelFileExportDirective} from './excel.file.export.directive';\n\n@NgModule({\n imports : [\n CommonModule\n ],\n declarations: [\n ExcelFileExportDirective\n ],\n exports : [\n ExcelFileExportDirective\n ],\n providers : [\n ExcelExportService\n ]\n})\nexport class ExcelExportModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ExcelExportService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dbg-riskit-angular-excel-export.mjs","sources":["../../../../pkg/dbg-riskit/angular-excel-export/src/lib/excel.export.service.ts","../../../../pkg/dbg-riskit/angular-excel-export/src/lib/excel.file.export.directive.ts","../../../../pkg/dbg-riskit/angular-excel-export/src/dbg-riskit-angular-excel-export.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {deepClone} from '@dbg-riskit/common';\nimport * as XLSX from 'xlsx';\nimport {CSVExportColumn} from './excel.file.export.directive';\n\n@Injectable({providedIn: 'root'})\nexport class ExcelExportService {\n\n public exportAsExcel(exportData: object[], filename: string, columns: Array<CSVExportColumn<object>>): void;\n public exportAsExcel(exportData: object[][], filename: string,\n columns: Array<{ [key: string]: CSVExportColumn<object> }>, tabs: string[]): void;\n public exportAsExcel(exportData: object[] | object[][], filename: string,\n columns: Array<CSVExportColumn<object>> | Array<{\n [key: string]: CSVExportColumn<object>\n }>, tabs?: string[]): void {\n if (exportData && exportData.length && columns) {\n const data = this.createHeaders(exportData, columns);\n if (tabs == null) {\n this.export(data, filename);\n } else {\n this.export(data as object[][], filename, tabs);\n }\n }\n }\n\n private createHeaders(data: object[] | object[][], columns: Array<CSVExportColumn<object>> | Array<{\n [key: string]: CSVExportColumn<object>\n }>): object[] | object[][] {\n if (this.isArrayOfArrays(data)) {\n return this.multiTabHeaders(data as object[][],\n columns as Array<{ [key: string]: CSVExportColumn<object> }>);\n } else {\n return this.singleTabHeaders(data, columns as Array<CSVExportColumn<object>>);\n }\n }\n\n private multiTabHeaders(data: object[][], columns: Array<{\n [key: string]: CSVExportColumn<object>\n }>): object[][] {\n const dataWithHeaders: object[][] = [];\n data.forEach((arr: object[], index: number) => {\n const headers: { [key: string]: string } = {};\n const keys = Object.keys(arr[0]);\n keys.forEach((key) => {\n headers[key] = columns[index][key].header;\n });\n const clonedData = deepClone(arr);\n clonedData.unshift(headers);\n dataWithHeaders.push(clonedData);\n });\n return dataWithHeaders;\n }\n\n private singleTabHeaders(data: object[], columns: Array<CSVExportColumn<object>>): object[] {\n const headers: { [key: string]: string } = {};\n const keys = Object.keys(data[0]);\n\n keys.forEach((key, index) => {\n headers[key] = columns[index].header;\n });\n\n const clonedData = deepClone(data);\n clonedData.unshift(headers);\n return clonedData;\n }\n\n private export(data: object[], filename: string): void;\n private export(data: object[][], filename: string, tabs: string[]): void;\n private export(data: object[] | object[][], filename: string, tabs?: string[]): void {\n const {\n sheetName,\n fileName\n } = this.getFileName(filename);\n\n if (this.isArrayOfArrays(data)) {\n return this.multiTabExport(data as object[][], fileName, tabs!);\n } else {\n return this.singleTabExport(data, sheetName, fileName);\n }\n }\n\n private multiTabExport(data: object[][], filename: string, tabs: string[]): void {\n const workbook: XLSX.WorkBook = data.reduce((result, curr, index) => {\n result.Sheets = {\n ...result.Sheets,\n [tabs[index]]: XLSX.utils.json_to_sheet(curr, {skipHeader: true})\n };\n result.SheetNames = [...result.SheetNames, tabs[index]];\n return result;\n }, {\n Sheets : {},\n SheetNames: []\n } as XLSX.WorkBook);\n XLSX.writeFile(workbook, filename);\n }\n\n private singleTabExport(data: object[], sheetName: string, filename: string): void {\n const worksheet = XLSX.utils.json_to_sheet(data, {skipHeader: true});\n const workbook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);\n XLSX.writeFile(workbook, filename);\n }\n\n private getFileName(sheetName: string): { sheetName: string, fileName: string } {\n const fileName = `${sheetName}.xlsx`;\n return {\n sheetName,\n fileName\n };\n }\n\n public isArrayOfArrays(array: object[] | object[][]): boolean {\n return array.every((item) => Array.isArray(item));\n }\n}\n","import {Directive, ElementRef, inject, Input} from '@angular/core';\nimport {BaseComponent} from '@dbg-riskit/angular-view';\nimport {Logger, ValueGetter} from '@dbg-riskit/common';\nimport {ExcelExportService} from './excel.export.service';\n\nexport interface CSVExportColumn<T> {\n get: ValueGetter<T>;\n header: string;\n}\n\n@Directive({\n selector: '[risk-xlsx-export]',\n host : {\n '[class.risk-xlsx-export]': 'true',\n '(click)' : 'export()'\n }\n})\nexport class ExcelFileExportDirective extends BaseComponent {\n private readonly elementRef = inject(ElementRef);\n private readonly excelExportService = inject(ExcelExportService);\n private readonly logger = inject(Logger);\n\n /**\n * 'risk-xlsx-export-columns' can be provided as array OR array of arrays,\n * When provided as array of arrays then 'risk-xlsx-export' should be provided as array of arrays as well,\n * That means that multiple tabs are used, tab names are provided in 'risk-xlsx-export-tabs' as array of strings,\n */\n @Input('risk-xlsx-export-columns')\n public columns?: Array<CSVExportColumn<object>> | Array<{ [key: string]: CSVExportColumn<object> }>;\n\n @Input('risk-xlsx-export')\n public data?: object[] | object[][];\n\n @Input('risk-xlsx-export-filename')\n public filename = 'data';\n\n @Input('risk-xlsx-export-tabs')\n public tabs?: string[];\n\n @Input()\n public disabled?: boolean | string;\n\n public export(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this.data == null) {\n this.logger.error(new Error('No data provided for export!'));\n return;\n }\n\n if ((this.tabs && this.tabs.length && !this.excelExportService.isArrayOfArrays(this.data)) ||\n (!this.tabs && this.excelExportService.isArrayOfArrays(this.data))) {\n this.logger.error(new Error('Wrong data structure provided!'));\n return;\n }\n\n if (!this.columns) {\n this.logger.error(new Error('Columns not provided!'));\n return;\n }\n\n if (this.tabs == null) {\n this.excelExportService.exportAsExcel(this.data, this.filename,\n this.columns as Array<CSVExportColumn<object>>);\n } else {\n this.excelExportService.exportAsExcel(this.data as object[][], this.filename,\n this.columns as Array<{ [key: string]: CSVExportColumn<object> }>, this.tabs);\n }\n }\n\n private isDisabled(): boolean {\n if (this.elementRef.nativeElement.disabled === true) {\n return true;\n }\n\n if (this.disabled == null) {\n return false;\n }\n\n switch (typeof this.disabled) {\n case 'boolean':\n return this.disabled;\n case 'string':\n return this.disabled.toLowerCase() === 'disabled' || this.disabled.toLowerCase() === 'true';\n }\n\n return false;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { BaseComponent } from '@dbg-riskit/angular-view';
|
|
2
|
+
import { ValueGetter } from '@dbg-riskit/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
|
|
5
|
+
interface CSVExportColumn<T> {
|
|
6
|
+
get: ValueGetter<T>;
|
|
7
|
+
header: string;
|
|
8
|
+
}
|
|
9
|
+
declare class ExcelFileExportDirective extends BaseComponent {
|
|
10
|
+
private readonly elementRef;
|
|
11
|
+
private readonly excelExportService;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
/**
|
|
14
|
+
* 'risk-xlsx-export-columns' can be provided as array OR array of arrays,
|
|
15
|
+
* When provided as array of arrays then 'risk-xlsx-export' should be provided as array of arrays as well,
|
|
16
|
+
* That means that multiple tabs are used, tab names are provided in 'risk-xlsx-export-tabs' as array of strings,
|
|
17
|
+
*/
|
|
18
|
+
columns?: Array<CSVExportColumn<object>> | Array<{
|
|
19
|
+
[key: string]: CSVExportColumn<object>;
|
|
20
|
+
}>;
|
|
21
|
+
data?: object[] | object[][];
|
|
22
|
+
filename: string;
|
|
23
|
+
tabs?: string[];
|
|
24
|
+
disabled?: boolean | string;
|
|
25
|
+
export(): void;
|
|
26
|
+
private isDisabled;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ExcelFileExportDirective, never>;
|
|
28
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ExcelFileExportDirective, "[risk-xlsx-export]", never, { "columns": { "alias": "risk-xlsx-export-columns"; "required": false; }; "data": { "alias": "risk-xlsx-export"; "required": false; }; "filename": { "alias": "risk-xlsx-export-filename"; "required": false; }; "tabs": { "alias": "risk-xlsx-export-tabs"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class ExcelExportService {
|
|
32
|
+
exportAsExcel(exportData: object[], filename: string, columns: Array<CSVExportColumn<object>>): void;
|
|
33
|
+
exportAsExcel(exportData: object[][], filename: string, columns: Array<{
|
|
34
|
+
[key: string]: CSVExportColumn<object>;
|
|
35
|
+
}>, tabs: string[]): void;
|
|
36
|
+
private createHeaders;
|
|
37
|
+
private multiTabHeaders;
|
|
38
|
+
private singleTabHeaders;
|
|
39
|
+
private export;
|
|
40
|
+
private multiTabExport;
|
|
41
|
+
private singleTabExport;
|
|
42
|
+
private getFileName;
|
|
43
|
+
isArrayOfArrays(array: object[] | object[][]): boolean;
|
|
44
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ExcelExportService, never>;
|
|
45
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ExcelExportService>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { ExcelExportService, ExcelFileExportDirective };
|
|
49
|
+
export type { CSVExportColumn };
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dbg-riskit/angular-excel-export",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"@angular/platform-browser": "^
|
|
8
|
-
"@angular/common": "^
|
|
9
|
-
"@dbg-riskit/common": "~
|
|
10
|
-
"@dbg-riskit/angular-common": "~
|
|
11
|
-
"@dbg-riskit/angular-logging": "~
|
|
12
|
-
"xlsx": "
|
|
6
|
+
"@angular/core": "^20.3.12",
|
|
7
|
+
"@angular/platform-browser": "^20.3.12",
|
|
8
|
+
"@angular/common": "^20.3.12",
|
|
9
|
+
"@dbg-riskit/common": "~20.0.0",
|
|
10
|
+
"@dbg-riskit/angular-common": "~20.0.0",
|
|
11
|
+
"@dbg-riskit/angular-logging": "~20.0.0",
|
|
12
|
+
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"tslib": "^2.
|
|
15
|
+
"tslib": "^2.8.1"
|
|
16
16
|
},
|
|
17
17
|
"module": "fesm2022/dbg-riskit-angular-excel-export.mjs",
|
|
18
18
|
"typings": "index.d.ts",
|
|
@@ -22,10 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
".": {
|
|
24
24
|
"types": "./index.d.ts",
|
|
25
|
-
"esm2022": "./esm2022/dbg-riskit-angular-excel-export.mjs",
|
|
26
|
-
"esm": "./esm2022/dbg-riskit-angular-excel-export.mjs",
|
|
27
25
|
"default": "./fesm2022/dbg-riskit-angular-excel-export.mjs"
|
|
28
26
|
}
|
|
29
|
-
}
|
|
30
|
-
"sideEffects": false
|
|
27
|
+
}
|
|
31
28
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJnLXJpc2tpdC1hbmd1bGFyLWV4Y2VsLWV4cG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItZXhjZWwtZXhwb3J0L3NyYy9kYmctcmlza2l0LWFuZ3VsYXItZXhjZWwtZXhwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { ExcelExportService } from './excel.export.service';
|
|
4
|
-
import { ExcelFileExportDirective } from './excel.file.export.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class ExcelExportModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, declarations: [ExcelFileExportDirective], imports: [CommonModule], exports: [ExcelFileExportDirective] }); }
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, providers: [
|
|
10
|
-
ExcelExportService
|
|
11
|
-
], imports: [CommonModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
imports: [
|
|
17
|
-
CommonModule
|
|
18
|
-
],
|
|
19
|
-
declarations: [
|
|
20
|
-
ExcelFileExportDirective
|
|
21
|
-
],
|
|
22
|
-
exports: [
|
|
23
|
-
ExcelFileExportDirective
|
|
24
|
-
],
|
|
25
|
-
providers: [
|
|
26
|
-
ExcelExportService
|
|
27
|
-
]
|
|
28
|
-
}]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuZXhwb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItZXhjZWwtZXhwb3J0L3NyYy9saWIvZXhjZWwuZXhwb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFnQnZFLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQVR0Qix3QkFBd0IsYUFIeEIsWUFBWSxhQU1aLHdCQUF3QjtnSEFNbkIsaUJBQWlCLGFBSlo7WUFDVixrQkFBa0I7U0FDckIsWUFWRyxZQUFZOzs0RkFZUCxpQkFBaUI7a0JBZDdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFPO3dCQUNWLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHdCQUF3QjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFPO3dCQUNWLHdCQUF3QjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFLO3dCQUNWLGtCQUFrQjtxQkFDckI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFeGNlbEV4cG9ydFNlcnZpY2V9IGZyb20gJy4vZXhjZWwuZXhwb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHtFeGNlbEZpbGVFeHBvcnREaXJlY3RpdmV9IGZyb20gJy4vZXhjZWwuZmlsZS5leHBvcnQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzICAgICA6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRXhjZWxGaWxlRXhwb3J0RGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzICAgICA6IFtcbiAgICAgICAgRXhjZWxGaWxlRXhwb3J0RGlyZWN0aXZlXG4gICAgXSxcbiAgICBwcm92aWRlcnMgICA6IFtcbiAgICAgICAgRXhjZWxFeHBvcnRTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFeGNlbEV4cG9ydE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { deepClone } from '@dbg-riskit/common';
|
|
3
|
-
import * as XLSX from 'xlsx';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ExcelExportService {
|
|
6
|
-
exportAsExcel(exportData, filename, columns, tabs) {
|
|
7
|
-
if (exportData && exportData.length && columns) {
|
|
8
|
-
const data = this.createHeaders(exportData, columns);
|
|
9
|
-
if (tabs == null) {
|
|
10
|
-
this.export(data, filename);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
this.export(data, filename, tabs);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
createHeaders(data, columns) {
|
|
18
|
-
if (this.isArrayOfArrays(data)) {
|
|
19
|
-
return this.multiTabHeaders(data, columns);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return this.singleTabHeaders(data, columns);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
multiTabHeaders(data, columns) {
|
|
26
|
-
const dataWithHeaders = [];
|
|
27
|
-
data.forEach((arr, index) => {
|
|
28
|
-
const headers = {};
|
|
29
|
-
const keys = Object.keys(arr[0]);
|
|
30
|
-
keys.forEach((key) => {
|
|
31
|
-
headers[key] = columns[index][key].header;
|
|
32
|
-
});
|
|
33
|
-
const clonedData = deepClone(arr);
|
|
34
|
-
clonedData.unshift(headers);
|
|
35
|
-
dataWithHeaders.push(clonedData);
|
|
36
|
-
});
|
|
37
|
-
return dataWithHeaders;
|
|
38
|
-
}
|
|
39
|
-
singleTabHeaders(data, columns) {
|
|
40
|
-
const headers = {};
|
|
41
|
-
const keys = Object.keys(data[0]);
|
|
42
|
-
keys.forEach((key, index) => {
|
|
43
|
-
headers[key] = columns[index].header;
|
|
44
|
-
});
|
|
45
|
-
const clonedData = deepClone(data);
|
|
46
|
-
clonedData.unshift(headers);
|
|
47
|
-
return clonedData;
|
|
48
|
-
}
|
|
49
|
-
export(data, filename, tabs) {
|
|
50
|
-
const { sheetName, fileName } = this.getFileName(filename);
|
|
51
|
-
if (this.isArrayOfArrays(data)) {
|
|
52
|
-
return this.multiTabExport(data, fileName, tabs);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
return this.singleTabExport(data, sheetName, fileName);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
multiTabExport(data, filename, tabs) {
|
|
59
|
-
const workbook = data.reduce((result, curr, index) => {
|
|
60
|
-
result.Sheets = {
|
|
61
|
-
...result.Sheets,
|
|
62
|
-
[tabs[index]]: XLSX.utils.json_to_sheet(curr, { skipHeader: true })
|
|
63
|
-
};
|
|
64
|
-
result.SheetNames = [...result.SheetNames, tabs[index]];
|
|
65
|
-
return result;
|
|
66
|
-
}, {
|
|
67
|
-
Sheets: {},
|
|
68
|
-
SheetNames: []
|
|
69
|
-
});
|
|
70
|
-
XLSX.writeFile(workbook, filename);
|
|
71
|
-
}
|
|
72
|
-
singleTabExport(data, sheetName, filename) {
|
|
73
|
-
const worksheet = XLSX.utils.json_to_sheet(data, { skipHeader: true });
|
|
74
|
-
const workbook = XLSX.utils.book_new();
|
|
75
|
-
XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
|
|
76
|
-
XLSX.writeFile(workbook, filename);
|
|
77
|
-
}
|
|
78
|
-
getFileName(sheetName) {
|
|
79
|
-
const fileName = `${sheetName}.xlsx`;
|
|
80
|
-
return {
|
|
81
|
-
sheetName,
|
|
82
|
-
fileName
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
isArrayOfArrays(array) {
|
|
86
|
-
return array.every((item) => Array.isArray(item));
|
|
87
|
-
}
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
89
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportService }); }
|
|
90
|
-
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelExportService, decorators: [{
|
|
92
|
-
type: Injectable
|
|
93
|
-
}] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLWV4Y2VsLWV4cG9ydC9zcmMvbGliL2V4Y2VsLmV4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOztBQUk3QixNQUFNLE9BQU8sa0JBQWtCO0lBS3BCLGFBQWEsQ0FBQyxVQUFpQyxFQUFFLFFBQWdCLEVBQ25ELE9BRUUsRUFBRSxJQUFlO1FBQ3BDLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDckQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLElBQTJCLEVBQUUsT0FFakQ7UUFDRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBa0IsRUFDMUMsT0FBNEQsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFB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QUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFjLEVBQUUsU0FBaUIsRUFBRSxRQUFnQjtRQUN2RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sV0FBVyxDQUFDLFNBQWlCO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLEdBQUcsU0FBUyxPQUFPLENBQUM7UUFDckMsT0FBTztZQUNILFNBQVM7WUFDVCxRQUFRO1NBQ1gsQ0FBQztJQUNOLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBNEI7UUFDL0MsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0EzR1Esa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWVwQ2xvbmV9IGZyb20gJ0BkYmctcmlza2l0L2NvbW1vbic7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xuaW1wb3J0IHtDU1ZFeHBvcnRDb2x1bW59IGZyb20gJy4vZXhjZWwuZmlsZS5leHBvcnQuZGlyZWN0aXZlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4Y2VsRXhwb3J0U2VydmljZSB7XG5cbiAgICBwdWJsaWMgZXhwb3J0QXNFeGNlbChleHBvcnREYXRhOiBvYmplY3RbXSwgZmlsZW5hbWU6IHN0cmluZywgY29sdW1uczogQXJyYXk8Q1NWRXhwb3J0Q29sdW1uPG9iamVjdD4+KTogdm9pZDtcbiAgICBwdWJsaWMgZXhwb3J0QXNFeGNlbChleHBvcnREYXRhOiBvYmplY3RbXVtdLCBmaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IEFycmF5PHsgW2tleTogc3RyaW5nXTogQ1NWRXhwb3J0Q29sdW1uPG9iamVjdD4gfT4sIHRhYnM6IHN0cmluZ1tdKTogdm9pZDtcbiAgICBwdWJsaWMgZXhwb3J0QXNFeGNlbChleHBvcnREYXRhOiBvYmplY3RbXSB8IG9iamVjdFtdW10sIGZpbGVuYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogQXJyYXk8Q1NWRXhwb3J0Q29sdW1uPG9iamVjdD4+IHwgQXJyYXk8e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5OiBzdHJpbmddOiBDU1ZFeHBvcnRDb2x1bW48b2JqZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgIH0+LCB0YWJzPzogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKGV4cG9ydERhdGEgJiYgZXhwb3J0RGF0YS5sZW5ndGggJiYgY29sdW1ucykge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuY3JlYXRlSGVhZGVycyhleHBvcnREYXRhLCBjb2x1bW5zKTtcbiAgICAgICAgICAgIGlmICh0YWJzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cG9ydChkYXRhLCBmaWxlbmFtZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0KGRhdGEgYXMgb2JqZWN0W11bXSwgZmlsZW5hbWUsIHRhYnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIZWFkZXJzKGRhdGE6IG9iamVjdFtdIHwgb2JqZWN0W11bXSwgY29sdW1uczogQXJyYXk8Q1NWRXhwb3J0Q29sdW1uPG9iamVjdD4+IHwgQXJyYXk8e1xuICAgICAgICBba2V5OiBzdHJpbmddOiBDU1ZFeHBvcnRDb2x1bW48b2JqZWN0PlxuICAgIH0+KTogb2JqZWN0W10gfCBvYmplY3RbXVtdIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBcnJheU9mQXJyYXlzKGRhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tdWx0aVRhYkhlYWRlcnMoZGF0YSBhcyBvYmplY3RbXVtdLFxuICAgICAgICAgICAgICAgIGNvbHVtbnMgYXMgQXJyYXk8eyBba2V5OiBzdHJpbmddOiBDU1ZFeHBvcnRDb2x1bW48b2JqZWN0PiB9Pik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zaW5nbGVUYWJIZWFkZXJzKGRhdGEsIGNvbHVtbnMgYXMgQXJyYXk8Q1NWRXhwb3J0Q29sdW1uPG9iamVjdD4+KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbXVsdGlUYWJIZWFkZXJzKGRhdGE6IG9iamVjdFtdW10sIGNvbHVtbnM6IEFycmF5PHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogQ1NWRXhwb3J0Q29sdW1uPG9iamVjdD5cbiAgICB9Pik6IG9iamVjdFtdW10ge1xuICAgICAgICBjb25zdCBkYXRhV2l0aEhlYWRlcnM6IG9iamVjdFtdW10gPSBbXTtcbiAgICAgICAgZGF0YS5mb3JFYWNoKChhcnI6IG9iamVjdFtdLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoYXJyWzBdKTtcbiAgICAgICAgICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyc1trZXldID0gY29sdW1uc1tpbmRleF1ba2V5XS5oZWFkZXI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lZERhdGEgPSBkZWVwQ2xvbmUoYXJyKTtcbiAgICAgICAgICAgIGNsb25lZERhdGEudW5zaGlmdChoZWFkZXJzKTtcbiAgICAgICAgICAgIGRhdGFXaXRoSGVhZGVycy5wdXNoKGNsb25lZERhdGEpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRhdGFXaXRoSGVhZGVycztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNpbmdsZVRhYkhlYWRlcnMoZGF0YTogb2JqZWN0W10sIGNvbHVtbnM6IEFycmF5PENTVkV4cG9ydENvbHVtbjxvYmplY3Q+Pik6IG9iamVjdFtdIHtcbiAgICAgICAgY29uc3QgaGVhZGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZGF0YVswXSk7XG5cbiAgICAgICAga2V5cy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBoZWFkZXJzW2tleV0gPSBjb2x1bW5zW2luZGV4XS5oZWFkZXI7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNsb25lZERhdGEgPSBkZWVwQ2xvbmUoZGF0YSk7XG4gICAgICAgIGNsb25lZERhdGEudW5zaGlmdChoZWFkZXJzKTtcbiAgICAgICAgcmV0dXJuIGNsb25lZERhdGE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHBvcnQoZGF0YTogb2JqZWN0W10sIGZpbGVuYW1lOiBzdHJpbmcpOiB2b2lkO1xuICAgIHByaXZhdGUgZXhwb3J0KGRhdGE6IG9iamVjdFtdW10sIGZpbGVuYW1lOiBzdHJpbmcsIHRhYnM6IHN0cmluZ1tdKTogdm9pZDtcbiAgICBwcml2YXRlIGV4cG9ydChkYXRhOiBvYmplY3RbXSB8IG9iamVjdFtdW10sIGZpbGVuYW1lOiBzdHJpbmcsIHRhYnM/OiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBzaGVldE5hbWUsXG4gICAgICAgICAgICBmaWxlTmFtZVxuICAgICAgICB9ID0gdGhpcy5nZXRGaWxlTmFtZShmaWxlbmFtZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNBcnJheU9mQXJyYXlzKGRhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tdWx0aVRhYkV4cG9ydChkYXRhIGFzIG9iamVjdFtdW10sIGZpbGVOYW1lLCB0YWJzISk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zaW5nbGVUYWJFeHBvcnQoZGF0YSwgc2hlZXROYW1lLCBmaWxlTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG11bHRpVGFiRXhwb3J0KGRhdGE6IG9iamVjdFtdW10sIGZpbGVuYW1lOiBzdHJpbmcsIHRhYnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdvcmtib29rOiBYTFNYLldvcmtCb29rID0gZGF0YS5yZWR1Y2UoKHJlc3VsdCwgY3VyciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5TaGVldHMgPSB7XG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LlNoZWV0cyxcbiAgICAgICAgICAgICAgICBbdGFic1tpbmRleF1dOiBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoY3Vyciwge3NraXBIZWFkZXI6IHRydWV9KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlc3VsdC5TaGVldE5hbWVzID0gWy4uLnJlc3VsdC5TaGVldE5hbWVzLCB0YWJzW2luZGV4XV07XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICBTaGVldHMgICAgOiB7fSxcbiAgICAgICAgICAgIFNoZWV0TmFtZXM6IFtdXG4gICAgICAgIH0gYXMgWExTWC5Xb3JrQm9vayk7XG4gICAgICAgIFhMU1gud3JpdGVGaWxlKHdvcmtib29rLCBmaWxlbmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaW5nbGVUYWJFeHBvcnQoZGF0YTogb2JqZWN0W10sIHNoZWV0TmFtZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdvcmtzaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChkYXRhLCB7c2tpcEhlYWRlcjogdHJ1ZX0pO1xuICAgICAgICBjb25zdCB3b3JrYm9vayA9IFhMU1gudXRpbHMuYm9va19uZXcoKTtcbiAgICAgICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3b3JrYm9vaywgd29ya3NoZWV0LCBzaGVldE5hbWUpO1xuICAgICAgICBYTFNYLndyaXRlRmlsZSh3b3JrYm9vaywgZmlsZW5hbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZU5hbWUoc2hlZXROYW1lOiBzdHJpbmcpOiB7IHNoZWV0TmFtZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nIH0ge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke3NoZWV0TmFtZX0ueGxzeGA7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaGVldE5hbWUsXG4gICAgICAgICAgICBmaWxlTmFtZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FycmF5T2ZBcnJheXMoYXJyYXk6IG9iamVjdFtdIHwgb2JqZWN0W11bXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYXJyYXkuZXZlcnkoKGl0ZW0pID0+IEFycmF5LmlzQXJyYXkoaXRlbSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from '@dbg-riskit/angular-view';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./excel.export.service";
|
|
5
|
-
import * as i2 from "@dbg-riskit/common";
|
|
6
|
-
export class ExcelFileExportDirective extends BaseComponent {
|
|
7
|
-
constructor(elementRef, excelExportService, logger) {
|
|
8
|
-
super();
|
|
9
|
-
this.elementRef = elementRef;
|
|
10
|
-
this.excelExportService = excelExportService;
|
|
11
|
-
this.logger = logger;
|
|
12
|
-
this.filename = 'data';
|
|
13
|
-
}
|
|
14
|
-
isDisabled() {
|
|
15
|
-
if (this.elementRef.nativeElement.disabled === true) {
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
if (this.disabled == null) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
switch (typeof this.disabled) {
|
|
22
|
-
case 'boolean':
|
|
23
|
-
return this.disabled;
|
|
24
|
-
case 'string':
|
|
25
|
-
return this.disabled.toLowerCase() === 'disabled' || this.disabled.toLowerCase() === 'true';
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
export() {
|
|
30
|
-
if (this.isDisabled()) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (this.data == null) {
|
|
34
|
-
this.logger.error(new Error('No data provided for export!'));
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if ((this.tabs && this.tabs.length && !this.excelExportService.isArrayOfArrays(this.data)) ||
|
|
38
|
-
(!this.tabs && this.excelExportService.isArrayOfArrays(this.data))) {
|
|
39
|
-
this.logger.error(new Error('Wrong data structure provided!'));
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (!this.columns) {
|
|
43
|
-
this.logger.error(new Error('Columns not provided!'));
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (this.tabs == null) {
|
|
47
|
-
this.excelExportService.exportAsExcel(this.data, this.filename, this.columns);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this.excelExportService.exportAsExcel(this.data, this.filename, this.columns, this.tabs);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelFileExportDirective, deps: [{ token: i0.ElementRef }, { token: i1.ExcelExportService }, { token: i2.Logger }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
54
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ExcelFileExportDirective, selector: "[risk-xlsx-export]", inputs: { columns: ["risk-xlsx-export-columns", "columns"], data: ["risk-xlsx-export", "data"], filename: ["risk-xlsx-export-filename", "filename"], tabs: ["risk-xlsx-export-tabs", "tabs"], disabled: "disabled" }, host: { listeners: { "click": "export()" }, properties: { "class.risk-xlsx-export": "true" } }, usesInheritance: true, ngImport: i0 }); }
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExcelFileExportDirective, decorators: [{
|
|
57
|
-
type: Directive,
|
|
58
|
-
args: [{
|
|
59
|
-
selector: '[risk-xlsx-export]',
|
|
60
|
-
host: {
|
|
61
|
-
'[class.risk-xlsx-export]': 'true',
|
|
62
|
-
'(click)': 'export()'
|
|
63
|
-
}
|
|
64
|
-
}]
|
|
65
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ExcelExportService }, { type: i2.Logger }], propDecorators: { columns: [{
|
|
66
|
-
type: Input,
|
|
67
|
-
args: ['risk-xlsx-export-columns']
|
|
68
|
-
}], data: [{
|
|
69
|
-
type: Input,
|
|
70
|
-
args: ['risk-xlsx-export']
|
|
71
|
-
}], filename: [{
|
|
72
|
-
type: Input,
|
|
73
|
-
args: ['risk-xlsx-export-filename']
|
|
74
|
-
}], tabs: [{
|
|
75
|
-
type: Input,
|
|
76
|
-
args: ['risk-xlsx-export-tabs']
|
|
77
|
-
}], disabled: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuZmlsZS5leHBvcnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGtnL2RiZy1yaXNraXQvYW5ndWxhci1leGNlbC1leHBvcnQvc3JjL2xpYi9leGNlbC5maWxlLmV4cG9ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7O0FBZ0J2RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQXNCdkQsWUFBb0MsVUFBc0IsRUFDdEIsa0JBQXNDLEVBQ3RDLE1BQWM7UUFDOUMsS0FBSyxFQUFFLENBQUM7UUFId0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFWM0MsYUFBUSxHQUFHLE1BQU0sQ0FBQztJQVl6QixDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2xELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELFFBQVEsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsS0FBSyxTQUFTO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN6QixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQztRQUNwRyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztZQUM3RCxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEYsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztZQUMvRCxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1lBQ3RELE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUMxRCxJQUFJLENBQUMsT0FBeUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUN4RSxJQUFJLENBQUMsT0FBNEQsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEYsQ0FBQztJQUNMLENBQUM7K0dBM0VRLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQVBwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLElBQUksRUFBTTt3QkFDTiwwQkFBMEIsRUFBRSxNQUFNO3dCQUNsQyxTQUFTLEVBQW1CLFVBQVU7cUJBQ3pDO2lCQUNKO3FJQVNVLE9BQU87c0JBRGIsS0FBSzt1QkFBQywwQkFBMEI7Z0JBSTFCLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBSWxCLFFBQVE7c0JBRGQsS0FBSzt1QkFBQywyQkFBMkI7Z0JBSTNCLElBQUk7c0JBRFYsS0FBSzt1QkFBQyx1QkFBdUI7Z0JBSXZCLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Jhc2VDb21wb25lbnR9IGZyb20gJ0BkYmctcmlza2l0L2FuZ3VsYXItdmlldyc7XG5pbXBvcnQge0xvZ2dlciwgVmFsdWVHZXR0ZXJ9IGZyb20gJ0BkYmctcmlza2l0L2NvbW1vbic7XG5pbXBvcnQge0V4Y2VsRXhwb3J0U2VydmljZX0gZnJvbSAnLi9leGNlbC5leHBvcnQuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ1NWRXhwb3J0Q29sdW1uPFQ+IHtcbiAgICBnZXQ6IFZhbHVlR2V0dGVyPFQ+O1xuICAgIGhlYWRlcjogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyaXNrLXhsc3gtZXhwb3J0XScsXG4gICAgaG9zdCAgICA6IHtcbiAgICAgICAgJ1tjbGFzcy5yaXNrLXhsc3gtZXhwb3J0XSc6ICd0cnVlJyxcbiAgICAgICAgJyhjbGljayknICAgICAgICAgICAgICAgICA6ICdleHBvcnQoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEV4Y2VsRmlsZUV4cG9ydERpcmVjdGl2ZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuXG4gICAgLyoqXG4gICAgICogJ3Jpc2steGxzeC1leHBvcnQtY29sdW1ucycgY2FuIGJlIHByb3ZpZGVkIGFzIGFycmF5IE9SIGFycmF5IG9mIGFycmF5cyxcbiAgICAgKiBXaGVuIHByb3ZpZGVkIGFzIGFycmF5IG9mIGFycmF5cyB0aGVuICdyaXNrLXhsc3gtZXhwb3J0JyBzaG91bGQgYmUgcHJvdmlkZWQgYXMgYXJyYXkgb2YgYXJyYXlzIGFzIHdlbGwsXG4gICAgICogVGhhdCBtZWFucyB0aGF0IG11bHRpcGxlIHRhYnMgYXJlIHVzZWQsIHRhYiBuYW1lcyBhcmUgcHJvdmlkZWQgaW4gJ3Jpc2steGxzeC1leHBvcnQtdGFicycgYXMgYXJyYXkgb2Ygc3RyaW5ncyxcbiAgICAgKi9cbiAgICBASW5wdXQoJ3Jpc2steGxzeC1leHBvcnQtY29sdW1ucycpXG4gICAgcHVibGljIGNvbHVtbnM/OiBBcnJheTxDU1ZFeHBvcnRDb2x1bW48b2JqZWN0Pj4gfCBBcnJheTx7IFtrZXk6IHN0cmluZ106IENTVkV4cG9ydENvbHVtbjxvYmplY3Q+IH0+O1xuXG4gICAgQElucHV0KCdyaXNrLXhsc3gtZXhwb3J0JylcbiAgICBwdWJsaWMgZGF0YT86IG9iamVjdFtdIHwgb2JqZWN0W11bXTtcblxuICAgIEBJbnB1dCgncmlzay14bHN4LWV4cG9ydC1maWxlbmFtZScpXG4gICAgcHVibGljIGZpbGVuYW1lID0gJ2RhdGEnO1xuXG4gICAgQElucHV0KCdyaXNrLXhsc3gtZXhwb3J0LXRhYnMnKVxuICAgIHB1YmxpYyB0YWJzPzogc3RyaW5nW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZD86IGJvb2xlYW4gfCBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV4Y2VsRXhwb3J0U2VydmljZTogRXhjZWxFeHBvcnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0eXBlb2YgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkLnRvTG93ZXJDYXNlKCkgPT09ICdkaXNhYmxlZCcgfHwgdGhpcy5kaXNhYmxlZC50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cG9ydCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kYXRhID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKG5ldyBFcnJvcignTm8gZGF0YSBwcm92aWRlZCBmb3IgZXhwb3J0IScpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgodGhpcy50YWJzICYmIHRoaXMudGFicy5sZW5ndGggJiYgIXRoaXMuZXhjZWxFeHBvcnRTZXJ2aWNlLmlzQXJyYXlPZkFycmF5cyh0aGlzLmRhdGEpKSB8fFxuICAgICAgICAgICAgKCF0aGlzLnRhYnMgJiYgdGhpcy5leGNlbEV4cG9ydFNlcnZpY2UuaXNBcnJheU9mQXJyYXlzKHRoaXMuZGF0YSkpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihuZXcgRXJyb3IoJ1dyb25nIGRhdGEgc3RydWN0dXJlIHByb3ZpZGVkIScpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5zKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihuZXcgRXJyb3IoJ0NvbHVtbnMgbm90IHByb3ZpZGVkIScpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRhYnMgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5leGNlbEV4cG9ydFNlcnZpY2UuZXhwb3J0QXNFeGNlbCh0aGlzLmRhdGEsIHRoaXMuZmlsZW5hbWUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zIGFzIEFycmF5PENTVkV4cG9ydENvbHVtbjxvYmplY3Q+Pik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmV4Y2VsRXhwb3J0U2VydmljZS5leHBvcnRBc0V4Y2VsKHRoaXMuZGF0YSBhcyBvYmplY3RbXVtdLCB0aGlzLmZpbGVuYW1lLFxuICAgICAgICAgICAgICAgIHRoaXMuY29sdW1ucyBhcyBBcnJheTx7IFtrZXk6IHN0cmluZ106IENTVkV4cG9ydENvbHVtbjxvYmplY3Q+IH0+LCB0aGlzLnRhYnMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './lib/excel.export.module';
|
|
2
|
-
export * from './lib/excel.export.service';
|
|
3
|
-
export * from './lib/excel.file.export.directive';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItZXhjZWwtZXhwb3J0L3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZXhjZWwuZXhwb3J0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9leGNlbC5leHBvcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9leGNlbC5maWxlLmV4cG9ydC5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./excel.file.export.directive";
|
|
3
|
-
import * as i2 from "@angular/common";
|
|
4
|
-
export declare class ExcelExportModule {
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ExcelExportModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ExcelExportModule, [typeof i1.ExcelFileExportDirective], [typeof i2.CommonModule], [typeof i1.ExcelFileExportDirective]>;
|
|
7
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<ExcelExportModule>;
|
|
8
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CSVExportColumn } from './excel.file.export.directive';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class ExcelExportService {
|
|
4
|
-
exportAsExcel(exportData: object[], filename: string, columns: Array<CSVExportColumn<object>>): void;
|
|
5
|
-
exportAsExcel(exportData: object[][], filename: string, columns: Array<{
|
|
6
|
-
[key: string]: CSVExportColumn<object>;
|
|
7
|
-
}>, tabs: string[]): void;
|
|
8
|
-
private createHeaders;
|
|
9
|
-
private multiTabHeaders;
|
|
10
|
-
private singleTabHeaders;
|
|
11
|
-
private export;
|
|
12
|
-
private multiTabExport;
|
|
13
|
-
private singleTabExport;
|
|
14
|
-
private getFileName;
|
|
15
|
-
isArrayOfArrays(array: object[] | object[][]): boolean;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ExcelExportService, never>;
|
|
17
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ExcelExportService>;
|
|
18
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from '@dbg-riskit/angular-view';
|
|
3
|
-
import { Logger, ValueGetter } from '@dbg-riskit/common';
|
|
4
|
-
import { ExcelExportService } from './excel.export.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export interface CSVExportColumn<T> {
|
|
7
|
-
get: ValueGetter<T>;
|
|
8
|
-
header: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class ExcelFileExportDirective extends BaseComponent {
|
|
11
|
-
private readonly elementRef;
|
|
12
|
-
private readonly excelExportService;
|
|
13
|
-
private readonly logger;
|
|
14
|
-
/**
|
|
15
|
-
* 'risk-xlsx-export-columns' can be provided as array OR array of arrays,
|
|
16
|
-
* When provided as array of arrays then 'risk-xlsx-export' should be provided as array of arrays as well,
|
|
17
|
-
* That means that multiple tabs are used, tab names are provided in 'risk-xlsx-export-tabs' as array of strings,
|
|
18
|
-
*/
|
|
19
|
-
columns?: Array<CSVExportColumn<object>> | Array<{
|
|
20
|
-
[key: string]: CSVExportColumn<object>;
|
|
21
|
-
}>;
|
|
22
|
-
data?: object[] | object[][];
|
|
23
|
-
filename: string;
|
|
24
|
-
tabs?: string[];
|
|
25
|
-
disabled?: boolean | string;
|
|
26
|
-
constructor(elementRef: ElementRef, excelExportService: ExcelExportService, logger: Logger);
|
|
27
|
-
private isDisabled;
|
|
28
|
-
export(): void;
|
|
29
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ExcelFileExportDirective, never>;
|
|
30
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ExcelFileExportDirective, "[risk-xlsx-export]", never, { "columns": { "alias": "risk-xlsx-export-columns"; "required": false; }; "data": { "alias": "risk-xlsx-export"; "required": false; }; "filename": { "alias": "risk-xlsx-export-filename"; "required": false; }; "tabs": { "alias": "risk-xlsx-export-tabs"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
|
|
31
|
-
}
|
package/public_api.d.ts
DELETED