Browse Source

Merge b590a95296 into f0f8d82b49

pull/7832/merge
Thomas Kaul 3 days ago
committed by GitHub
parent
commit
6a3b68b9f9
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      CHANGELOG.md
  2. 27
      apps/client/src/app/components/access-table/access-table.component.html
  3. 14
      apps/client/src/app/components/admin-jobs/admin-jobs.html
  4. 22
      apps/client/src/app/components/admin-market-data/admin-market-data.html
  5. 16
      apps/client/src/app/components/admin-overview/admin-overview.html
  6. 33
      apps/client/src/app/components/admin-platform/admin-platform.component.html
  7. 32
      apps/client/src/app/components/admin-settings/admin-settings.component.html
  8. 25
      apps/client/src/app/components/admin-tag/admin-tag.component.html
  9. 8
      apps/client/src/app/components/admin-users/admin-users.html
  10. 9
      apps/client/src/styles.scss
  11. 12
      libs/ui/src/lib/account-balances/account-balances.component.html
  12. 35
      libs/ui/src/lib/accounts-table/accounts-table.component.html
  13. 22
      libs/ui/src/lib/activities-table/activities-table.component.html
  14. 17
      libs/ui/src/lib/benchmark/benchmark.component.html
  15. 20
      libs/ui/src/lib/holdings-table/holdings-table.component.html
  16. 18
      libs/ui/src/lib/top-holdings/top-holdings.component.html

4
CHANGELOG.md

@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added a simplified mode to the holdings table component - Added a simplified mode to the holdings table component
### Changed
- Improved the column width distribution of various table components
## 3.67.1 - 2026-09-05 ## 3.67.1 - 2026-09-05
### Added ### Added

27
apps/client/src/app/components/access-table/access-table.component.html

@ -1,8 +1,19 @@
<div class="overflow-x-auto"> <div class="overflow-x-auto">
<table class="gf-table w-100" mat-table [dataSource]="dataSource"> <table class="gf-table w-100" mat-table [dataSource]="dataSource">
<ng-container matColumnDef="alias"> <ng-container matColumnDef="alias">
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Alias</th> <th
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> *matHeaderCellDef
class="gf-table-column-fill px-1"
i18n
mat-header-cell
>
Alias
</th>
<td
*matCellDef="let element"
class="gf-table-column-fill px-1 text-nowrap"
mat-cell
>
{{ element.alias }} {{ element.alias }}
</td> </td>
</ng-container> </ng-container>
@ -46,9 +57,17 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-right" mat-header-cell></th> <th
*matHeaderCellDef
class="gf-fit-content px-1 text-right"
mat-header-cell
></th>
<td *matCellDef="let element" class="px-1 text-right" mat-cell> <td
*matCellDef="let element"
class="gf-fit-content px-1 text-right"
mat-cell
>
<button <button
class="mx-1 no-min-width px-2" class="mx-1 no-min-width px-2"
mat-button mat-button

14
apps/client/src/app/components/admin-jobs/admin-jobs.html

@ -27,13 +27,17 @@
<ng-container matColumnDef="index"> <ng-container matColumnDef="index">
<th <th
*matHeaderCellDef *matHeaderCellDef
class="justify-content-end px-1 py-2" class="gf-table-column-fill justify-content-end px-1 py-2"
mat-header-cell mat-header-cell
mat-sort-header="id" mat-sort-header="id"
> >
<ng-container i18n>Job ID</ng-container> <ng-container i18n>Job ID</ng-container>
</th> </th>
<td *matCellDef="let element" class="px-1 py-2 text-right" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill px-1 py-2 text-right"
mat-cell
>
{{ element.id }} {{ element.id }}
</td> </td>
</ng-container> </ng-container>
@ -179,7 +183,11 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 py-2 text-right" mat-header-cell> <th
*matHeaderCellDef
class="gf-fit-content px-1 py-2 text-right"
mat-header-cell
>
<button <button
class="mx-1 no-min-width px-2" class="mx-1 no-min-width px-2"
mat-button mat-button

