Browse Source

Migrate UI components to standalone (#3290)

pull/3296/head
Thomas Kaul 11 months ago
committed by GitHub
parent
commit
73d62bb51f
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.module.ts
  2. 2
      apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.module.ts
  3. 2
      apps/client/src/app/components/admin-market-data/admin-market-data.module.ts
  4. 4
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts
  5. 2
      apps/client/src/app/components/home-market/home-market.module.ts
  6. 2
      apps/client/src/app/components/home-overview/home-overview.module.ts
  7. 8
      apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.module.ts
  8. 4
      apps/client/src/app/components/position/position.module.ts
  9. 2
      apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.module.ts
  10. 4
      apps/client/src/app/pages/portfolio/activities/activities-page.module.ts
  11. 4
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.module.ts
  12. 2
      apps/client/src/app/pages/portfolio/allocations/allocations-page.module.ts
  13. 2
      apps/client/src/app/pages/portfolio/analysis/analysis-page.module.ts
  14. 4
      apps/client/src/app/pages/portfolio/fire/fire-page.module.ts
  15. 4
      apps/client/src/app/pages/portfolio/holdings/holdings-page.module.ts
  16. 6
      apps/client/src/app/pages/public/public-page.module.ts
  17. 1
      libs/ui/src/lib/account-balances/index.ts
  18. 1
      libs/ui/src/lib/activities-filter/index.ts
  19. 50
      libs/ui/src/lib/activities-table/activities-table.component.ts
  20. 43
      libs/ui/src/lib/activities-table/activities-table.module.ts
  21. 1
      libs/ui/src/lib/activities-table/index.ts
  22. 4
      libs/ui/src/lib/benchmark/benchmark.module.ts
  23. 1
      libs/ui/src/lib/currency-selector/index.ts
  24. 31
      libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
  25. 28
      libs/ui/src/lib/fire-calculator/fire-calculator.module.ts
  26. 2
      libs/ui/src/lib/fire-calculator/index.ts
  27. 37
      libs/ui/src/lib/holdings-table/holdings-table.component.ts
  28. 39
      libs/ui/src/lib/holdings-table/holdings-table.module.ts
  29. 1
      libs/ui/src/lib/holdings-table/index.ts
  30. 1
      libs/ui/src/lib/line-chart/index.ts
  31. 1
      libs/ui/src/lib/portfolio-proportion-chart/index.ts
  32. 2
      libs/ui/src/lib/trend-indicator/index.ts
  33. 20
      libs/ui/src/lib/trend-indicator/trend-indicator.component.ts
  34. 13
      libs/ui/src/lib/trend-indicator/trend-indicator.module.ts

10
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.module.ts

@ -1,9 +1,9 @@
import { GfDialogFooterModule } from '@ghostfolio/client/components/dialog-footer/dialog-footer.module'; import { GfDialogFooterModule } from '@ghostfolio/client/components/dialog-footer/dialog-footer.module';
import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module'; import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module';
import { GfInvestmentChartModule } from '@ghostfolio/client/components/investment-chart/investment-chart.module'; import { GfInvestmentChartModule } from '@ghostfolio/client/components/investment-chart/investment-chart.module';
import { GfAccountBalancesModule } from '@ghostfolio/ui/account-balances/account-balances.module'; import { GfAccountBalancesModule } from '@ghostfolio/ui/account-balances';
import { GfActivitiesTableModule } from '@ghostfolio/ui/activities-table/activities-table.module'; import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table';
import { GfHoldingsTableModule } from '@ghostfolio/ui/holdings-table/holdings-table.module'; import { GfHoldingsTableComponent } from '@ghostfolio/ui/holdings-table';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
@ -20,10 +20,10 @@ import { AccountDetailDialog } from './account-detail-dialog.component';
imports: [ imports: [
CommonModule, CommonModule,
GfAccountBalancesModule, GfAccountBalancesModule,
GfActivitiesTableModule, GfActivitiesTableComponent,
GfDialogFooterModule, GfDialogFooterModule,
GfDialogHeaderModule, GfDialogHeaderModule,
GfHoldingsTableModule, GfHoldingsTableComponent,
GfInvestmentChartModule, GfInvestmentChartModule,
GfValueModule, GfValueModule,
MatButtonModule, MatButtonModule,

2
apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.module.ts

@ -1,4 +1,4 @@
import { GfLineChartModule } from '@ghostfolio/ui/line-chart/line-chart.module'; import { GfLineChartModule } from '@ghostfolio/ui/line-chart';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';

2
apps/client/src/app/components/admin-market-data/admin-market-data.module.ts

@ -1,5 +1,5 @@
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module'; import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { GfActivitiesFilterModule } from '@ghostfolio/ui/activities-filter/activities-filter.module'; import { GfActivitiesFilterModule } from '@ghostfolio/ui/activities-filter';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';

4
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts

@ -1,8 +1,8 @@
import { GfAdminMarketDataDetailModule } from '@ghostfolio/client/components/admin-market-data-detail/admin-market-data-detail.module'; import { GfAdminMarketDataDetailModule } from '@ghostfolio/client/components/admin-market-data-detail/admin-market-data-detail.module';
import { AdminMarketDataService } from '@ghostfolio/client/components/admin-market-data/admin-market-data.service'; import { AdminMarketDataService } from '@ghostfolio/client/components/admin-market-data/admin-market-data.service';
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component'; import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
import { GfCurrencySelectorModule } from '@ghostfolio/ui/currency-selector/currency-selector.module'; import { GfCurrencySelectorModule } from '@ghostfolio/ui/currency-selector';
import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart/portfolio-proportion-chart.module'; import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';
import { TextFieldModule } from '@angular/cdk/text-field'; import { TextFieldModule } from '@angular/cdk/text-field';

2
apps/client/src/app/components/home-market/home-market.module.ts

@ -1,6 +1,6 @@
import { GfFearAndGreedIndexModule } from '@ghostfolio/client/components/fear-and-greed-index/fear-and-greed-index.module'; import { GfFearAndGreedIndexModule } from '@ghostfolio/client/components/fear-and-greed-index/fear-and-greed-index.module';
import { GfBenchmarkModule } from '@ghostfolio/ui/benchmark/benchmark.module'; import { GfBenchmarkModule } from '@ghostfolio/ui/benchmark/benchmark.module';
import { GfLineChartModule } from '@ghostfolio/ui/line-chart/line-chart.module'; import { GfLineChartModule } from '@ghostfolio/ui/line-chart';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';

2
apps/client/src/app/components/home-overview/home-overview.module.ts

@ -1,5 +1,5 @@
import { GfPortfolioPerformanceModule } from '@ghostfolio/client/components/portfolio-performance/portfolio-performance.module'; import { GfPortfolioPerformanceModule } from '@ghostfolio/client/components/portfolio-performance/portfolio-performance.module';
import { GfLineChartModule } from '@ghostfolio/ui/line-chart/line-chart.module'; import { GfLineChartModule } from '@ghostfolio/ui/line-chart';
import { GfNoTransactionsInfoModule } from '@ghostfolio/ui/no-transactions-info'; import { GfNoTransactionsInfoModule } from '@ghostfolio/ui/no-transactions-info';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';

8
apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.module.ts

@ -1,10 +1,10 @@
import { GfAccountsTableModule } from '@ghostfolio/client/components/accounts-table/accounts-table.module'; import { GfAccountsTableModule } from '@ghostfolio/client/components/accounts-table/accounts-table.module';
import { GfDialogFooterModule } from '@ghostfolio/client/components/dialog-footer/dialog-footer.module'; import { GfDialogFooterModule } from '@ghostfolio/client/components/dialog-footer/dialog-footer.module';
import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module'; import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module';
import { GfActivitiesTableModule } from '@ghostfolio/ui/activities-table/activities-table.module'; import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table';
import { GfDataProviderCreditsModule } from '@ghostfolio/ui/data-provider-credits/data-provider-credits.module'; import { GfDataProviderCreditsModule } from '@ghostfolio/ui/data-provider-credits/data-provider-credits.module';
import { GfLineChartModule } from '@ghostfolio/ui/line-chart/line-chart.module'; import { GfLineChartModule } from '@ghostfolio/ui/line-chart';
import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart/portfolio-proportion-chart.module'; import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
@ -22,7 +22,7 @@ import { PositionDetailDialog } from './position-detail-dialog.component';
imports: [ imports: [
CommonModule, CommonModule,
GfAccountsTableModule, GfAccountsTableModule,
GfActivitiesTableModule, GfActivitiesTableComponent,
GfDataProviderCreditsModule, GfDataProviderCreditsModule,
GfDialogFooterModule, GfDialogFooterModule,
GfDialogHeaderModule, GfDialogHeaderModule,

4
apps/client/src/app/components/position/position.module.ts

@ -1,5 +1,5 @@
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module'; import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { GfTrendIndicatorModule } from '@ghostfolio/ui/trend-indicator'; import { GfTrendIndicatorComponent } from '@ghostfolio/ui/trend-indicator';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
@ -18,7 +18,7 @@ import { PositionComponent } from './position.component';
CommonModule, CommonModule,
GfPositionDetailDialogModule, GfPositionDetailDialogModule,
GfSymbolModule, GfSymbolModule,
GfTrendIndicatorModule, GfTrendIndicatorComponent,
GfValueModule, GfValueModule,
MatDialogModule, MatDialogModule,
NgxSkeletonLoaderModule, NgxSkeletonLoaderModule,

2
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.module.ts

@ -1,5 +1,5 @@
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component'; import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
import { GfCurrencySelectorModule } from '@ghostfolio/ui/currency-selector/currency-selector.module'; import { GfCurrencySelectorModule } from '@ghostfolio/ui/currency-selector';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';

4
apps/client/src/app/pages/portfolio/activities/activities-page.module.ts

@ -1,5 +1,5 @@
import { ImportActivitiesService } from '@ghostfolio/client/services/import-activities.service'; import { ImportActivitiesService } from '@ghostfolio/client/services/import-activities.service';
import { GfActivitiesTableModule } from '@ghostfolio/ui/activities-table/activities-table.module'; import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
@ -17,7 +17,7 @@ import { GfImportActivitiesDialogModule } from './import-activities-dialog/impor
imports: [ imports: [
ActivitiesPageRoutingModule, ActivitiesPageRoutingModule,
CommonModule, CommonModule,
GfActivitiesTableModule, GfActivitiesTableComponent,
GfCreateOrUpdateActivityDialogModule, GfCreateOrUpdateActivityDialogModule,
GfImportActivitiesDialogModule, GfImportActivitiesDialogModule,
MatButtonModule, MatButtonModule,

4
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.module.ts

@ -2,7 +2,7 @@ import { GfDialogFooterModule } from '@ghostfolio/client/components/dialog-foote
import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module'; import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module';
import { GfFileDropModule } from '@ghostfolio/client/directives/file-drop/file-drop.module'; import { GfFileDropModule } from '@ghostfolio/client/directives/file-drop/file-drop.module';
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module'; import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { GfActivitiesTableModule } from '@ghostfolio/ui/activities-table/activities-table.module'; import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
@ -22,7 +22,7 @@ import { ImportActivitiesDialog } from './import-activities-dialog.component';
imports: [ imports: [
CommonModule, CommonModule,
FormsModule, FormsModule,
GfActivitiesTableModule, GfActivitiesTableComponent,
GfDialogFooterModule, GfDialogFooterModule,
GfDialogHeaderModule, GfDialogHeaderModule,
GfFileDropModule, GfFileDropModule,

2
apps/client/src/app/pages/portfolio/allocations/allocations-page.module.ts

@ -1,5 +1,5 @@
import { GfWorldMapChartModule } from '@ghostfolio/client/components/world-map-chart/world-map-chart.module'; import { GfWorldMapChartModule } from '@ghostfolio/client/components/world-map-chart/world-map-chart.module';
import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart/portfolio-proportion-chart.module'; import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart';
import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';

2
apps/client/src/app/pages/portfolio/analysis/analysis-page.module.ts

@ -1,7 +1,7 @@
import { GfBenchmarkComparatorModule } from '@ghostfolio/client/components/benchmark-comparator/benchmark-comparator.module'; import { GfBenchmarkComparatorModule } from '@ghostfolio/client/components/benchmark-comparator/benchmark-comparator.module';
import { GfInvestmentChartModule } from '@ghostfolio/client/components/investment-chart/investment-chart.module'; import { GfInvestmentChartModule } from '@ghostfolio/client/components/investment-chart/investment-chart.module';
import { GfToggleModule } from '@ghostfolio/client/components/toggle/toggle.module'; import { GfToggleModule } from '@ghostfolio/client/components/toggle/toggle.module';
import { GfActivitiesFilterModule } from '@ghostfolio/ui/activities-filter/activities-filter.module'; import { GfActivitiesFilterModule } from '@ghostfolio/ui/activities-filter';
import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';

4
apps/client/src/app/pages/portfolio/fire/fire-page.module.ts

@ -1,5 +1,5 @@
import { GfRulesModule } from '@ghostfolio/client/components/rules/rules.module'; import { GfRulesModule } from '@ghostfolio/client/components/rules/rules.module';
import { GfFireCalculatorModule } from '@ghostfolio/ui/fire-calculator'; import { GfFireCalculatorComponent } from '@ghostfolio/ui/fire-calculator';
import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';
@ -15,7 +15,7 @@ import { FirePageComponent } from './fire-page.component';
imports: [ imports: [
CommonModule, CommonModule,
FirePageRoutingModule, FirePageRoutingModule,
GfFireCalculatorModule, GfFireCalculatorComponent,
GfPremiumIndicatorModule, GfPremiumIndicatorModule,
GfRulesModule, GfRulesModule,
GfValueModule, GfValueModule,

4
apps/client/src/app/pages/portfolio/holdings/holdings-page.module.ts

@ -1,5 +1,5 @@
import { GfToggleModule } from '@ghostfolio/client/components/toggle/toggle.module'; import { GfToggleModule } from '@ghostfolio/client/components/toggle/toggle.module';
import { GfHoldingsTableModule } from '@ghostfolio/ui/holdings-table/holdings-table.module'; import { GfHoldingsTableComponent } from '@ghostfolio/ui/holdings-table';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
@ -12,7 +12,7 @@ import { HoldingsPageComponent } from './holdings-page.component';
declarations: [HoldingsPageComponent], declarations: [HoldingsPageComponent],
imports: [ imports: [
CommonModule, CommonModule,
GfHoldingsTableModule, GfHoldingsTableComponent,
GfToggleModule, GfToggleModule,
HoldingsPageRoutingModule, HoldingsPageRoutingModule,
MatButtonModule MatButtonModule

6
apps/client/src/app/pages/public/public-page.module.ts

@ -1,6 +1,6 @@
import { GfWorldMapChartModule } from '@ghostfolio/client/components/world-map-chart/world-map-chart.module'; import { GfWorldMapChartModule } from '@ghostfolio/client/components/world-map-chart/world-map-chart.module';
import { GfHoldingsTableModule } from '@ghostfolio/ui/holdings-table/holdings-table.module'; import { GfHoldingsTableComponent } from '@ghostfolio/ui/holdings-table';
import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart/portfolio-proportion-chart.module'; import { GfPortfolioProportionChartModule } from '@ghostfolio/ui/portfolio-proportion-chart';
import { GfValueModule } from '@ghostfolio/ui/value'; import { GfValueModule } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
@ -15,7 +15,7 @@ import { PublicPageComponent } from './public-page.component';
declarations: [PublicPageComponent], declarations: [PublicPageComponent],
imports: [ imports: [
CommonModule, CommonModule,
GfHoldingsTableModule, GfHoldingsTableComponent,
GfPortfolioProportionChartModule, GfPortfolioProportionChartModule,
GfValueModule, GfValueModule,
GfWorldMapChartModule, GfWorldMapChartModule,

1
libs/ui/src/lib/account-balances/index.ts

@ -0,0 +1 @@
export * from './account-balances.module';

1
libs/ui/src/lib/activities-filter/index.ts

@ -0,0 +1 @@
export * from './activities-filter.module';

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

@ -1,12 +1,19 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface'; import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface';
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config'; import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config';
import { getDateFormatString, getLocale } from '@ghostfolio/common/helper'; import { getDateFormatString, getLocale } from '@ghostfolio/common/helper';
import { UniqueAsset } from '@ghostfolio/common/interfaces'; import { UniqueAsset } from '@ghostfolio/common/interfaces';
import { OrderWithAccount } from '@ghostfolio/common/types'; import { OrderWithAccount } from '@ghostfolio/common/types';
import { GfActivityTypeModule } from '@ghostfolio/ui/activity-type';
import { GfNoTransactionsInfoModule } from '@ghostfolio/ui/no-transactions-info';
import { GfValueModule } from '@ghostfolio/ui/value';
import { SelectionModel } from '@angular/cdk/collections'; import { SelectionModel } from '@angular/cdk/collections';
import { CommonModule } from '@angular/common';
import { import {
AfterViewInit, AfterViewInit,
CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
EventEmitter, EventEmitter,
@ -17,21 +24,54 @@ import {
Output, Output,
ViewChild ViewChild
} from '@angular/core'; } from '@angular/core';
import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { MatButtonModule } from '@angular/material/button';
import { MatSort, Sort, SortDirection } from '@angular/material/sort'; import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatTableDataSource } from '@angular/material/table'; import { MatMenuModule } from '@angular/material/menu';
import { Router } from '@angular/router'; import {
MatPaginator,
MatPaginatorModule,
PageEvent
} from '@angular/material/paginator';
import {
MatSort,
MatSortModule,
Sort,
SortDirection
} from '@angular/material/sort';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { MatTooltipModule } from '@angular/material/tooltip';
import { Router, RouterModule } from '@angular/router';
import { isUUID } from 'class-validator'; import { isUUID } from 'class-validator';
import { endOfToday, isAfter } from 'date-fns'; import { endOfToday, isAfter } from 'date-fns';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, Subscription, takeUntil } from 'rxjs'; import { Subject, Subscription, takeUntil } from 'rxjs';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
CommonModule,
GfActivityTypeModule,
GfAssetProfileIconComponent,
GfNoTransactionsInfoModule,
GfSymbolModule,
GfValueModule,
MatButtonModule,
MatCheckboxModule,
MatMenuModule,
MatPaginatorModule,
MatSortModule,
MatTableModule,
MatTooltipModule,
NgxSkeletonLoaderModule,
RouterModule
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-activities-table', selector: 'gf-activities-table',
standalone: true,
styleUrls: ['./activities-table.component.scss'], styleUrls: ['./activities-table.component.scss'],
templateUrl: './activities-table.component.html' templateUrl: './activities-table.component.html'
}) })
export class ActivitiesTableComponent export class GfActivitiesTableComponent
implements AfterViewInit, OnChanges, OnDestroy, OnInit implements AfterViewInit, OnChanges, OnDestroy, OnInit
{ {
@Input() baseCurrency: string; @Input() baseCurrency: string;

43
libs/ui/src/lib/activities-table/activities-table.module.ts

@ -1,43 +0,0 @@
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { GfActivityTypeModule } from '@ghostfolio/ui/activity-type';
import { GfNoTransactionsInfoModule } from '@ghostfolio/ui/no-transactions-info';
import { GfValueModule } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatMenuModule } from '@angular/material/menu';
import { MatPaginatorModule } from '@angular/material/paginator';
import { MatSortModule } from '@angular/material/sort';
import { MatTableModule } from '@angular/material/table';
import { MatTooltipModule } from '@angular/material/tooltip';
import { RouterModule } from '@angular/router';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { ActivitiesTableComponent } from './activities-table.component';
@NgModule({
declarations: [ActivitiesTableComponent],
exports: [ActivitiesTableComponent],
imports: [
CommonModule,
GfActivityTypeModule,
GfAssetProfileIconComponent,
GfNoTransactionsInfoModule,
GfSymbolModule,
GfValueModule,
MatButtonModule,
MatCheckboxModule,
MatMenuModule,
MatPaginatorModule,
MatSortModule,
MatTableModule,
MatTooltipModule,
NgxSkeletonLoaderModule,
RouterModule
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GfActivitiesTableModule {}

1
libs/ui/src/lib/activities-table/index.ts

@ -0,0 +1 @@
export * from './activities-table.component';

4
libs/ui/src/lib/benchmark/benchmark.module.ts

@ -3,7 +3,7 @@ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatTableModule } from '@angular/material/table'; import { MatTableModule } from '@angular/material/table';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { GfTrendIndicatorModule } from '../trend-indicator'; import { GfTrendIndicatorComponent } from '../trend-indicator';
import { GfValueModule } from '../value'; import { GfValueModule } from '../value';
import { BenchmarkComponent } from './benchmark.component'; import { BenchmarkComponent } from './benchmark.component';
@ -12,7 +12,7 @@ import { BenchmarkComponent } from './benchmark.component';
exports: [BenchmarkComponent], exports: [BenchmarkComponent],
imports: [ imports: [
CommonModule, CommonModule,
GfTrendIndicatorModule, GfTrendIndicatorComponent,
GfValueModule, GfValueModule,
MatTableModule, MatTableModule,
NgxSkeletonLoaderModule NgxSkeletonLoaderModule

1
libs/ui/src/lib/currency-selector/index.ts

@ -0,0 +1 @@
export * from './currency-selector.module';

31
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts

@ -6,6 +6,7 @@ import { primaryColorRgb } from '@ghostfolio/common/config';
import { getLocale } from '@ghostfolio/common/helper'; import { getLocale } from '@ghostfolio/common/helper';
import { ColorScheme } from '@ghostfolio/common/types'; import { ColorScheme } from '@ghostfolio/common/types';
import { CommonModule } from '@angular/common';
import { import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
ChangeDetectorRef, ChangeDetectorRef,
@ -17,8 +18,19 @@ import {
Output, Output,
ViewChild ViewChild
} from '@angular/core'; } from '@angular/core';
import { FormBuilder, FormControl } from '@angular/forms'; import {
import { MatDatepicker } from '@angular/material/datepicker'; FormBuilder,
FormControl,
FormsModule,
ReactiveFormsModule
} from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import {
MatDatepicker,
MatDatepickerModule
} from '@angular/material/datepicker';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { import {
BarController, BarController,
BarElement, BarElement,
@ -39,17 +51,30 @@ import {
sub sub
} from 'date-fns'; } from 'date-fns';
import { isNumber } from 'lodash'; import { isNumber } from 'lodash';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, debounceTime, takeUntil } from 'rxjs'; import { Subject, debounceTime, takeUntil } from 'rxjs';
import { FireCalculatorService } from './fire-calculator.service'; import { FireCalculatorService } from './fire-calculator.service';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
CommonModule,
FormsModule,
MatButtonModule,
MatDatepickerModule,
MatFormFieldModule,
MatInputModule,
NgxSkeletonLoaderModule,
ReactiveFormsModule
],
providers: [FireCalculatorService],
selector: 'gf-fire-calculator', selector: 'gf-fire-calculator',
standalone: true,
styleUrls: ['./fire-calculator.component.scss'], styleUrls: ['./fire-calculator.component.scss'],
templateUrl: './fire-calculator.component.html' templateUrl: './fire-calculator.component.html'
}) })
export class FireCalculatorComponent implements OnChanges, OnDestroy { export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
@Input() annualInterestRate = 5; @Input() annualInterestRate = 5;
@Input() colorScheme: ColorScheme; @Input() colorScheme: ColorScheme;
@Input() currency: string; @Input() currency: string;

28
libs/ui/src/lib/fire-calculator/fire-calculator.module.ts

@ -1,28 +0,0 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { FireCalculatorComponent } from './fire-calculator.component';
import { FireCalculatorService } from './fire-calculator.service';
@NgModule({
declarations: [FireCalculatorComponent],
exports: [FireCalculatorComponent],
imports: [
CommonModule,
FormsModule,
MatButtonModule,
MatDatepickerModule,
MatFormFieldModule,
MatInputModule,
NgxSkeletonLoaderModule,
ReactiveFormsModule
],
providers: [FireCalculatorService]
})
export class GfFireCalculatorModule {}

2
libs/ui/src/lib/fire-calculator/index.ts

@ -1 +1 @@
export * from './fire-calculator.module'; export * from './fire-calculator.component';

37
libs/ui/src/lib/holdings-table/holdings-table.component.ts

@ -1,7 +1,14 @@
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
import { GfPositionDetailDialogModule } from '@ghostfolio/client/components/position/position-detail-dialog/position-detail-dialog.module';
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { getLocale } from '@ghostfolio/common/helper'; import { getLocale } from '@ghostfolio/common/helper';
import { PortfolioPosition, UniqueAsset } from '@ghostfolio/common/interfaces'; import { PortfolioPosition, UniqueAsset } from '@ghostfolio/common/interfaces';
import { GfNoTransactionsInfoModule } from '@ghostfolio/ui/no-transactions-info';
import { GfValueModule } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common';
import { import {
CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
Input, Input,
@ -10,20 +17,40 @@ import {
OnInit, OnInit,
ViewChild ViewChild
} from '@angular/core'; } from '@angular/core';
import { MatPaginator } from '@angular/material/paginator'; import { MatButtonModule } from '@angular/material/button';
import { MatSort } from '@angular/material/sort'; import { MatDialogModule } from '@angular/material/dialog';
import { MatTableDataSource } from '@angular/material/table'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
import { Router } from '@angular/router'; import { MatSort, MatSortModule } from '@angular/material/sort';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { Router, RouterModule } from '@angular/router';
import { AssetClass } from '@prisma/client'; import { AssetClass } from '@prisma/client';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, Subscription } from 'rxjs'; import { Subject, Subscription } from 'rxjs';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
CommonModule,
GfAssetProfileIconComponent,
GfNoTransactionsInfoModule,
GfPositionDetailDialogModule,
GfSymbolModule,
GfValueModule,
MatButtonModule,
MatDialogModule,
MatPaginatorModule,
MatSortModule,
MatTableModule,
NgxSkeletonLoaderModule,
RouterModule
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-holdings-table', selector: 'gf-holdings-table',
standalone: true,
styleUrls: ['./holdings-table.component.scss'], styleUrls: ['./holdings-table.component.scss'],
templateUrl: './holdings-table.component.html' templateUrl: './holdings-table.component.html'
}) })
export class HoldingsTableComponent implements OnChanges, OnDestroy, OnInit { export class GfHoldingsTableComponent implements OnChanges, OnDestroy, OnInit {
@Input() baseCurrency: string; @Input() baseCurrency: string;
@Input() deviceType: string; @Input() deviceType: string;
@Input() hasPermissionToCreateActivity: boolean; @Input() hasPermissionToCreateActivity: boolean;

39
libs/ui/src/lib/holdings-table/holdings-table.module.ts

@ -1,39 +0,0 @@
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
import { GfPositionDetailDialogModule } from '@ghostfolio/client/components/position/position-detail-dialog/position-detail-dialog.module';
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { GfNoTransactionsInfoModule } from '@ghostfolio/ui/no-transactions-info';
import { GfValueModule } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule } from '@angular/material/dialog';
import { MatPaginatorModule } from '@angular/material/paginator';
import { MatSortModule } from '@angular/material/sort';
import { MatTableModule } from '@angular/material/table';
import { RouterModule } from '@angular/router';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { HoldingsTableComponent } from './holdings-table.component';
@NgModule({
declarations: [HoldingsTableComponent],
exports: [HoldingsTableComponent],
imports: [
CommonModule,
GfAssetProfileIconComponent,
GfNoTransactionsInfoModule,
GfPositionDetailDialogModule,
GfSymbolModule,
GfValueModule,
MatButtonModule,
MatDialogModule,
MatPaginatorModule,
MatSortModule,
MatTableModule,
NgxSkeletonLoaderModule,
RouterModule
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GfHoldingsTableModule {}

1
libs/ui/src/lib/holdings-table/index.ts

@ -0,0 +1 @@
export * from './holdings-table.component';

1
libs/ui/src/lib/line-chart/index.ts

@ -0,0 +1 @@
export * from './line-chart.module';

1
libs/ui/src/lib/portfolio-proportion-chart/index.ts

@ -0,0 +1 @@
export * from './portfolio-proportion-chart.module';

2
libs/ui/src/lib/trend-indicator/index.ts

@ -1 +1 @@
export * from './trend-indicator.module'; export * from './trend-indicator.component';

20
libs/ui/src/lib/trend-indicator/trend-indicator.component.ts

@ -1,14 +1,24 @@
import { DateRange, MarketState } from '@ghostfolio/common/types'; import { DateRange, MarketState } from '@ghostfolio/common/types';
import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { CommonModule } from '@angular/common';
import {
CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy,
Component,
Input
} from '@angular/core';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
@Component({ @Component({
selector: 'gf-trend-indicator',
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: './trend-indicator.component.html', imports: [CommonModule, NgxSkeletonLoaderModule],
styleUrls: ['./trend-indicator.component.scss'] schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-trend-indicator',
standalone: true,
styleUrls: ['./trend-indicator.component.scss'],
templateUrl: './trend-indicator.component.html'
}) })
export class TrendIndicatorComponent { export class GfTrendIndicatorComponent {
@Input() isLoading = false; @Input() isLoading = false;
@Input() marketState: MarketState = 'open'; @Input() marketState: MarketState = 'open';
@Input() range: DateRange = 'max'; @Input() range: DateRange = 'max';

13
libs/ui/src/lib/trend-indicator/trend-indicator.module.ts

@ -1,13 +0,0 @@
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { TrendIndicatorComponent } from './trend-indicator.component';
@NgModule({
declarations: [TrendIndicatorComponent],
exports: [TrendIndicatorComponent],
imports: [CommonModule, NgxSkeletonLoaderModule],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GfTrendIndicatorModule {}
Loading…
Cancel
Save