diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
index 6bb3fa640..588c2c292 100644
--- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
+++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
@@ -43,7 +43,39 @@ export class ImportActivitiesDialog implements OnDestroy {
this.dialogRef.close();
}
- public onImport() {
+ public async onImportActivities() {
+ try {
+ await this.importActivitiesService.importSelectedActivities(
+ this.selectedActivities
+ );
+
+ this.snackBar.open(
+ '✅ ' + $localize`Import has been completed`,
+ undefined,
+ {
+ duration: 3000
+ }
+ );
+ } catch (error) {
+ this.snackBar.open(
+ $localize`Oops! Something went wrong.` +
+ ' ' +
+ $localize`Please try again later.`,
+ $localize`Okay`,
+ { duration: 3000 }
+ );
+ } finally {
+ this.dialogRef.close();
+ }
+ }
+
+ public onReset() {
+ this.details = [];
+ this.errorMessages = [];
+ this.isFileSelected = false;
+ }
+
+ public onSelectFile() {
const input = document.createElement('input');
input.accept = 'application/JSON, .csv';
input.type = 'file';
@@ -136,38 +168,6 @@ export class ImportActivitiesDialog implements OnDestroy {
this.selectedActivities = data;
}
- public async importActivities() {
- try {
- await this.importActivitiesService.importSelectedActivities(
- this.selectedActivities
- );
-
- this.snackBar.open(
- '✅ ' + $localize`Import has been completed`,
- undefined,
- {
- duration: 3000
- }
- );
- } catch (error) {
- this.snackBar.open(
- $localize`Oops! Something went wrong.` +
- ' ' +
- $localize`Please try again later.`,
- $localize`Okay`,
- { duration: 3000 }
- );
- } finally {
- this.dialogRef.close();
- }
- }
-
- public onReset() {
- this.details = [];
- this.errorMessages = [];
- this.isFileSelected = false;
- }
-
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
index 1854d111b..7b5ad648b 100644
--- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
+++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
@@ -12,7 +12,7 @@
class="py-3"
color="primary"
mat-stroked-button
- (click)="onImport()"
+ (click)="onSelectFile()"
>
Choose File
@@ -89,7 +89,7 @@
color="primary"
mat-flat-button
[disabled]="!selectedActivities?.length"
- (click)="importActivities()"
+ (click)="onImportActivities()"
>
Import
diff --git a/libs/ui/src/lib/activities-table/activities-table.component.html b/libs/ui/src/lib/activities-table/activities-table.component.html
index 3eb0cb01b..305a69e85 100644
--- a/libs/ui/src/lib/activities-table/activities-table.component.html
+++ b/libs/ui/src/lib/activities-table/activities-table.component.html
@@ -20,7 +20,7 @@
diff --git a/libs/ui/src/lib/activities-table/activities-table.component.ts b/libs/ui/src/lib/activities-table/activities-table.component.ts
index 9ab134052..0b47fe3bf 100644
--- a/libs/ui/src/lib/activities-table/activities-table.component.ts
+++ b/libs/ui/src/lib/activities-table/activities-table.component.ts
@@ -14,7 +14,6 @@ import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';
import { Router } from '@angular/router';
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface';
-import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto';
import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config';
import { getDateFormatString } from '@ghostfolio/common/helper';
import { Filter, UniqueAsset } from '@ghostfolio/common/interfaces';
@@ -59,7 +58,6 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
public allFilters: Filter[];
public dataSource: MatTableDataSource = new MatTableDataSource();
- public selectedRows = new SelectionModel(true, []);
public defaultDateFormat: string;
public displayedColumns = [];
public endOfToday = endOfToday();
@@ -72,6 +70,7 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
public placeholder = '';
public routeQueryParams: Subscription;
public searchKeywords: string[] = [];
+ public selectedRows = new SelectionModel(true, []);
public totalFees: number;
public totalValue: number;
@@ -92,14 +91,6 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
return numSelectedRows === numTotalRows;
}
- public toggleAll() {
- this.areAllRowsSelected()
- ? this.selectedRows.clear()
- : this.dataSource.data.forEach((row) => this.selectedRows.select(row));
-
- this.selectedActivities.emit(this.selectedRows.selected);
- }
-
public ngOnChanges() {
this.displayedColumns = [
'select',
@@ -178,6 +169,21 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
this.totalValue = this.getTotalValue();
}
+ public onClickActivity(activity: Activity) {
+ if (this.showCheckbox) {
+ this.selectedRows.toggle(activity);
+ } else if (
+ this.hasPermissionToOpenDetails &&
+ !activity.isDraft &&
+ activity.type !== 'ITEM'
+ ) {
+ this.onOpenPositionDialog({
+ dataSource: activity.SymbolProfile.dataSource,
+ symbol: activity.SymbolProfile.symbol
+ });
+ }
+ }
+
public onCloneActivity(aActivity: OrderWithAccount) {
this.activityToClone.emit(aActivity);
}
@@ -234,25 +240,18 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
});
}
- public onClickActivity(activity: Activity) {
- if (this.showCheckbox) {
- this.selectedRows.toggle(activity);
- } else if (
- this.hasPermissionToOpenDetails &&
- !activity.isDraft &&
- activity.type !== 'ITEM'
- ) {
- this.onOpenPositionDialog({
- dataSource: activity.SymbolProfile.dataSource,
- symbol: activity.SymbolProfile.symbol
- });
- }
- }
-
public onUpdateActivity(aActivity: OrderWithAccount) {
this.activityToUpdate.emit(aActivity);
}
+ public toggleAllRows() {
+ this.areAllRowsSelected()
+ ? this.selectedRows.clear()
+ : this.dataSource.data.forEach((row) => this.selectedRows.select(row));
+
+ this.selectedActivities.emit(this.selectedRows.selected);
+ }
+
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
|