diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fba8132d..f3bae0949 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added support to edit a granted access (experimental) +- Introduced tabs to the asset profile details dialog in the admin control panel - Added support for a date range query parameter in the data gathering endpoint - Added a _Storybook_ story for the activities table component diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts index 86535bf6b..3fd9e506f 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts @@ -65,6 +65,7 @@ import { MatInputModule } from '@angular/material/input'; import { MatMenuModule } from '@angular/material/menu'; import { MatSelectModule } from '@angular/material/select'; import { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar'; +import { MatTabsModule } from '@angular/material/tabs'; import { IonIcon } from '@ionic/angular/standalone'; import { AssetClass, @@ -77,7 +78,12 @@ import { isUUID } from 'class-validator'; import { format } from 'date-fns'; import { StatusCodes } from 'http-status-codes'; import { addIcons } from 'ionicons'; -import { createOutline, ellipsisVertical } from 'ionicons/icons'; +import { + createOutline, + ellipsisVertical, + readerOutline, + serverOutline +} from 'ionicons/icons'; import ms from 'ms'; import { EMPTY, Subject } from 'rxjs'; import { catchError, takeUntil } from 'rxjs/operators'; @@ -106,6 +112,7 @@ import { AssetProfileDialogParams } from './interfaces/interfaces'; MatMenuModule, MatSelectModule, MatSnackBarModule, + MatTabsModule, ReactiveFormsModule, TextFieldModule ], @@ -223,7 +230,7 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { private snackBar: MatSnackBar, private userService: UserService ) { - addIcons({ createOutline, ellipsisVertical }); + addIcons({ createOutline, ellipsisVertical, readerOutline, serverOutline }); } public get canEditAssetProfileIdentifier() { diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html index fad1e8cc1..1914925fe 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -79,463 +79,485 @@ [showXAxis]="true" [showYAxis]="true" /> -
- - - - Historical Market Data - - - - -
- -
- @if (isEditAssetProfileIdentifierMode) { -
-
- - Name, symbol or ISIN - - - - -
-
- } @else { -
- Symbol -
-
- Data Source -
- -
-
- } -
- Currency -
-
-
- First Activity -
-
- Activities -
-
- Asset Class -
-
- Asset Sub Class -
- @if ( - assetProfile?.countries?.length > 0 || assetProfile?.sectors?.length > 0 - ) { - @if ( - assetProfile?.countries?.length === 1 && - assetProfile?.sectors?.length === 1 - ) { - @if (assetProfile?.sectors?.length === 1) { + + + + +
Overview
+
+
+
+ @if (isEditAssetProfileIdentifierMode) { +
+
+ + Name, symbol or ISIN + + + + +
+
+ } @else { +
+ Symbol +
+
+ Data Source +
+ +
+
+ } +
+ Currency +
+
SectorFirst Activity
- } - @if (assetProfile?.countries?.length === 1) {
CountryActivities
- } - } @else { -
-
Sectors
- -
-
-
Countries
- -
- } - } -
-
-
- - Name - - -
- @if (assetProfile?.dataSource === 'MANUAL') { -
- - Currency - - -
- } -
- - Asset Class - - - @for ( - assetClassOption of assetClassOptions; - track assetClassOption.id - ) { - {{ - assetClassOption.label - }} - } - - -
-
- - Asset Sub Class - - - @for ( - assetSubClassOption of assetSubClassOptions; - track assetSubClassOption.id +
+ Asset Class +
+
+ Asset Sub Class +
+ @if ( + assetProfile?.countries?.length > 0 || + assetProfile?.sectors?.length > 0 ) { - {{ - assetSubClassOption.label - }} + @if ( + assetProfile?.countries?.length === 1 && + assetProfile?.sectors?.length === 1 + ) { + @if (assetProfile?.sectors?.length === 1) { +
+ Sector +
+ } + @if (assetProfile?.countries?.length === 1) { +
+ Country +
+ } + } @else { +
+
Sectors
+ +
+
+
Countries
+ +
+ } } -
-
-
-
-
- Benchmark + -
-
-
- - Symbol Mapping - - -
- @if (assetProfile?.dataSource === 'MANUAL') { -
- - - - Scraper Configuration + + Name + + +
+ @if (assetProfile?.dataSource === 'MANUAL') { +
+ + Currency + + +
+ } +
+ + Asset Class + + + @for ( + assetClassOption of assetClassOptions; + track assetClassOption.id + ) { + {{ + assetClassOption.label + }} + } + + +
+
+ + Asset Sub Class + + + @for ( + assetSubClassOption of assetSubClassOptions; + track assetSubClassOption.id + ) { + {{ + assetSubClassOption.label + }} + } + + +
+
+
+ Benchmark - -
-
- - Default Market Price - - -
-
- - HTTP Request Headers - - -
-
- - Locale - - -
-
- - Mode - - @for (modeValue of modeValues; track modeValue) { - {{ - modeValue.viewValue - }} - } - - -
-
- - - Selector* - - - -
-
- - - Url* - - - -
-
-
+ @if (assetProfile?.dataSource === 'MANUAL') { +
+ + - Test - -
+ + Scraper Configuration + +
+
+ + Default Market Price + + +
+
+ + HTTP Request Headers + + +
+
+ + Locale + + +
+
+ + Mode + + @for (modeValue of modeValues; track modeValue) { + {{ + modeValue.viewValue + }} + } + + +
+
+ + + Selector* + + + +
+
+ + + Url* + + + +
+
+ +
+
+ +
- - -
- } - @if (assetProfile?.dataSource === 'MANUAL') { -
- - Sectors - - + } + @if (assetProfile?.dataSource === 'MANUAL') { +
+ + Sectors + + +
+
+ + Countries + + +
+ } +
+ + Url + + @if (assetProfileForm.get('url').value) { + + } + +
+
+ + Note + + +
+
-
- - Countries - - + + + + +
Historical Market Data
+
+
+
+
+ +
+
- } -
- - Url - - @if (assetProfileForm.get('url').value) { - - } - -
-
- - Note - - -
- +
+