diff --git a/src/app/shared/csv.service.ts b/src/app/shared/csv.service.ts
index c532799e13..74dd460ded 100644
--- a/src/app/shared/csv.service.ts
+++ b/src/app/shared/csv.service.ts
@@ -26,11 +26,11 @@ export class CsvService {
}
}
- exportCSV({ data, title }: { data: any[], title: string }) {
+ exportCSV({ data, title, columns }: { data: any[], title: string, columns?: string[] }) {
const options = { title, filename: `Report of ${title} on ${new Date().toDateString()}`, showTitle: true };
const formattedData = data.map(({ _id, _rev, resourceId, type, createdOn, parentCode, data: d, hasInfo, ...dataToDisplay }) => {
- return Object.entries(dataToDisplay).reduce(
- (object, [ key, value ]: [ string, any ]) => ({ ...object, [markdownToPlainText(key)]: this.formatValue(key, value) }),
+ return (columns || Object.keys(dataToDisplay)).reduce(
+ (object, column) => ({ ...object, [markdownToPlainText(column)]: this.formatValue(column, dataToDisplay[column]) }),
{}
);
});
diff --git a/src/app/teams/teams-view-finances.component.html b/src/app/teams/teams-view-finances.component.html
index ff497c49d5..a82f3d677c 100644
--- a/src/app/teams/teams-view-finances.component.html
+++ b/src/app/teams/teams-view-finances.component.html
@@ -1,5 +1,6 @@
+
diff --git a/src/app/teams/teams-view-finances.component.ts b/src/app/teams/teams-view-finances.component.ts
index 18f7376c9e..d2ed8fc174 100644
--- a/src/app/teams/teams-view-finances.component.ts
+++ b/src/app/teams/teams-view-finances.component.ts
@@ -10,6 +10,7 @@ import { DialogsFormService } from '../shared/dialogs/dialogs-form.service';
import { DialogsLoadingService } from '../shared/dialogs/dialogs-loading.service';
import { DialogsPromptComponent } from '../shared/dialogs/dialogs-prompt.component';
import { millisecondsToDay } from '../meetups/constants';
+import { CsvService } from '../shared/csv.service';
@Component({
selector: 'planet-teams-view-finances',
@@ -38,6 +39,7 @@ export class TeamsViewFinancesComponent implements OnInit, OnChanges {
private planetMessageService: PlanetMessageService,
private dialogsFormService: DialogsFormService,
private dialogsLoadingService: DialogsLoadingService,
+ private csvService: CsvService,
private dialog: MatDialog
) {
this.couchService.currentTime().subscribe((date) => this.dateNow = date);
@@ -182,4 +184,13 @@ export class TeamsViewFinancesComponent implements OnInit, OnChanges {
this.emptyTable = this.table.data.length <= 1;
}
+ exportTransactions() {
+ const data = this.setTransactionsTable(this.finances).slice(1);
+ this.csvService.exportCSV({
+ data,
+ title: `${this.team.name} Financial Report`,
+ columns: [ 'date', 'description', 'credit', 'debit', 'balance' ]
+ });
+ }
+
}