Browse Source

Feature/extend menu in activities table component (#5855)

* Extend menu in activities table component

* Update changelog
pull/5842/head^2
David Requeno 2 months ago
committed by GitHub
parent
commit
0ea2edd1e5
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      CHANGELOG.md
  2. 14
      libs/ui/src/lib/activities-table/activities-table.component.html
  3. 22
      libs/ui/src/lib/activities-table/activities-table.component.ts

6
CHANGELOG.md

@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
### Added
- Extended the activities table menu with a _View Holding_ item
## 2.212.0 - 2025-10-29 ## 2.212.0 - 2025-10-29
### Added ### Added

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

@ -437,6 +437,14 @@
class="no-max-width" class="no-max-width"
xPosition="before" xPosition="before"
> >
@if (canClickActivity(element)) {
<button mat-menu-item (click)="onClickActivity(element)">
<span class="align-items-center d-flex">
<ion-icon class="mr-2" name="wallet-outline" />
<span i18n>View Holding</span>
</span>
</button>
}
<button mat-menu-item (click)="onUpdateActivity(element)"> <button mat-menu-item (click)="onUpdateActivity(element)">
<span class="align-items-center d-flex"> <span class="align-items-center d-flex">
<ion-icon class="mr-2" name="create-outline" /> <ion-icon class="mr-2" name="create-outline" />
@ -479,11 +487,7 @@
*matRowDef="let row; columns: displayedColumns" *matRowDef="let row; columns: displayedColumns"
mat-row mat-row
[ngClass]="{ [ngClass]="{
'cursor-pointer': 'cursor-pointer': canClickActivity(row)
hasPermissionToOpenDetails &&
isExcludedFromAnalysis(row) === false &&
row.isDraft === false &&
['BUY', 'DIVIDEND', 'SELL'].includes(row.type)
}" }"
(click)="onClickActivity(row)" (click)="onClickActivity(row)"
></tr> ></tr>

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

@ -56,7 +56,8 @@ import {
documentTextOutline, documentTextOutline,
ellipsisHorizontal, ellipsisHorizontal,
ellipsisVertical, ellipsisVertical,
trashOutline trashOutline,
walletOutline
} from 'ionicons/icons'; } from 'ionicons/icons';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, Subscription, takeUntil } from 'rxjs'; import { Subject, Subscription, takeUntil } from 'rxjs';
@ -153,7 +154,8 @@ export class GfActivitiesTableComponent
documentTextOutline, documentTextOutline,
ellipsisHorizontal, ellipsisHorizontal,
ellipsisVertical, ellipsisVertical,
trashOutline trashOutline,
walletOutline
}); });
} }
@ -226,6 +228,15 @@ export class GfActivitiesTableComponent
return numSelectedRows === numTotalRows; return numSelectedRows === numTotalRows;
} }
public canClickActivity(activity: Activity) {
return (
this.hasPermissionToOpenDetails &&
this.isExcludedFromAnalysis(activity) === false &&
activity.isDraft === false &&
['BUY', 'DIVIDEND', 'SELL'].includes(activity.type)
);
}
public isExcludedFromAnalysis(activity: Activity) { public isExcludedFromAnalysis(activity: Activity) {
return ( return (
activity.account?.isExcluded || activity.account?.isExcluded ||
@ -244,12 +255,7 @@ export class GfActivitiesTableComponent
if (!activity.error) { if (!activity.error) {
this.selectedRows.toggle(activity); this.selectedRows.toggle(activity);
} }
} else if ( } else if (this.canClickActivity(activity)) {
this.hasPermissionToOpenDetails &&
this.isExcludedFromAnalysis(activity) === false &&
activity.isDraft === false &&
['BUY', 'DIVIDEND', 'SELL'].includes(activity.type)
) {
this.activityClicked.emit({ this.activityClicked.emit({
dataSource: activity.SymbolProfile.dataSource, dataSource: activity.SymbolProfile.dataSource,
symbol: activity.SymbolProfile.symbol symbol: activity.SymbolProfile.symbol

Loading…
Cancel
Save