22
apps/client/src/app/components/admin-market-data/admin-market-data.html

@ -23,12 +23,12 @@
<ng-container matColumnDef="status"> <ng-container matColumnDef="status">
<th <th
*matHeaderCellDef *matHeaderCellDef
class="d-none d-lg-table-cell px-1" class="d-none d-lg-table-cell gf-fit-content px-1"
mat-header-cell mat-header-cell
></th> ></th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="d-none d-lg-table-cell px-1" class="d-none d-lg-table-cell gf-fit-content px-1"
mat-cell mat-cell
> >
@if (!element.isActive) { @if (!element.isActive) {
@ -49,8 +49,12 @@
</ng-container> </ng-container>
<ng-container matColumnDef="select"> <ng-container matColumnDef="select">
<th *matHeaderCellDef class="px-1" mat-header-cell></th> <th
<td *matCellDef="let element" class="px-1" mat-cell> *matHeaderCellDef
class="gf-fit-content px-1"
mat-header-cell
></th>
<td *matCellDef="let element" class="gf-fit-content px-1" mat-cell>
@if ( @if (
canDeleteAssetProfile({ canDeleteAssetProfile({
activitiesCount: element.activitiesCount, activitiesCount: element.activitiesCount,
@ -81,7 +85,7 @@
<ng-container matColumnDef="nameWithSymbol"> <ng-container matColumnDef="nameWithSymbol">
<th <th
*matHeaderCellDef *matHeaderCellDef
class="px-1" class="gf-table-column-fill px-1"
mat-header-cell mat-header-cell
mat-sort-header="symbol" mat-sort-header="symbol"
> >
@ -89,7 +93,7 @@
</th> </th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="line-height-normal px-1" class="gf-table-column-fill line-height-normal px-1"
mat-cell mat-cell
> >
<div class="text-truncate">{{ element.name }}</div> <div class="text-truncate">{{ element.name }}</div>
@ -243,7 +247,11 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-right" mat-header-cell> <th
*matHeaderCellDef
class="gf-fit-content px-1 text-right"
mat-header-cell
>
<button <button
class="mx-1 no-min-width px-2" class="mx-1 no-min-width px-2"
mat-button mat-button

16
apps/client/src/app/components/admin-overview/admin-overview.html

@ -161,10 +161,18 @@
[dataSource]="couponsDataSource" [dataSource]="couponsDataSource"
> >
<ng-container matColumnDef="code"> <ng-container matColumnDef="code">
<th *matHeaderCellDef class="px-1" mat-header-cell> <th
*matHeaderCellDef
class="gf-table-column-fill px-1"
mat-header-cell
>
<ng-container i18n>Code</ng-container> <ng-container i18n>Code</ng-container>
</th> </th>
<td *matCellDef="let element" class="px-1" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill px-1"
mat-cell
>
<gf-value <gf-value
class="text-monospace" class="text-monospace"
[enableCopyToClipboardButton]="true" [enableCopyToClipboardButton]="true"
@ -206,12 +214,12 @@
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th <th
*matHeaderCellDef *matHeaderCellDef
class="px-1 text-right" class="gf-fit-content px-1 text-right"
mat-header-cell mat-header-cell
></th> ></th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="px-1 text-right" class="gf-fit-content px-1 text-right"
mat-cell mat-cell
> >
<button <button

33
apps/client/src/app/components/admin-platform/admin-platform.component.html

@ -19,8 +19,12 @@
[dataSource]="dataSource" [dataSource]="dataSource"
> >
<ng-container matColumnDef="icon" sticky> <ng-container matColumnDef="icon" sticky>
<th *matHeaderCellDef class="px-1" mat-header-cell></th> <th *matHeaderCellDef class="gf-fit-content px-1" mat-header-cell></th>
<td *matCellDef="let element" class="px-1 text-center" mat-cell> <td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<gf-entity-logo <gf-entity-logo
[hasPlaceholder]="true" [hasPlaceholder]="true"
[tooltip]="element.name" [tooltip]="element.name"
@ -30,10 +34,19 @@
</ng-container> </ng-container>
<ng-container matColumnDef="name"> <ng-container matColumnDef="name">
<th *matHeaderCellDef class="px-1" mat-header-cell mat-sort-header="name"> <th
*matHeaderCellDef
class="gf-table-column-fill px-1"
mat-header-cell
mat-sort-header="name"
>
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill px-1 text-nowrap"
mat-cell
>
{{ element.name }} {{ element.name }}
</td> </td>
</ng-container> </ng-container>
@ -66,8 +79,16 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th> <th
<td *matCellDef="let element" class="px-1 text-center" mat-cell> *matHeaderCellDef
class="gf-fit-content px-1 text-center"
mat-header-cell
></th>
<td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<button <button
class="mx-1 no-min-width px-2" class="mx-1 no-min-width px-2"
mat-button mat-button

32
apps/client/src/app/components/admin-settings/admin-settings.component.html

@ -50,8 +50,16 @@
[dataSource]="dataSource" [dataSource]="dataSource"
> >
<ng-container matColumnDef="icon" sticky> <ng-container matColumnDef="icon" sticky>
<th *matHeaderCellDef class="px-1" mat-header-cell></th> <th
<td *matCellDef="let element" class="px-1 text-center" mat-cell> *matHeaderCellDef
class="gf-fit-content px-1"
mat-header-cell
></th>
<td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<gf-entity-logo [hasPlaceholder]="true" [url]="element.url" /> <gf-entity-logo [hasPlaceholder]="true" [url]="element.url" />
</td> </td>
</ng-container> </ng-container>
@ -59,13 +67,17 @@
<ng-container matColumnDef="name"> <ng-container matColumnDef="name">
<th <th
*matHeaderCellDef *matHeaderCellDef
class="px-1" class="gf-table-column-fill px-1"
mat-header-cell mat-header-cell
mat-sort-header="name" mat-sort-header="name"
> >
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill px-1 text-nowrap"
mat-cell
>
@if (isGhostfolioDataProvider(element)) { @if (isGhostfolioDataProvider(element)) {
<a <a
class="align-items-center d-inline-flex" class="align-items-center d-inline-flex"
@ -173,9 +185,17 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions"> <ng-container matColumnDef="actions">
<th *matHeaderCellDef class="px-1" mat-header-cell></th> <th
*matHeaderCellDef
class="gf-fit-content px-1"
mat-header-cell
></th>
<td *matCellDef="let element" class="px-1 text-right" mat-cell> <td
*matCellDef="let element"
class="gf-fit-content px-1 text-right"
mat-cell
>
@if (isGhostfolioDataProvider(element)) { @if (isGhostfolioDataProvider(element)) {
@if (hasGhostfolioApiKey) { @if (hasGhostfolioApiKey) {
<button <button

25
apps/client/src/app/components/admin-tag/admin-tag.component.html

@ -19,10 +19,19 @@
[dataSource]="dataSource" [dataSource]="dataSource"
> >
<ng-container matColumnDef="name"> <ng-container matColumnDef="name">
<th *matHeaderCellDef class="px-1" mat-header-cell mat-sort-header="name"> <th
*matHeaderCellDef
class="gf-table-column-fill px-1"
mat-header-cell
mat-sort-header="name"
>
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill px-1 text-nowrap"
mat-cell
>
{{ translate(element.name) }} {{ translate(element.name) }}
</td> </td>
</ng-container> </ng-container>
@ -78,8 +87,16 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th> <th
<td *matCellDef="let element" class="px-1 text-center" mat-cell> *matHeaderCellDef
class="gf-fit-content px-1 text-center"
mat-header-cell
></th>
<td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<button <button
class="mx-1 no-min-width px-2" class="mx-1 no-min-width px-2"
mat-button mat-button

8
apps/client/src/app/components/admin-users/admin-users.html

@ -6,14 +6,14 @@
<ng-container matColumnDef="user"> <ng-container matColumnDef="user">
<th <th
*matHeaderCellDef *matHeaderCellDef
class="mat-mdc-header-cell px-1 py-2" class="gf-table-column-fill mat-mdc-header-cell px-1 py-2"
mat-header-cell mat-header-cell
> >
<ng-container i18n>User</ng-container> <ng-container i18n>User</ng-container>
</th> </th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="mat-mdc-cell px-1 py-2" class="gf-table-column-fill mat-mdc-cell px-1 py-2"
mat-cell mat-cell
> >
<div class="align-items-center d-flex text-nowrap"> <div class="align-items-center d-flex text-nowrap">
@ -193,12 +193,12 @@
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th <th
*matHeaderCellDef *matHeaderCellDef
class="mat-mdc-header-cell px-1 py-2 text-right" class="gf-fit-content mat-mdc-header-cell px-1 py-2 text-right"
mat-header-cell mat-header-cell
></th> ></th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="mat-mdc-cell px-1 py-2 text-right" class="gf-fit-content mat-mdc-cell px-1 py-2 text-right"
mat-cell mat-cell
> >
<button <button

9
apps/client/src/styles.scss

@ -349,6 +349,11 @@ ngx-skeleton-loader {
cursor: pointer; cursor: pointer;
} }
.gf-fit-content {
white-space: nowrap;
width: 1%;
}
.gf-pointer-events-none { .gf-pointer-events-none {
pointer-events: none; pointer-events: none;
} }
@ -361,6 +366,10 @@ ngx-skeleton-loader {
@include table.gf-table; @include table.gf-table;
} }
.gf-table-column-fill {
width: 100%;
}
.gf-text-wrap-balance { .gf-text-wrap-balance {
text-wrap: balance; text-wrap: balance;
} }

12
libs/ui/src/lib/account-balances/account-balances.component.html

@ -61,8 +61,16 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th> <th
<td *matCellDef="let element" class="px-1 text-center" mat-cell> *matHeaderCellDef
class="gf-fit-content px-1 text-center"
mat-header-cell
></th>
<td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
@if (showActions()) { @if (showActions()) {
<button <button
class="mx-1 no-min-width px-2" class="mx-1 no-min-width px-2"

35
libs/ui/src/lib/accounts-table/accounts-table.component.html

@ -24,12 +24,12 @@
<ng-container matColumnDef="status"> <ng-container matColumnDef="status">
<th <th
*matHeaderCellDef *matHeaderCellDef
class="d-none d-lg-table-cell px-1" class="d-none d-lg-table-cell gf-fit-content px-1"
mat-header-cell mat-header-cell
></th> ></th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="d-none d-lg-table-cell px-1" class="d-none d-lg-table-cell gf-fit-content px-1"
mat-cell mat-cell
> >
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
@ -40,16 +40,25 @@
</td> </td>
<td <td
*matFooterCellDef *matFooterCellDef
class="d-none d-lg-table-cell px-1" class="d-none d-lg-table-cell gf-fit-content px-1"
mat-footer-cell mat-footer-cell
></td> ></td>
</ng-container> </ng-container>
<ng-container matColumnDef="account"> <ng-container matColumnDef="account">
<th *matHeaderCellDef class="px-1" mat-header-cell mat-sort-header="name"> <th
*matHeaderCellDef
class="gf-table-column-fill px-1"
mat-header-cell
mat-sort-header="name"
>
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill px-1 text-nowrap"
mat-cell
>
<gf-entity-logo <gf-entity-logo
class="d-inline d-sm-none mr-1" class="d-inline d-sm-none mr-1"
[hasPlaceholder]="true" [hasPlaceholder]="true"
@ -93,7 +102,7 @@
</th> </th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="d-none d-lg-table-cell px-1" class="d-none d-lg-table-cell px-1 text-nowrap"
mat-cell mat-cell
> >
<div class="d-flex"> <div class="d-flex">
@ -316,8 +325,16 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th> <th
<td *matCellDef="let element" class="px-1 text-center" mat-cell> *matHeaderCellDef
class="gf-fit-content px-1 text-center"
mat-header-cell
></th>
<td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<button <button
class="mx-1 no-min-width px-2" class="mx-1 no-min-width px-2"
mat-button mat-button
@ -364,7 +381,7 @@
} }
</mat-menu> </mat-menu>
</td> </td>
<td *matFooterCellDef class="px-1" mat-footer-cell></td> <td *matFooterCellDef class="gf-fit-content px-1" mat-footer-cell></td>
</ng-container> </ng-container>
<tr *matHeaderRowDef="displayedColumns()" mat-header-row></tr> <tr *matHeaderRowDef="displayedColumns()" mat-header-row></tr>

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

@ -167,8 +167,12 @@
</ng-container> </ng-container>
<ng-container matColumnDef="icon" sticky> <ng-container matColumnDef="icon" sticky>
<th *matHeaderCellDef class="px-1" mat-header-cell></th> <th *matHeaderCellDef class="gf-fit-content px-1" mat-header-cell></th>
<td *matCellDef="let element" class="px-1 text-center" mat-cell> <td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<gf-entity-logo <gf-entity-logo
[dataSource]="element.assetProfile?.dataSource" [dataSource]="element.assetProfile?.dataSource"
[symbol]="element.assetProfile?.symbol" [symbol]="element.assetProfile?.symbol"
@ -178,10 +182,14 @@
</ng-container> </ng-container>
<ng-container matColumnDef="nameWithSymbol"> <ng-container matColumnDef="nameWithSymbol">
<th *matHeaderCellDef class="px-1" mat-header-cell> <th *matHeaderCellDef class="gf-table-column-fill px-1" mat-header-cell>
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td *matCellDef="let element" class="line-height-normal px-1" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill line-height-normal px-1"
mat-cell
>
<div class="align-items-center d-flex text-nowrap"> <div class="align-items-center d-flex text-nowrap">
<span class="text-truncate">{{ element.assetProfile?.name }}</span> <span class="text-truncate">{{ element.assetProfile?.name }}</span>
@if (isDraftActivity(element)) { @if (isDraftActivity(element)) {
@ -402,7 +410,11 @@
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd> <ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell> <th
*matHeaderCellDef
class="gf-fit-content px-1 text-center"
mat-header-cell
>
@if ( @if (
!hasPermissionToImportActivities && hasPermissionToExportActivities !hasPermissionToImportActivities && hasPermissionToExportActivities
) { ) {

17
libs/ui/src/lib/benchmark/benchmark.component.html

@ -8,8 +8,12 @@
[dataSource]="dataSource" [dataSource]="dataSource"
> >
<ng-container matColumnDef="icon" sticky> <ng-container matColumnDef="icon" sticky>
<th *matHeaderCellDef class="px-1" mat-header-cell></th> <th *matHeaderCellDef class="gf-fit-content px-1" mat-header-cell></th>
<td *matCellDef="let element" class="px-1 text-center" mat-cell> <td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<gf-entity-logo <gf-entity-logo
[dataSource]="element.dataSource" [dataSource]="element.dataSource"
[symbol]="element.symbol" [symbol]="element.symbol"
@ -19,12 +23,17 @@
</ng-container> </ng-container>
<ng-container matColumnDef="name"> <ng-container matColumnDef="name">
<th *matHeaderCellDef class="px-1" mat-header-cell mat-sort-header> <th
*matHeaderCellDef
class="gf-table-column-fill px-1"
mat-header-cell
mat-sort-header
>
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td <td
*matCellDef="let element" *matCellDef="let element"
class="line-height-normal px-1 text-nowrap" class="gf-table-column-fill line-height-normal px-1 text-nowrap"
mat-cell mat-cell
> >
<div class="text-truncate"> <div class="text-truncate">

20
libs/ui/src/lib/holdings-table/holdings-table.component.html

@ -8,8 +8,12 @@
[matSortDirection]="sortDirection()" [matSortDirection]="sortDirection()"
> >
<ng-container matColumnDef="icon" sticky> <ng-container matColumnDef="icon" sticky>
<th *matHeaderCellDef class="px-1" mat-header-cell></th> <th *matHeaderCellDef class="gf-fit-content px-1" mat-header-cell></th>
<td *matCellDef="let element" class="px-1 text-center" mat-cell> <td
*matCellDef="let element"
class="gf-fit-content px-1 text-center"
mat-cell
>
<gf-entity-logo <gf-entity-logo
[dataSource]="element.assetProfile.dataSource" [dataSource]="element.assetProfile.dataSource"
[symbol]="element.assetProfile.symbol" [symbol]="element.assetProfile.symbol"
@ -21,13 +25,17 @@
<ng-container matColumnDef="nameWithSymbol"> <ng-container matColumnDef="nameWithSymbol">
<th <th
*matHeaderCellDef *matHeaderCellDef
class="px-1" class="gf-table-column-fill px-1"
mat-header-cell mat-header-cell
mat-sort-header="assetProfile.name" mat-sort-header="assetProfile.name"
> >
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td *matCellDef="let element" class="line-height-normal px-1" mat-cell> <td
*matCellDef="let element"
class="gf-table-column-fill line-height-normal px-1"
mat-cell
>
<div class="text-truncate"> <div class="text-truncate">
{{ element.assetProfile.name }} {{ element.assetProfile.name }}
@if (element.assetProfile.name === element.assetProfile.symbol) { @if (element.assetProfile.name === element.assetProfile.symbol) {
@ -161,14 +169,14 @@
<ng-container matColumnDef="performanceInPercentage" stickyEnd> <ng-container matColumnDef="performanceInPercentage" stickyEnd>
<th <th
*matHeaderCellDef *matHeaderCellDef
class="justify-content-end px-1" class="gf-fit-content justify-content-end px-1"
mat-header-cell mat-header-cell
mat-sort-header="netPerformancePercentWithCurrencyEffect" mat-sort-header="netPerformancePercentWithCurrencyEffect"
> >
<span class="d-none d-sm-block" i18n>Performance</span> <span class="d-none d-sm-block" i18n>Performance</span>
<span class="d-block d-sm-none" i18n-title title="Performance">±</span> <span class="d-block d-sm-none" i18n-title title="Performance">±</span>
</th> </th>
<td *matCellDef="let element" class="px-1" mat-cell> <td *matCellDef="let element" class="gf-fit-content px-1" mat-cell>
<div class="d-flex justify-content-end"> <div class="d-flex justify-content-end">
<gf-value <gf-value
[colorizeSign]="true" [colorizeSign]="true"

18
libs/ui/src/lib/top-holdings/top-holdings.component.html

@ -5,17 +5,11 @@
multiTemplateDataRows multiTemplateDataRows
[dataSource]="dataSource" [dataSource]="dataSource"
> >
<colgroup>
<col class="w-100" />
<col />
<col />
</colgroup>
<ng-container matColumnDef="name"> <ng-container matColumnDef="name">
<th *matHeaderCellDef class="px-2" mat-header-cell> <th *matHeaderCellDef class="gf-table-column-fill px-2" mat-header-cell>
<ng-container i18n>Name</ng-container> <ng-container i18n>Name</ng-container>
</th> </th>
<td *matCellDef="let element" class="px-2" mat-cell> <td *matCellDef="let element" class="gf-table-column-fill px-2" mat-cell>
<div class="text-truncate">{{ prettifyAssetName(element?.name) }}</div> <div class="text-truncate">{{ prettifyAssetName(element?.name) }}</div>
</td> </td>
</ng-container> </ng-container>
@ -65,16 +59,10 @@
mat-table mat-table
[dataSource]="element.parents" [dataSource]="element.parents"
> >
<colgroup>
<col class="w-100" />
<col />
<col />
</colgroup>
<ng-container matColumnDef="name"> <ng-container matColumnDef="name">
<td <td
*matCellDef="let parentHolding" *matCellDef="let parentHolding"
class="line-height-normal px-2" class="gf-table-column-fill line-height-normal px-2"
mat-cell mat-cell
> >
<div class="text-truncate">{{ parentHolding?.name }}</div> <div class="text-truncate">{{ parentHolding?.name }}</div>

Loading…
Cancel
Save