Browse Source

Refactoring

pull/3394/head
Thomas Kaul 1 year ago
parent
commit
79199152a7
  1. 36
      apps/client/src/app/pages/portfolio/activities/activities-page.component.ts
  2. 2
      apps/client/src/app/pages/portfolio/activities/activities-page.html
  3. 10
      apps/client/src/app/services/data.service.ts
  4. 4
      libs/ui/src/lib/activities-table/activities-table.component.html
  5. 16
      libs/ui/src/lib/activities-table/activities-table.component.ts

36
apps/client/src/app/pages/portfolio/activities/activities-page.component.ts

@ -153,34 +153,24 @@ export class ActivitiesPageComponent implements OnDestroy, OnInit {
this.openCreateActivityDialog(aActivity); this.openCreateActivityDialog(aActivity);
} }
public onDeleteActivity(aId: string) { public onDeleteActivities() {
this.dataService this.dataService
.deleteActivity(aId) .deleteActivities({
filters: this.userService.getFilters()
})
.pipe(takeUntil(this.unsubscribeSubject)) .pipe(takeUntil(this.unsubscribeSubject))
.subscribe({ .subscribe(() => {
next: () => { this.fetchActivities();
this.fetchActivities();
}
}); });
} }
public onDeleteAllActivities() { public onDeleteActivity(aId: string) {
const confirmation = confirm( this.dataService
$localize`Do you really want to delete all your activities?` .deleteActivity(aId)
); .pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => {
if (confirmation) { this.fetchActivities();
this.dataService });
.deleteAllActivities({
filters: this.userService.getFilters()
})
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe({
next: () => {
this.fetchActivities();
}
});
}
} }
public onExport(activityIds?: string[]) { public onExport(activityIds?: string[]) {

2
apps/client/src/app/pages/portfolio/activities/activities-page.html

@ -20,10 +20,10 @@
[sortColumn]="sortColumn" [sortColumn]="sortColumn"
[sortDirection]="sortDirection" [sortDirection]="sortDirection"
[totalItems]="totalItems" [totalItems]="totalItems"
(activitiesDeleted)="onDeleteActivities()"
(activityDeleted)="onDeleteActivity($event)" (activityDeleted)="onDeleteActivity($event)"
(activityToClone)="onCloneActivity($event)" (activityToClone)="onCloneActivity($event)"
(activityToUpdate)="onUpdateActivity($event)" (activityToUpdate)="onUpdateActivity($event)"
(deleteAllActivities)="onDeleteAllActivities()"
(export)="onExport()" (export)="onExport()"
(exportDrafts)="onExportDrafts($event)" (exportDrafts)="onExportDrafts($event)"
(import)="onImport()" (import)="onImport()"

10
apps/client/src/app/services/data.service.ts

@ -256,16 +256,16 @@ export class DataService {
return this.http.delete<any>(`/api/v1/account-balance/${aId}`); return this.http.delete<any>(`/api/v1/account-balance/${aId}`);
} }
public deleteActivity(aId: string) { public deleteActivities({ filters }) {
return this.http.delete<any>(`/api/v1/order/${aId}`);
}
public deleteAllActivities({ filters }) {
let params = this.buildFiltersAsQueryParams({ filters }); let params = this.buildFiltersAsQueryParams({ filters });
return this.http.delete<any>(`/api/v1/order`, { params }); return this.http.delete<any>(`/api/v1/order`, { params });
} }
public deleteActivity(aId: string) {
return this.http.delete<any>(`/api/v1/order/${aId}`);
}
public deleteBenchmark({ dataSource, symbol }: UniqueAsset) { public deleteBenchmark({ dataSource, symbol }: UniqueAsset) {
return this.http.delete<any>(`/api/v1/benchmark/${dataSource}/${symbol}`); return this.http.delete<any>(`/api/v1/benchmark/${dataSource}/${symbol}`);
} }

4
libs/ui/src/lib/activities-table/activities-table.component.html

@ -59,11 +59,11 @@
class="align-items-center d-flex" class="align-items-center d-flex"
mat-menu-item mat-menu-item
[disabled]="!hasPermissionToDeleteActivity" [disabled]="!hasPermissionToDeleteActivity"
(click)="onDeleteAllActivities()" (click)="onDeleteActivities()"
> >
<span class="align-items-center d-flex"> <span class="align-items-center d-flex">
<ion-icon class="mr-2" name="trash-outline" /> <ion-icon class="mr-2" name="trash-outline" />
<span i18n>Delete all Activities</span> <span i18n>Delete Activities</span>
</span> </span>
</button> </button>
</mat-menu> </mat-menu>

16
libs/ui/src/lib/activities-table/activities-table.component.ts

@ -92,10 +92,10 @@ export class GfActivitiesTableComponent
@Input() sortDisabled = false; @Input() sortDisabled = false;
@Input() totalItems = Number.MAX_SAFE_INTEGER; @Input() totalItems = Number.MAX_SAFE_INTEGER;
@Output() activitiesDeleted = new EventEmitter<void>();
@Output() activityDeleted = new EventEmitter<string>(); @Output() activityDeleted = new EventEmitter<string>();
@Output() activityToClone = new EventEmitter<OrderWithAccount>(); @Output() activityToClone = new EventEmitter<OrderWithAccount>();
@Output() activityToUpdate = new EventEmitter<OrderWithAccount>(); @Output() activityToUpdate = new EventEmitter<OrderWithAccount>();
@Output() deleteAllActivities = new EventEmitter<void>();
@Output() export = new EventEmitter<void>(); @Output() export = new EventEmitter<void>();
@Output() exportDrafts = new EventEmitter<string[]>(); @Output() exportDrafts = new EventEmitter<string[]>();
@Output() import = new EventEmitter<void>(); @Output() import = new EventEmitter<void>();
@ -211,6 +211,16 @@ export class GfActivitiesTableComponent
this.activityToClone.emit(aActivity); this.activityToClone.emit(aActivity);
} }
public onDeleteActivities() {
const confirmation = confirm(
$localize`Do you really want to delete these activities?`
);
if (confirmation) {
this.activitiesDeleted.emit();
}
}
public onDeleteActivity(aId: string) { public onDeleteActivity(aId: string) {
const confirmation = confirm( const confirmation = confirm(
$localize`Do you really want to delete this activity?` $localize`Do you really want to delete this activity?`
@ -241,10 +251,6 @@ export class GfActivitiesTableComponent
); );
} }
public onDeleteAllActivities() {
this.deleteAllActivities.emit();
}
public onImport() { public onImport() {
this.import.emit(); this.import.emit();
} }

Loading…
Cancel
Save