diff --git a/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts b/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts
index 0198ab27a..51e5cbe43 100644
--- a/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts
+++ b/apps/client/src/app/components/home-watchlist/home-watchlist.component.ts
@@ -41,6 +41,7 @@ import { CreateWatchlistItemDialogParams } from './create-watchlist-item-dialog/
export class HomeWatchlistComponent implements OnDestroy, OnInit {
public deviceType: string;
public hasPermissionToCreateWatchlistItem: boolean;
+ public hasPermissionToDeleteWatchlistItem: boolean;
public user: User;
public watchlist: Benchmark[];
@@ -75,6 +76,10 @@ export class HomeWatchlistComponent implements OnDestroy, OnInit {
this.user.permissions,
permissions.createWatchlistItem
);
+ this.hasPermissionToDeleteWatchlistItem = hasPermission(
+ this.user.permissions,
+ permissions.deleteWatchlistItem
+ );
this.changeDetectorRef.markForCheck();
}
@@ -90,6 +95,15 @@ export class HomeWatchlistComponent implements OnDestroy, OnInit {
this.unsubscribeSubject.complete();
}
+ public onWatchlistItemDeleted(item: Benchmark) {
+ this.dataService
+ .deleteWatchlistItem(item)
+ .pipe(takeUntil(this.unsubscribeSubject))
+ .subscribe({
+ next: () => this.loadWatchlistData()
+ });
+ }
+
private loadWatchlistData() {
this.dataService
.fetchWatchlist()
diff --git a/apps/client/src/app/components/home-watchlist/home-watchlist.html b/apps/client/src/app/components/home-watchlist/home-watchlist.html
index 0a2e37279..98cda972e 100644
--- a/apps/client/src/app/components/home-watchlist/home-watchlist.html
+++ b/apps/client/src/app/components/home-watchlist/home-watchlist.html
@@ -12,8 +12,12 @@
diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts
index 526c61972..353bc4153 100644
--- a/apps/client/src/app/services/data.service.ts
+++ b/apps/client/src/app/services/data.service.ts
@@ -327,6 +327,10 @@ export class DataService {
return this.http.delete(`/api/v1/user/${aId}`);
}
+ public deleteWatchlistItem({ dataSource, symbol }: AssetProfileIdentifier) {
+ return this.http.delete(`/api/v1/watchlist/${dataSource}/${symbol}`);
+ }
+
public fetchAccesses() {
return this.http.get('/api/v1/access');
}