Feature/upgrade to nx 20.3 (#4152)
* Upgrade to Nx 20.3 * Update changelog
This commit is contained in:
parent
615278a887
commit
46cbbd3bc4
@ -15,7 +15,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
- Improved support for automatic deletion of unused asset profiles when deleting activities
|
- Improved support for automatic deletion of unused asset profiles when deleting activities
|
||||||
- Improved the language localization for German (`de`)
|
- Improved the language localization for German (`de`)
|
||||||
|
- Upgraded the _Stripe_ dependencies
|
||||||
|
- Upgraded `angular` from version `18.2.8` to `19.0.5`
|
||||||
- Upgraded `husky` from version `9.1.6` to `9.1.7`
|
- Upgraded `husky` from version `9.1.6` to `9.1.7`
|
||||||
|
- Upgraded `marked` from version `12.0.2` to `15.0.4`
|
||||||
|
- Upgraded `ng-extract-i18n-merge` from version `2.12.0` to `2.13.1`
|
||||||
|
- Upgraded `ngx-device-detector` from version `8.0.0` to `9.0.0`
|
||||||
|
- Upgraded `ngx-markdown` from version `18.0.0` to `19.0.0`
|
||||||
|
- Upgraded `Nx` from version `20.1.2` to `20.3.0`
|
||||||
|
- Upgraded `zone.js` from version `0.14.10` to `0.15.0`
|
||||||
|
|
||||||
## 2.131.0 - 2024-12-25
|
## 2.131.0 - 2024-12-25
|
||||||
|
|
||||||
|
@ -16,6 +16,12 @@
|
|||||||
{
|
{
|
||||||
"files": ["*.js", "*.jsx"],
|
"files": ["*.js", "*.jsx"],
|
||||||
"rules": {}
|
"rules": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": ["*.ts"],
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/prefer-standalone": "off"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"plugins": ["@angular-eslint/eslint-plugin", "@typescript-eslint"],
|
"plugins": ["@angular-eslint/eslint-plugin", "@typescript-eslint"],
|
||||||
|
@ -38,7 +38,8 @@ import { UserService } from './services/user/user.service';
|
|||||||
selector: 'gf-root',
|
selector: 'gf-root',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
styleUrls: ['./app.component.scss']
|
styleUrls: ['./app.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AppComponent implements OnDestroy, OnInit {
|
export class AppComponent implements OnDestroy, OnInit {
|
||||||
@HostBinding('class.has-info-message') get getHasMessage() {
|
@HostBinding('class.has-info-message') get getHasMessage() {
|
||||||
|
@ -18,7 +18,8 @@ import { MatTableDataSource } from '@angular/material/table';
|
|||||||
selector: 'gf-access-table',
|
selector: 'gf-access-table',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './access-table.component.html',
|
templateUrl: './access-table.component.html',
|
||||||
styleUrls: ['./access-table.component.scss']
|
styleUrls: ['./access-table.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AccessTableComponent implements OnChanges {
|
export class AccessTableComponent implements OnChanges {
|
||||||
@Input() accesses: Access[];
|
@Input() accesses: Access[];
|
||||||
|
@ -37,7 +37,8 @@ import { AccountDetailDialogParams } from './interfaces/interfaces';
|
|||||||
selector: 'gf-account-detail-dialog',
|
selector: 'gf-account-detail-dialog',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: 'account-detail-dialog.html',
|
templateUrl: 'account-detail-dialog.html',
|
||||||
styleUrls: ['./account-detail-dialog.component.scss']
|
styleUrls: ['./account-detail-dialog.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AccountDetailDialog implements OnDestroy, OnInit {
|
export class AccountDetailDialog implements OnDestroy, OnInit {
|
||||||
public accountBalances: AccountBalancesResponse['balances'];
|
public accountBalances: AccountBalancesResponse['balances'];
|
||||||
|
@ -23,7 +23,8 @@ import { Subject, Subscription } from 'rxjs';
|
|||||||
selector: 'gf-accounts-table',
|
selector: 'gf-accounts-table',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './accounts-table.component.html',
|
templateUrl: './accounts-table.component.html',
|
||||||
styleUrls: ['./accounts-table.component.scss']
|
styleUrls: ['./accounts-table.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AccountsTableComponent implements OnChanges, OnDestroy {
|
export class AccountsTableComponent implements OnChanges, OnDestroy {
|
||||||
@Input() accounts: AccountModel[];
|
@Input() accounts: AccountModel[];
|
||||||
|
@ -27,7 +27,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
selector: 'gf-admin-jobs',
|
selector: 'gf-admin-jobs',
|
||||||
styleUrls: ['./admin-jobs.scss'],
|
styleUrls: ['./admin-jobs.scss'],
|
||||||
templateUrl: './admin-jobs.html'
|
templateUrl: './admin-jobs.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminJobsComponent implements OnDestroy, OnInit {
|
export class AdminJobsComponent implements OnDestroy, OnInit {
|
||||||
public DATA_GATHERING_QUEUE_PRIORITY_LOW = DATA_GATHERING_QUEUE_PRIORITY_LOW;
|
public DATA_GATHERING_QUEUE_PRIORITY_LOW = DATA_GATHERING_QUEUE_PRIORITY_LOW;
|
||||||
|
@ -48,7 +48,8 @@ import { CreateAssetProfileDialogParams } from './create-asset-profile-dialog/in
|
|||||||
host: { class: 'has-fab' },
|
host: { class: 'has-fab' },
|
||||||
selector: 'gf-admin-market-data',
|
selector: 'gf-admin-market-data',
|
||||||
styleUrls: ['./admin-market-data.scss'],
|
styleUrls: ['./admin-market-data.scss'],
|
||||||
templateUrl: './admin-market-data.html'
|
templateUrl: './admin-market-data.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminMarketDataComponent
|
export class AdminMarketDataComponent
|
||||||
implements AfterViewInit, OnDestroy, OnInit
|
implements AfterViewInit, OnDestroy, OnInit
|
||||||
|
@ -42,7 +42,8 @@ import { AssetProfileDialogParams } from './interfaces/interfaces';
|
|||||||
selector: 'gf-asset-profile-dialog',
|
selector: 'gf-asset-profile-dialog',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: 'asset-profile-dialog.html',
|
templateUrl: 'asset-profile-dialog.html',
|
||||||
styleUrls: ['./asset-profile-dialog.component.scss']
|
styleUrls: ['./asset-profile-dialog.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AssetProfileDialog implements OnDestroy, OnInit {
|
export class AssetProfileDialog implements OnDestroy, OnInit {
|
||||||
public assetProfileClass: string;
|
public assetProfileClass: string;
|
||||||
|
@ -28,7 +28,8 @@ import { CreateAssetProfileDialogMode } from './interfaces/interfaces';
|
|||||||
host: { class: 'h-100' },
|
host: { class: 'h-100' },
|
||||||
selector: 'gf-create-asset-profile-dialog',
|
selector: 'gf-create-asset-profile-dialog',
|
||||||
styleUrls: ['./create-asset-profile-dialog.component.scss'],
|
styleUrls: ['./create-asset-profile-dialog.component.scss'],
|
||||||
templateUrl: 'create-asset-profile-dialog.html'
|
templateUrl: 'create-asset-profile-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class CreateAssetProfileDialog implements OnInit, OnDestroy {
|
export class CreateAssetProfileDialog implements OnInit, OnDestroy {
|
||||||
public createAssetProfileForm: FormGroup;
|
public createAssetProfileForm: FormGroup;
|
||||||
|
@ -36,7 +36,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-admin-overview',
|
selector: 'gf-admin-overview',
|
||||||
styleUrls: ['./admin-overview.scss'],
|
styleUrls: ['./admin-overview.scss'],
|
||||||
templateUrl: './admin-overview.html'
|
templateUrl: './admin-overview.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminOverviewComponent implements OnDestroy, OnInit {
|
export class AdminOverviewComponent implements OnDestroy, OnInit {
|
||||||
public couponDuration: StringValue = '14 days';
|
public couponDuration: StringValue = '14 days';
|
||||||
|
@ -29,7 +29,8 @@ import { CreateOrUpdatePlatformDialog } from './create-or-update-platform-dialog
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
selector: 'gf-admin-platform',
|
selector: 'gf-admin-platform',
|
||||||
styleUrls: ['./admin-platform.component.scss'],
|
styleUrls: ['./admin-platform.component.scss'],
|
||||||
templateUrl: './admin-platform.component.html'
|
templateUrl: './admin-platform.component.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminPlatformComponent implements OnInit, OnDestroy {
|
export class AdminPlatformComponent implements OnInit, OnDestroy {
|
||||||
@ViewChild(MatSort) sort: MatSort;
|
@ViewChild(MatSort) sort: MatSort;
|
||||||
|
@ -19,7 +19,8 @@ import { CreateOrUpdatePlatformDialogParams } from './interfaces/interfaces';
|
|||||||
host: { class: 'h-100' },
|
host: { class: 'h-100' },
|
||||||
selector: 'gf-create-or-update-platform-dialog',
|
selector: 'gf-create-or-update-platform-dialog',
|
||||||
styleUrls: ['./create-or-update-platform-dialog.scss'],
|
styleUrls: ['./create-or-update-platform-dialog.scss'],
|
||||||
templateUrl: 'create-or-update-platform-dialog.html'
|
templateUrl: 'create-or-update-platform-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class CreateOrUpdatePlatformDialog implements OnDestroy {
|
export class CreateOrUpdatePlatformDialog implements OnDestroy {
|
||||||
public platformForm: FormGroup;
|
public platformForm: FormGroup;
|
||||||
|
@ -30,7 +30,8 @@ import { GfGhostfolioPremiumApiDialogComponent } from './ghostfolio-premium-api-
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
selector: 'gf-admin-settings',
|
selector: 'gf-admin-settings',
|
||||||
styleUrls: ['./admin-settings.component.scss'],
|
styleUrls: ['./admin-settings.component.scss'],
|
||||||
templateUrl: './admin-settings.component.html'
|
templateUrl: './admin-settings.component.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminSettingsComponent implements OnDestroy, OnInit {
|
export class AdminSettingsComponent implements OnDestroy, OnInit {
|
||||||
public defaultDateFormat: string;
|
public defaultDateFormat: string;
|
||||||
|
@ -25,7 +25,6 @@ import { GhostfolioPremiumApiDialogParams } from './interfaces/interfaces';
|
|||||||
MatDialogModule
|
MatDialogModule
|
||||||
],
|
],
|
||||||
selector: 'gf-ghostfolio-premium-api-dialog',
|
selector: 'gf-ghostfolio-premium-api-dialog',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./ghostfolio-premium-api-dialog.scss'],
|
styleUrls: ['./ghostfolio-premium-api-dialog.scss'],
|
||||||
templateUrl: './ghostfolio-premium-api-dialog.html'
|
templateUrl: './ghostfolio-premium-api-dialog.html'
|
||||||
})
|
})
|
||||||
|
@ -29,7 +29,8 @@ import { CreateOrUpdateTagDialog } from './create-or-update-tag-dialog/create-or
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
selector: 'gf-admin-tag',
|
selector: 'gf-admin-tag',
|
||||||
styleUrls: ['./admin-tag.component.scss'],
|
styleUrls: ['./admin-tag.component.scss'],
|
||||||
templateUrl: './admin-tag.component.html'
|
templateUrl: './admin-tag.component.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminTagComponent implements OnInit, OnDestroy {
|
export class AdminTagComponent implements OnInit, OnDestroy {
|
||||||
@ViewChild(MatSort) sort: MatSort;
|
@ViewChild(MatSort) sort: MatSort;
|
||||||
|
@ -19,7 +19,8 @@ import { CreateOrUpdateTagDialogParams } from './interfaces/interfaces';
|
|||||||
host: { class: 'h-100' },
|
host: { class: 'h-100' },
|
||||||
selector: 'gf-create-or-update-tag-dialog',
|
selector: 'gf-create-or-update-tag-dialog',
|
||||||
styleUrls: ['./create-or-update-tag-dialog.scss'],
|
styleUrls: ['./create-or-update-tag-dialog.scss'],
|
||||||
templateUrl: 'create-or-update-tag-dialog.html'
|
templateUrl: 'create-or-update-tag-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class CreateOrUpdateTagDialog implements OnDestroy {
|
export class CreateOrUpdateTagDialog implements OnDestroy {
|
||||||
public tagForm: FormGroup;
|
public tagForm: FormGroup;
|
||||||
|
@ -29,7 +29,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-admin-users',
|
selector: 'gf-admin-users',
|
||||||
styleUrls: ['./admin-users.scss'],
|
styleUrls: ['./admin-users.scss'],
|
||||||
templateUrl: './admin-users.html'
|
templateUrl: './admin-users.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminUsersComponent implements OnDestroy, OnInit {
|
export class AdminUsersComponent implements OnDestroy, OnInit {
|
||||||
@ViewChild(MatPaginator) paginator: MatPaginator;
|
@ViewChild(MatPaginator) paginator: MatPaginator;
|
||||||
|
@ -13,7 +13,6 @@ import { DataSource } from '@prisma/client';
|
|||||||
imports: [CommonModule],
|
imports: [CommonModule],
|
||||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
selector: 'gf-asset-profile-icon',
|
selector: 'gf-asset-profile-icon',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./asset-profile-icon.component.scss'],
|
styleUrls: ['./asset-profile-icon.component.scss'],
|
||||||
templateUrl: './asset-profile-icon.component.html'
|
templateUrl: './asset-profile-icon.component.html'
|
||||||
})
|
})
|
||||||
|
@ -44,7 +44,8 @@ import annotationPlugin from 'chartjs-plugin-annotation';
|
|||||||
selector: 'gf-benchmark-comparator',
|
selector: 'gf-benchmark-comparator',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './benchmark-comparator.component.html',
|
templateUrl: './benchmark-comparator.component.html',
|
||||||
styleUrls: ['./benchmark-comparator.component.scss']
|
styleUrls: ['./benchmark-comparator.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class BenchmarkComparatorComponent implements OnChanges, OnDestroy {
|
export class BenchmarkComparatorComponent implements OnChanges, OnDestroy {
|
||||||
@Input() benchmark: Partial<SymbolProfile>;
|
@Input() benchmark: Partial<SymbolProfile>;
|
||||||
|
@ -11,7 +11,8 @@ import {
|
|||||||
selector: 'gf-dialog-footer',
|
selector: 'gf-dialog-footer',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './dialog-footer.component.html',
|
templateUrl: './dialog-footer.component.html',
|
||||||
styleUrls: ['./dialog-footer.component.scss']
|
styleUrls: ['./dialog-footer.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class DialogFooterComponent {
|
export class DialogFooterComponent {
|
||||||
@Input() deviceType: string;
|
@Input() deviceType: string;
|
||||||
|
@ -11,7 +11,8 @@ import {
|
|||||||
selector: 'gf-dialog-header',
|
selector: 'gf-dialog-header',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './dialog-header.component.html',
|
templateUrl: './dialog-header.component.html',
|
||||||
styleUrls: ['./dialog-header.component.scss']
|
styleUrls: ['./dialog-header.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class DialogHeaderComponent {
|
export class DialogHeaderComponent {
|
||||||
@Input() deviceType: string;
|
@Input() deviceType: string;
|
||||||
|
@ -12,7 +12,8 @@ import {
|
|||||||
selector: 'gf-fear-and-greed-index',
|
selector: 'gf-fear-and-greed-index',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './fear-and-greed-index.component.html',
|
templateUrl: './fear-and-greed-index.component.html',
|
||||||
styleUrls: ['./fear-and-greed-index.component.scss']
|
styleUrls: ['./fear-and-greed-index.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class FearAndGreedIndexComponent implements OnChanges {
|
export class FearAndGreedIndexComponent implements OnChanges {
|
||||||
@Input() fearAndGreedIndex: number;
|
@Input() fearAndGreedIndex: number;
|
||||||
|
@ -35,7 +35,8 @@ import { catchError, takeUntil } from 'rxjs/operators';
|
|||||||
selector: 'gf-header',
|
selector: 'gf-header',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './header.component.html',
|
templateUrl: './header.component.html',
|
||||||
styleUrls: ['./header.component.scss']
|
styleUrls: ['./header.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class HeaderComponent implements OnChanges {
|
export class HeaderComponent implements OnChanges {
|
||||||
@HostListener('window:keydown', ['$event'])
|
@HostListener('window:keydown', ['$event'])
|
||||||
|
@ -81,7 +81,6 @@ import { HoldingDetailDialogParams } from './interfaces/interfaces';
|
|||||||
],
|
],
|
||||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
selector: 'gf-holding-detail-dialog',
|
selector: 'gf-holding-detail-dialog',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./holding-detail-dialog.component.scss'],
|
styleUrls: ['./holding-detail-dialog.component.scss'],
|
||||||
templateUrl: 'holding-detail-dialog.html'
|
templateUrl: 'holding-detail-dialog.html'
|
||||||
})
|
})
|
||||||
|
@ -20,7 +20,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-home-holdings',
|
selector: 'gf-home-holdings',
|
||||||
styleUrls: ['./home-holdings.scss'],
|
styleUrls: ['./home-holdings.scss'],
|
||||||
templateUrl: './home-holdings.html'
|
templateUrl: './home-holdings.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class HomeHoldingsComponent implements OnDestroy, OnInit {
|
export class HomeHoldingsComponent implements OnDestroy, OnInit {
|
||||||
public static DEFAULT_HOLDINGS_VIEW_MODE: HoldingsViewMode = 'TABLE';
|
public static DEFAULT_HOLDINGS_VIEW_MODE: HoldingsViewMode = 'TABLE';
|
||||||
|
@ -18,7 +18,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-home-market',
|
selector: 'gf-home-market',
|
||||||
styleUrls: ['./home-market.scss'],
|
styleUrls: ['./home-market.scss'],
|
||||||
templateUrl: './home-market.html'
|
templateUrl: './home-market.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class HomeMarketComponent implements OnDestroy, OnInit {
|
export class HomeMarketComponent implements OnDestroy, OnInit {
|
||||||
public benchmarks: Benchmark[];
|
public benchmarks: Benchmark[];
|
||||||
|
@ -20,7 +20,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-home-overview',
|
selector: 'gf-home-overview',
|
||||||
styleUrls: ['./home-overview.scss'],
|
styleUrls: ['./home-overview.scss'],
|
||||||
templateUrl: './home-overview.html'
|
templateUrl: './home-overview.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class HomeOverviewComponent implements OnDestroy, OnInit {
|
export class HomeOverviewComponent implements OnDestroy, OnInit {
|
||||||
public dateRangeOptions = ToggleComponent.DEFAULT_DATE_RANGE_OPTIONS;
|
public dateRangeOptions = ToggleComponent.DEFAULT_DATE_RANGE_OPTIONS;
|
||||||
|
@ -16,7 +16,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-home-summary',
|
selector: 'gf-home-summary',
|
||||||
styleUrls: ['./home-summary.scss'],
|
styleUrls: ['./home-summary.scss'],
|
||||||
templateUrl: './home-summary.html'
|
templateUrl: './home-summary.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class HomeSummaryComponent implements OnDestroy, OnInit {
|
export class HomeSummaryComponent implements OnDestroy, OnInit {
|
||||||
public hasImpersonationId: boolean;
|
public hasImpersonationId: boolean;
|
||||||
|
@ -45,7 +45,8 @@ import { isAfter } from 'date-fns';
|
|||||||
selector: 'gf-investment-chart',
|
selector: 'gf-investment-chart',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './investment-chart.component.html',
|
templateUrl: './investment-chart.component.html',
|
||||||
styleUrls: ['./investment-chart.component.scss']
|
styleUrls: ['./investment-chart.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class InvestmentChartComponent implements OnChanges, OnDestroy {
|
export class InvestmentChartComponent implements OnChanges, OnDestroy {
|
||||||
@Input() benchmarkDataItems: InvestmentItem[] = [];
|
@Input() benchmarkDataItems: InvestmentItem[] = [];
|
||||||
|
@ -14,7 +14,8 @@ import { Router } from '@angular/router';
|
|||||||
selector: 'gf-login-with-access-token-dialog',
|
selector: 'gf-login-with-access-token-dialog',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
styleUrls: ['./login-with-access-token-dialog.scss'],
|
styleUrls: ['./login-with-access-token-dialog.scss'],
|
||||||
templateUrl: 'login-with-access-token-dialog.html'
|
templateUrl: 'login-with-access-token-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class LoginWithAccessTokenDialog {
|
export class LoginWithAccessTokenDialog {
|
||||||
public isAccessTokenHidden = true;
|
public isAccessTokenHidden = true;
|
||||||
|
@ -24,7 +24,8 @@ import { isNumber } from 'lodash';
|
|||||||
selector: 'gf-portfolio-performance',
|
selector: 'gf-portfolio-performance',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './portfolio-performance.component.html',
|
templateUrl: './portfolio-performance.component.html',
|
||||||
styleUrls: ['./portfolio-performance.component.scss']
|
styleUrls: ['./portfolio-performance.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class PortfolioPerformanceComponent implements OnChanges {
|
export class PortfolioPerformanceComponent implements OnChanges {
|
||||||
@Input() deviceType: string;
|
@Input() deviceType: string;
|
||||||
|
@ -17,7 +17,8 @@ import { formatDistanceToNow } from 'date-fns';
|
|||||||
selector: 'gf-portfolio-summary',
|
selector: 'gf-portfolio-summary',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './portfolio-summary.component.html',
|
templateUrl: './portfolio-summary.component.html',
|
||||||
styleUrls: ['./portfolio-summary.component.scss']
|
styleUrls: ['./portfolio-summary.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class PortfolioSummaryComponent implements OnChanges {
|
export class PortfolioSummaryComponent implements OnChanges {
|
||||||
@Input() baseCurrency: string;
|
@Input() baseCurrency: string;
|
||||||
|
@ -22,7 +22,6 @@ import { IRuleSettingsDialogParams } from './interfaces/interfaces';
|
|||||||
MatSliderModule
|
MatSliderModule
|
||||||
],
|
],
|
||||||
selector: 'gf-rule-settings-dialog',
|
selector: 'gf-rule-settings-dialog',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./rule-settings-dialog.scss'],
|
styleUrls: ['./rule-settings-dialog.scss'],
|
||||||
templateUrl: './rule-settings-dialog.html'
|
templateUrl: './rule-settings-dialog.html'
|
||||||
})
|
})
|
||||||
|
@ -24,7 +24,8 @@ import { GfRuleSettingsDialogComponent } from './rule-settings-dialog/rule-setti
|
|||||||
selector: 'gf-rule',
|
selector: 'gf-rule',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './rule.component.html',
|
templateUrl: './rule.component.html',
|
||||||
styleUrls: ['./rule.component.scss']
|
styleUrls: ['./rule.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class RuleComponent implements OnInit {
|
export class RuleComponent implements OnInit {
|
||||||
@Input() hasPermissionToUpdateUserSettings: boolean;
|
@Input() hasPermissionToUpdateUserSettings: boolean;
|
||||||
|
@ -16,7 +16,8 @@ import {
|
|||||||
selector: 'gf-rules',
|
selector: 'gf-rules',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './rules.component.html',
|
templateUrl: './rules.component.html',
|
||||||
styleUrls: ['./rules.component.scss']
|
styleUrls: ['./rules.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class RulesComponent {
|
export class RulesComponent {
|
||||||
@Input() hasPermissionToUpdateUserSettings: boolean;
|
@Input() hasPermissionToUpdateUserSettings: boolean;
|
||||||
|
@ -8,7 +8,8 @@ import { SubscriptionInterstitialDialogParams } from './interfaces/interfaces';
|
|||||||
host: { class: 'd-flex flex-column flex-grow-1 h-100' },
|
host: { class: 'd-flex flex-column flex-grow-1 h-100' },
|
||||||
selector: 'gf-subscription-interstitial-dialog',
|
selector: 'gf-subscription-interstitial-dialog',
|
||||||
styleUrls: ['./subscription-interstitial-dialog.scss'],
|
styleUrls: ['./subscription-interstitial-dialog.scss'],
|
||||||
templateUrl: 'subscription-interstitial-dialog.html'
|
templateUrl: 'subscription-interstitial-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class SubscriptionInterstitialDialog {
|
export class SubscriptionInterstitialDialog {
|
||||||
private readonly VARIANTS_COUNT = 2;
|
private readonly VARIANTS_COUNT = 2;
|
||||||
|
@ -14,7 +14,8 @@ import { FormControl } from '@angular/forms';
|
|||||||
selector: 'gf-toggle',
|
selector: 'gf-toggle',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './toggle.component.html',
|
templateUrl: './toggle.component.html',
|
||||||
styleUrls: ['./toggle.component.scss']
|
styleUrls: ['./toggle.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class ToggleComponent implements OnChanges {
|
export class ToggleComponent implements OnChanges {
|
||||||
public static DEFAULT_DATE_RANGE_OPTIONS: ToggleOption[] = [
|
public static DEFAULT_DATE_RANGE_OPTIONS: ToggleOption[] = [
|
||||||
|
@ -22,7 +22,8 @@ import { CreateOrUpdateAccessDialogParams } from './interfaces/interfaces';
|
|||||||
host: { class: 'h-100' },
|
host: { class: 'h-100' },
|
||||||
selector: 'gf-create-or-update-access-dialog',
|
selector: 'gf-create-or-update-access-dialog',
|
||||||
styleUrls: ['./create-or-update-access-dialog.scss'],
|
styleUrls: ['./create-or-update-access-dialog.scss'],
|
||||||
templateUrl: 'create-or-update-access-dialog.html'
|
templateUrl: 'create-or-update-access-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class CreateOrUpdateAccessDialog implements OnDestroy {
|
export class CreateOrUpdateAccessDialog implements OnDestroy {
|
||||||
public accessForm: FormGroup;
|
public accessForm: FormGroup;
|
||||||
|
@ -24,7 +24,8 @@ import { CreateOrUpdateAccessDialog } from './create-or-update-access-dialog/cre
|
|||||||
host: { class: 'has-fab' },
|
host: { class: 'has-fab' },
|
||||||
selector: 'gf-user-account-access',
|
selector: 'gf-user-account-access',
|
||||||
styleUrls: ['./user-account-access.scss'],
|
styleUrls: ['./user-account-access.scss'],
|
||||||
templateUrl: './user-account-access.html'
|
templateUrl: './user-account-access.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class UserAccountAccessComponent implements OnDestroy, OnInit {
|
export class UserAccountAccessComponent implements OnDestroy, OnInit {
|
||||||
public accessesGet: Access[];
|
public accessesGet: Access[];
|
||||||
|
@ -26,7 +26,8 @@ import { catchError, switchMap, takeUntil } from 'rxjs/operators';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
selector: 'gf-user-account-membership',
|
selector: 'gf-user-account-membership',
|
||||||
styleUrls: ['./user-account-membership.scss'],
|
styleUrls: ['./user-account-membership.scss'],
|
||||||
templateUrl: './user-account-membership.html'
|
templateUrl: './user-account-membership.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class UserAccountMembershipComponent implements OnDestroy {
|
export class UserAccountMembershipComponent implements OnDestroy {
|
||||||
public baseCurrency: string;
|
public baseCurrency: string;
|
||||||
|
@ -32,7 +32,8 @@ import { catchError, takeUntil } from 'rxjs/operators';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
selector: 'gf-user-account-settings',
|
selector: 'gf-user-account-settings',
|
||||||
styleUrls: ['./user-account-settings.scss'],
|
styleUrls: ['./user-account-settings.scss'],
|
||||||
templateUrl: './user-account-settings.html'
|
templateUrl: './user-account-settings.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class UserAccountSettingsComponent implements OnDestroy, OnInit {
|
export class UserAccountSettingsComponent implements OnDestroy, OnInit {
|
||||||
public appearancePlaceholder = $localize`Auto`;
|
public appearancePlaceholder = $localize`Auto`;
|
||||||
|
@ -14,7 +14,8 @@ import svgMap from 'svgmap';
|
|||||||
selector: 'gf-world-map-chart',
|
selector: 'gf-world-map-chart',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
templateUrl: './world-map-chart.component.html',
|
templateUrl: './world-map-chart.component.html',
|
||||||
styleUrls: ['./world-map-chart.component.scss']
|
styleUrls: ['./world-map-chart.component.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class WorldMapChartComponent implements OnChanges, OnDestroy {
|
export class WorldMapChartComponent implements OnChanges, OnDestroy {
|
||||||
@Input() countries: { [code: string]: { name?: string; value: number } };
|
@Input() countries: { [code: string]: { name?: string; value: number } };
|
||||||
|
@ -8,7 +8,6 @@ import { IAlertDialogParams } from './interfaces/interfaces';
|
|||||||
@Component({
|
@Component({
|
||||||
imports: [CommonModule, MatButtonModule, MatDialogModule],
|
imports: [CommonModule, MatButtonModule, MatDialogModule],
|
||||||
selector: 'gf-alert-dialog',
|
selector: 'gf-alert-dialog',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./alert-dialog.scss'],
|
styleUrls: ['./alert-dialog.scss'],
|
||||||
templateUrl: './alert-dialog.html'
|
templateUrl: './alert-dialog.html'
|
||||||
})
|
})
|
||||||
|
@ -9,7 +9,6 @@ import { IConfirmDialogParams } from './interfaces/interfaces';
|
|||||||
@Component({
|
@Component({
|
||||||
imports: [CommonModule, MatButtonModule, MatDialogModule],
|
imports: [CommonModule, MatButtonModule, MatDialogModule],
|
||||||
selector: 'gf-confirmation-dialog',
|
selector: 'gf-confirmation-dialog',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./confirmation-dialog.scss'],
|
styleUrls: ['./confirmation-dialog.scss'],
|
||||||
templateUrl: './confirmation-dialog.html'
|
templateUrl: './confirmation-dialog.html'
|
||||||
})
|
})
|
||||||
|
@ -16,7 +16,6 @@ import { MatInputModule } from '@angular/material/input';
|
|||||||
MatInputModule
|
MatInputModule
|
||||||
],
|
],
|
||||||
selector: 'gf-prompt-dialog',
|
selector: 'gf-prompt-dialog',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './prompt-dialog.html'
|
templateUrl: './prompt-dialog.html'
|
||||||
})
|
})
|
||||||
export class GfPromptDialogComponent {
|
export class GfPromptDialogComponent {
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
|
import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
|
||||||
|
|
||||||
@Directive({
|
@Directive({
|
||||||
selector: '[gfFileDrop]'
|
selector: '[gfFileDrop]',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class FileDropDirective {
|
export class FileDropDirective {
|
||||||
@Output() filesDropped = new EventEmitter<FileList>();
|
@Output() filesDropped = new EventEmitter<FileList>();
|
||||||
|
@ -12,7 +12,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
host: { class: 'page has-tabs' },
|
host: { class: 'page has-tabs' },
|
||||||
selector: 'gf-about-page',
|
selector: 'gf-about-page',
|
||||||
styleUrls: ['./about-page.scss'],
|
styleUrls: ['./about-page.scss'],
|
||||||
templateUrl: './about-page.html'
|
templateUrl: './about-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AboutPageComponent implements OnDestroy, OnInit {
|
export class AboutPageComponent implements OnDestroy, OnInit {
|
||||||
public deviceType: string;
|
public deviceType: string;
|
||||||
|
@ -4,7 +4,8 @@ import { Subject } from 'rxjs';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-changelog-page',
|
selector: 'gf-changelog-page',
|
||||||
styleUrls: ['./changelog-page.scss'],
|
styleUrls: ['./changelog-page.scss'],
|
||||||
templateUrl: './changelog-page.html'
|
templateUrl: './changelog-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class ChangelogPageComponent implements OnDestroy {
|
export class ChangelogPageComponent implements OnDestroy {
|
||||||
private unsubscribeSubject = new Subject<void>();
|
private unsubscribeSubject = new Subject<void>();
|
||||||
|
@ -4,7 +4,8 @@ import { Subject } from 'rxjs';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-license-page',
|
selector: 'gf-license-page',
|
||||||
styleUrls: ['./license-page.scss'],
|
styleUrls: ['./license-page.scss'],
|
||||||
templateUrl: './license-page.html'
|
templateUrl: './license-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class LicensePageComponent implements OnDestroy {
|
export class LicensePageComponent implements OnDestroy {
|
||||||
private unsubscribeSubject = new Subject<void>();
|
private unsubscribeSubject = new Subject<void>();
|
||||||
|
@ -6,7 +6,8 @@ const ossFriends = require('../../../../assets/oss-friends.json');
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-oss-friends-page',
|
selector: 'gf-oss-friends-page',
|
||||||
styleUrls: ['./oss-friends-page.scss'],
|
styleUrls: ['./oss-friends-page.scss'],
|
||||||
templateUrl: './oss-friends-page.html'
|
templateUrl: './oss-friends-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class OpenSourceSoftwareFriendsPageComponent implements OnDestroy {
|
export class OpenSourceSoftwareFriendsPageComponent implements OnDestroy {
|
||||||
public ossFriends = ossFriends.data;
|
public ossFriends = ossFriends.data;
|
||||||
|
@ -10,7 +10,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-about-overview-page',
|
selector: 'gf-about-overview-page',
|
||||||
styleUrls: ['./about-overview-page.scss'],
|
styleUrls: ['./about-overview-page.scss'],
|
||||||
templateUrl: './about-overview-page.html'
|
templateUrl: './about-overview-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AboutOverviewPageComponent implements OnDestroy, OnInit {
|
export class AboutOverviewPageComponent implements OnDestroy, OnInit {
|
||||||
public hasPermissionForStatistics: boolean;
|
public hasPermissionForStatistics: boolean;
|
||||||
|
@ -4,7 +4,8 @@ import { Subject } from 'rxjs';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-privacy-policy-page',
|
selector: 'gf-privacy-policy-page',
|
||||||
styleUrls: ['./privacy-policy-page.scss'],
|
styleUrls: ['./privacy-policy-page.scss'],
|
||||||
templateUrl: './privacy-policy-page.html'
|
templateUrl: './privacy-policy-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class PrivacyPolicyPageComponent implements OnDestroy {
|
export class PrivacyPolicyPageComponent implements OnDestroy {
|
||||||
private unsubscribeSubject = new Subject<void>();
|
private unsubscribeSubject = new Subject<void>();
|
||||||
|
@ -25,7 +25,8 @@ import { TransferBalanceDialog } from './transfer-balance/transfer-balance-dialo
|
|||||||
host: { class: 'has-fab page' },
|
host: { class: 'has-fab page' },
|
||||||
selector: 'gf-accounts-page',
|
selector: 'gf-accounts-page',
|
||||||
styleUrls: ['./accounts-page.scss'],
|
styleUrls: ['./accounts-page.scss'],
|
||||||
templateUrl: './accounts-page.html'
|
templateUrl: './accounts-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AccountsPageComponent implements OnDestroy, OnInit {
|
export class AccountsPageComponent implements OnDestroy, OnInit {
|
||||||
public accounts: AccountModel[];
|
public accounts: AccountModel[];
|
||||||
|
@ -28,7 +28,8 @@ import { CreateOrUpdateAccountDialogParams } from './interfaces/interfaces';
|
|||||||
selector: 'gf-create-or-update-account-dialog',
|
selector: 'gf-create-or-update-account-dialog',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
styleUrls: ['./create-or-update-account-dialog.scss'],
|
styleUrls: ['./create-or-update-account-dialog.scss'],
|
||||||
templateUrl: 'create-or-update-account-dialog.html'
|
templateUrl: 'create-or-update-account-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class CreateOrUpdateAccountDialog implements OnDestroy {
|
export class CreateOrUpdateAccountDialog implements OnDestroy {
|
||||||
public accountForm: FormGroup;
|
public accountForm: FormGroup;
|
||||||
|
@ -24,7 +24,8 @@ import { TransferBalanceDialogParams } from './interfaces/interfaces';
|
|||||||
selector: 'gf-transfer-balance-dialog',
|
selector: 'gf-transfer-balance-dialog',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
styleUrls: ['./transfer-balance-dialog.scss'],
|
styleUrls: ['./transfer-balance-dialog.scss'],
|
||||||
templateUrl: 'transfer-balance-dialog.html'
|
templateUrl: 'transfer-balance-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class TransferBalanceDialog implements OnDestroy {
|
export class TransferBalanceDialog implements OnDestroy {
|
||||||
public accounts: Account[] = [];
|
public accounts: Account[] = [];
|
||||||
|
@ -8,7 +8,8 @@ import { Subject } from 'rxjs';
|
|||||||
host: { class: 'page has-tabs' },
|
host: { class: 'page has-tabs' },
|
||||||
selector: 'gf-admin-page',
|
selector: 'gf-admin-page',
|
||||||
styleUrls: ['./admin-page.scss'],
|
styleUrls: ['./admin-page.scss'],
|
||||||
templateUrl: './admin-page.html'
|
templateUrl: './admin-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AdminPageComponent implements OnDestroy, OnInit {
|
export class AdminPageComponent implements OnDestroy, OnInit {
|
||||||
public deviceType: string;
|
public deviceType: string;
|
||||||
|
@ -21,7 +21,6 @@ import { map, Observable, Subject, takeUntil } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [CommonModule],
|
imports: [CommonModule],
|
||||||
selector: 'gf-api-page',
|
selector: 'gf-api-page',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./api-page.scss'],
|
styleUrls: ['./api-page.scss'],
|
||||||
templateUrl: './api-page.html'
|
templateUrl: './api-page.html'
|
||||||
})
|
})
|
||||||
|
@ -12,7 +12,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-auth-page',
|
selector: 'gf-auth-page',
|
||||||
templateUrl: './auth-page.html',
|
templateUrl: './auth-page.html',
|
||||||
styleUrls: ['./auth-page.scss']
|
styleUrls: ['./auth-page.scss'],
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AuthPageComponent implements OnDestroy, OnInit {
|
export class AuthPageComponent implements OnDestroy, OnInit {
|
||||||
private unsubscribeSubject = new Subject<void>();
|
private unsubscribeSubject = new Subject<void>();
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-hallo-ghostfolio-page',
|
selector: 'gf-hallo-ghostfolio-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './hallo-ghostfolio-page.html'
|
templateUrl: './hallo-ghostfolio-page.html'
|
||||||
})
|
})
|
||||||
export class HalloGhostfolioPageComponent {
|
export class HalloGhostfolioPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-hello-ghostfolio-page',
|
selector: 'gf-hello-ghostfolio-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './hello-ghostfolio-page.html'
|
templateUrl: './hello-ghostfolio-page.html'
|
||||||
})
|
})
|
||||||
export class HelloGhostfolioPageComponent {
|
export class HelloGhostfolioPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-first-months-in-open-source-page',
|
selector: 'gf-first-months-in-open-source-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './first-months-in-open-source-page.html'
|
templateUrl: './first-months-in-open-source-page.html'
|
||||||
})
|
})
|
||||||
export class FirstMonthsInOpenSourcePageComponent {
|
export class FirstMonthsInOpenSourcePageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-ghostfolio-meets-internet-identity-page',
|
selector: 'gf-ghostfolio-meets-internet-identity-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './ghostfolio-meets-internet-identity-page.html'
|
templateUrl: './ghostfolio-meets-internet-identity-page.html'
|
||||||
})
|
})
|
||||||
export class GhostfolioMeetsInternetIdentityPageComponent {}
|
export class GhostfolioMeetsInternetIdentityPageComponent {}
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-how-do-i-get-my-finances-in-order-page',
|
selector: 'gf-how-do-i-get-my-finances-in-order-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './how-do-i-get-my-finances-in-order-page.html'
|
templateUrl: './how-do-i-get-my-finances-in-order-page.html'
|
||||||
})
|
})
|
||||||
export class HowDoIGetMyFinancesInOrderPageComponent {
|
export class HowDoIGetMyFinancesInOrderPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-500-stars-on-github-page',
|
selector: 'gf-500-stars-on-github-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './500-stars-on-github-page.html'
|
templateUrl: './500-stars-on-github-page.html'
|
||||||
})
|
})
|
||||||
export class FiveHundredStarsOnGitHubPageComponent {
|
export class FiveHundredStarsOnGitHubPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-hacktoberfest-2022-page',
|
selector: 'gf-hacktoberfest-2022-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './hacktoberfest-2022-page.html'
|
templateUrl: './hacktoberfest-2022-page.html'
|
||||||
})
|
})
|
||||||
export class Hacktoberfest2022PageComponent {}
|
export class Hacktoberfest2022PageComponent {}
|
||||||
|
@ -8,7 +8,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule],
|
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule],
|
||||||
selector: 'gf-black-friday-2022-page',
|
selector: 'gf-black-friday-2022-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './black-friday-2022-page.html'
|
templateUrl: './black-friday-2022-page.html'
|
||||||
})
|
})
|
||||||
export class BlackFriday2022PageComponent {
|
export class BlackFriday2022PageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-the-importance-of-tracking-your-personal-finances-page',
|
selector: 'gf-the-importance-of-tracking-your-personal-finances-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './the-importance-of-tracking-your-personal-finances-page.html'
|
templateUrl: './the-importance-of-tracking-your-personal-finances-page.html'
|
||||||
})
|
})
|
||||||
export class TheImportanceOfTrackingYourPersonalFinancesPageComponent {}
|
export class TheImportanceOfTrackingYourPersonalFinancesPageComponent {}
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-ghostfolio-auf-sackgeld-vorgestellt-page',
|
selector: 'gf-ghostfolio-auf-sackgeld-vorgestellt-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './ghostfolio-auf-sackgeld-vorgestellt-page.html'
|
templateUrl: './ghostfolio-auf-sackgeld-vorgestellt-page.html'
|
||||||
})
|
})
|
||||||
export class GhostfolioAufSackgeldVorgestelltPageComponent {}
|
export class GhostfolioAufSackgeldVorgestelltPageComponent {}
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-ghostfolio-meets-umbrel-page',
|
selector: 'gf-ghostfolio-meets-umbrel-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './ghostfolio-meets-umbrel-page.html'
|
templateUrl: './ghostfolio-meets-umbrel-page.html'
|
||||||
})
|
})
|
||||||
export class GhostfolioMeetsUmbrelPageComponent {}
|
export class GhostfolioMeetsUmbrelPageComponent {}
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-1000-stars-on-github-page',
|
selector: 'gf-1000-stars-on-github-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './1000-stars-on-github-page.html'
|
templateUrl: './1000-stars-on-github-page.html'
|
||||||
})
|
})
|
||||||
export class ThousandStarsOnGitHubPageComponent {
|
export class ThousandStarsOnGitHubPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-unlock-your-financial-potential-with-ghostfolio-page',
|
selector: 'gf-unlock-your-financial-potential-with-ghostfolio-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './unlock-your-financial-potential-with-ghostfolio-page.html'
|
templateUrl: './unlock-your-financial-potential-with-ghostfolio-page.html'
|
||||||
})
|
})
|
||||||
export class UnlockYourFinancialPotentialWithGhostfolioPageComponent {
|
export class UnlockYourFinancialPotentialWithGhostfolioPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-exploring-the-path-to-fire-page-page',
|
selector: 'gf-exploring-the-path-to-fire-page-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './exploring-the-path-to-fire-page.html'
|
templateUrl: './exploring-the-path-to-fire-page.html'
|
||||||
})
|
})
|
||||||
export class ExploringThePathToFirePageComponent {
|
export class ExploringThePathToFirePageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-ghostfolio-joins-oss-friends-page',
|
selector: 'gf-ghostfolio-joins-oss-friends-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './ghostfolio-joins-oss-friends-page.html'
|
templateUrl: './ghostfolio-joins-oss-friends-page.html'
|
||||||
})
|
})
|
||||||
export class GhostfolioJoinsOssFriendsPageComponent {
|
export class GhostfolioJoinsOssFriendsPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-ghostfolio-2-page',
|
selector: 'gf-ghostfolio-2-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './ghostfolio-2-page.html'
|
templateUrl: './ghostfolio-2-page.html'
|
||||||
})
|
})
|
||||||
export class Ghostfolio2PageComponent {
|
export class Ghostfolio2PageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-hacktoberfest-2023-page',
|
selector: 'gf-hacktoberfest-2023-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './hacktoberfest-2023-page.html'
|
templateUrl: './hacktoberfest-2023-page.html'
|
||||||
})
|
})
|
||||||
export class Hacktoberfest2023PageComponent {
|
export class Hacktoberfest2023PageComponent {
|
||||||
|
@ -8,7 +8,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule],
|
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule],
|
||||||
selector: 'gf-black-week-2023-page',
|
selector: 'gf-black-week-2023-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './black-week-2023-page.html'
|
templateUrl: './black-week-2023-page.html'
|
||||||
})
|
})
|
||||||
export class BlackWeek2023PageComponent {
|
export class BlackWeek2023PageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-hacktoberfest-2023-debriefing-page',
|
selector: 'gf-hacktoberfest-2023-debriefing-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './hacktoberfest-2023-debriefing-page.html'
|
templateUrl: './hacktoberfest-2023-debriefing-page.html'
|
||||||
})
|
})
|
||||||
export class Hacktoberfest2023DebriefingPageComponent {
|
export class Hacktoberfest2023DebriefingPageComponent {
|
||||||
|
@ -6,7 +6,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [MatButtonModule, RouterModule],
|
imports: [MatButtonModule, RouterModule],
|
||||||
selector: 'gf-hacktoberfest-2024-page',
|
selector: 'gf-hacktoberfest-2024-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './hacktoberfest-2024-page.html'
|
templateUrl: './hacktoberfest-2024-page.html'
|
||||||
})
|
})
|
||||||
export class Hacktoberfest2024PageComponent {
|
export class Hacktoberfest2024PageComponent {
|
||||||
|
@ -8,7 +8,6 @@ import { RouterModule } from '@angular/router';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule],
|
imports: [GfPremiumIndicatorComponent, MatButtonModule, RouterModule],
|
||||||
selector: 'gf-black-weeks-2024-page',
|
selector: 'gf-black-weeks-2024-page',
|
||||||
standalone: true,
|
|
||||||
templateUrl: './black-weeks-2024-page.html'
|
templateUrl: './black-weeks-2024-page.html'
|
||||||
})
|
})
|
||||||
export class BlackWeeks2024PageComponent {
|
export class BlackWeeks2024PageComponent {
|
||||||
|
@ -8,7 +8,8 @@ import { Subject } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-blog-page',
|
selector: 'gf-blog-page',
|
||||||
styleUrls: ['./blog-page.scss'],
|
styleUrls: ['./blog-page.scss'],
|
||||||
templateUrl: './blog-page.html'
|
templateUrl: './blog-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class BlogPageComponent implements OnDestroy {
|
export class BlogPageComponent implements OnDestroy {
|
||||||
public hasPermissionForSubscription: boolean;
|
public hasPermissionForSubscription: boolean;
|
||||||
|
@ -10,7 +10,8 @@ import { Subject } from 'rxjs';
|
|||||||
host: { class: 'page has-tabs' },
|
host: { class: 'page has-tabs' },
|
||||||
selector: 'gf-faq-page',
|
selector: 'gf-faq-page',
|
||||||
styleUrls: ['./faq-page.scss'],
|
styleUrls: ['./faq-page.scss'],
|
||||||
templateUrl: './faq-page.html'
|
templateUrl: './faq-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class FaqPageComponent implements OnDestroy, OnInit {
|
export class FaqPageComponent implements OnDestroy, OnInit {
|
||||||
public deviceType: string;
|
public deviceType: string;
|
||||||
|
@ -8,7 +8,8 @@ import { Subject, takeUntil } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-faq-overview-page',
|
selector: 'gf-faq-overview-page',
|
||||||
styleUrls: ['./faq-overview-page.scss'],
|
styleUrls: ['./faq-overview-page.scss'],
|
||||||
templateUrl: './faq-overview-page.html'
|
templateUrl: './faq-overview-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class FaqOverviewPageComponent implements OnDestroy {
|
export class FaqOverviewPageComponent implements OnDestroy {
|
||||||
public routerLinkFeatures = ['/' + $localize`:snake-case:features`];
|
public routerLinkFeatures = ['/' + $localize`:snake-case:features`];
|
||||||
|
@ -8,7 +8,8 @@ import { Subject, takeUntil } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-saas-page',
|
selector: 'gf-saas-page',
|
||||||
styleUrls: ['./saas-page.scss'],
|
styleUrls: ['./saas-page.scss'],
|
||||||
templateUrl: './saas-page.html'
|
templateUrl: './saas-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class SaasPageComponent implements OnDestroy {
|
export class SaasPageComponent implements OnDestroy {
|
||||||
public routerLinkMarkets = ['/' + $localize`:snake-case:markets`];
|
public routerLinkMarkets = ['/' + $localize`:snake-case:markets`];
|
||||||
|
@ -5,7 +5,8 @@ import { Subject } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-self-hosting-page',
|
selector: 'gf-self-hosting-page',
|
||||||
styleUrls: ['./self-hosting-page.scss'],
|
styleUrls: ['./self-hosting-page.scss'],
|
||||||
templateUrl: './self-hosting-page.html'
|
templateUrl: './self-hosting-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class SelfHostingPageComponent implements OnDestroy {
|
export class SelfHostingPageComponent implements OnDestroy {
|
||||||
private unsubscribeSubject = new Subject<void>();
|
private unsubscribeSubject = new Subject<void>();
|
||||||
|
@ -19,7 +19,6 @@ import { Subject, takeUntil } from 'rxjs';
|
|||||||
RouterModule
|
RouterModule
|
||||||
],
|
],
|
||||||
selector: 'gf-features-page',
|
selector: 'gf-features-page',
|
||||||
standalone: true,
|
|
||||||
styleUrls: ['./features-page.scss'],
|
styleUrls: ['./features-page.scss'],
|
||||||
templateUrl: './features-page.html'
|
templateUrl: './features-page.html'
|
||||||
})
|
})
|
||||||
|
@ -11,7 +11,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
host: { class: 'page has-tabs' },
|
host: { class: 'page has-tabs' },
|
||||||
selector: 'gf-home-page',
|
selector: 'gf-home-page',
|
||||||
styleUrls: ['./home-page.scss'],
|
styleUrls: ['./home-page.scss'],
|
||||||
templateUrl: './home-page.html'
|
templateUrl: './home-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class HomePageComponent implements OnDestroy, OnInit {
|
export class HomePageComponent implements OnDestroy, OnInit {
|
||||||
public deviceType: string;
|
public deviceType: string;
|
||||||
|
@ -11,7 +11,8 @@ import { Subject } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-landing-page',
|
selector: 'gf-landing-page',
|
||||||
styleUrls: ['./landing-page.scss'],
|
styleUrls: ['./landing-page.scss'],
|
||||||
templateUrl: './landing-page.html'
|
templateUrl: './landing-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class LandingPageComponent implements OnDestroy, OnInit {
|
export class LandingPageComponent implements OnDestroy, OnInit {
|
||||||
public countriesOfSubscribersMap: {
|
public countriesOfSubscribersMap: {
|
||||||
|
@ -5,7 +5,8 @@ import { Subject } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-markets-page',
|
selector: 'gf-markets-page',
|
||||||
styleUrls: ['./markets-page.scss'],
|
styleUrls: ['./markets-page.scss'],
|
||||||
templateUrl: './markets-page.html'
|
templateUrl: './markets-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class MarketsPageComponent implements OnDestroy {
|
export class MarketsPageComponent implements OnDestroy {
|
||||||
private unsubscribeSubject = new Subject<void>();
|
private unsubscribeSubject = new Subject<void>();
|
||||||
|
@ -9,7 +9,8 @@ import { Subject, takeUntil } from 'rxjs';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-open-page',
|
selector: 'gf-open-page',
|
||||||
styleUrls: ['./open-page.scss'],
|
styleUrls: ['./open-page.scss'],
|
||||||
templateUrl: './open-page.html'
|
templateUrl: './open-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class OpenPageComponent implements OnDestroy, OnInit {
|
export class OpenPageComponent implements OnDestroy, OnInit {
|
||||||
public statistics: Statistics;
|
public statistics: Statistics;
|
||||||
|
@ -29,7 +29,8 @@ import { ImportActivitiesDialogParams } from './import-activities-dialog/interfa
|
|||||||
host: { class: 'has-fab' },
|
host: { class: 'has-fab' },
|
||||||
selector: 'gf-activities-page',
|
selector: 'gf-activities-page',
|
||||||
styleUrls: ['./activities-page.scss'],
|
styleUrls: ['./activities-page.scss'],
|
||||||
templateUrl: './activities-page.html'
|
templateUrl: './activities-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class ActivitiesPageComponent implements OnDestroy, OnInit {
|
export class ActivitiesPageComponent implements OnDestroy, OnInit {
|
||||||
public dataSource: MatTableDataSource<Activity>;
|
public dataSource: MatTableDataSource<Activity>;
|
||||||
|
@ -31,7 +31,8 @@ import { CreateOrUpdateActivityDialogParams } from './interfaces/interfaces';
|
|||||||
selector: 'gf-create-or-update-activity-dialog',
|
selector: 'gf-create-or-update-activity-dialog',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
styleUrls: ['./create-or-update-activity-dialog.scss'],
|
styleUrls: ['./create-or-update-activity-dialog.scss'],
|
||||||
templateUrl: 'create-or-update-activity-dialog.html'
|
templateUrl: 'create-or-update-activity-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class CreateOrUpdateActivityDialog implements OnDestroy {
|
export class CreateOrUpdateActivityDialog implements OnDestroy {
|
||||||
@ViewChild('symbolAutocomplete') symbolAutocomplete;
|
@ViewChild('symbolAutocomplete') symbolAutocomplete;
|
||||||
@ -215,12 +216,12 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
|
|||||||
this.total =
|
this.total =
|
||||||
this.activityForm.get('quantity').value *
|
this.activityForm.get('quantity').value *
|
||||||
this.activityForm.get('unitPrice').value +
|
this.activityForm.get('unitPrice').value +
|
||||||
this.activityForm.get('fee').value ?? 0;
|
(this.activityForm.get('fee').value ?? 0);
|
||||||
} else {
|
} else {
|
||||||
this.total =
|
this.total =
|
||||||
this.activityForm.get('quantity').value *
|
this.activityForm.get('quantity').value *
|
||||||
this.activityForm.get('unitPrice').value -
|
this.activityForm.get('unitPrice').value -
|
||||||
this.activityForm.get('fee').value ?? 0;
|
(this.activityForm.get('fee').value ?? 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.changeDetectorRef.markForCheck();
|
this.changeDetectorRef.markForCheck();
|
||||||
|
@ -33,7 +33,8 @@ import { ImportActivitiesDialogParams } from './interfaces/interfaces';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
selector: 'gf-import-activities-dialog',
|
selector: 'gf-import-activities-dialog',
|
||||||
styleUrls: ['./import-activities-dialog.scss'],
|
styleUrls: ['./import-activities-dialog.scss'],
|
||||||
templateUrl: 'import-activities-dialog.html'
|
templateUrl: 'import-activities-dialog.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class ImportActivitiesDialog implements OnDestroy {
|
export class ImportActivitiesDialog implements OnDestroy {
|
||||||
public accounts: CreateAccountDto[] = [];
|
public accounts: CreateAccountDto[] = [];
|
||||||
|
@ -28,7 +28,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-allocations-page',
|
selector: 'gf-allocations-page',
|
||||||
styleUrls: ['./allocations-page.scss'],
|
styleUrls: ['./allocations-page.scss'],
|
||||||
templateUrl: './allocations-page.html'
|
templateUrl: './allocations-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AllocationsPageComponent implements OnDestroy, OnInit {
|
export class AllocationsPageComponent implements OnDestroy, OnInit {
|
||||||
public accounts: {
|
public accounts: {
|
||||||
|
@ -24,7 +24,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-analysis-page',
|
selector: 'gf-analysis-page',
|
||||||
styleUrls: ['./analysis-page.scss'],
|
styleUrls: ['./analysis-page.scss'],
|
||||||
templateUrl: './analysis-page.html'
|
templateUrl: './analysis-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class AnalysisPageComponent implements OnDestroy, OnInit {
|
export class AnalysisPageComponent implements OnDestroy, OnInit {
|
||||||
public benchmark: Partial<SymbolProfile>;
|
public benchmark: Partial<SymbolProfile>;
|
||||||
|
@ -13,7 +13,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-fire-page',
|
selector: 'gf-fire-page',
|
||||||
styleUrls: ['./fire-page.scss'],
|
styleUrls: ['./fire-page.scss'],
|
||||||
templateUrl: './fire-page.html'
|
templateUrl: './fire-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class FirePageComponent implements OnDestroy, OnInit {
|
export class FirePageComponent implements OnDestroy, OnInit {
|
||||||
public deviceType: string;
|
public deviceType: string;
|
||||||
|
@ -10,7 +10,8 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
host: { class: 'page has-tabs' },
|
host: { class: 'page has-tabs' },
|
||||||
selector: 'gf-portfolio-page',
|
selector: 'gf-portfolio-page',
|
||||||
styleUrls: ['./portfolio-page.scss'],
|
styleUrls: ['./portfolio-page.scss'],
|
||||||
templateUrl: './portfolio-page.html'
|
templateUrl: './portfolio-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class PortfolioPageComponent implements OnDestroy, OnInit {
|
export class PortfolioPageComponent implements OnDestroy, OnInit {
|
||||||
public deviceType: string;
|
public deviceType: string;
|
||||||
|
@ -15,7 +15,8 @@ import { Subject, takeUntil } from 'rxjs';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'gf-x-ray-page',
|
selector: 'gf-x-ray-page',
|
||||||
styleUrl: './x-ray-page.component.scss',
|
styleUrl: './x-ray-page.component.scss',
|
||||||
templateUrl: './x-ray-page.component.html'
|
templateUrl: './x-ray-page.component.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class XRayPageComponent {
|
export class XRayPageComponent {
|
||||||
public accountClusterRiskRules: PortfolioReportRule[];
|
public accountClusterRiskRules: PortfolioReportRule[];
|
||||||
|
@ -15,7 +15,8 @@ import { catchError, switchMap, takeUntil } from 'rxjs/operators';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-pricing-page',
|
selector: 'gf-pricing-page',
|
||||||
styleUrls: ['./pricing-page.scss'],
|
styleUrls: ['./pricing-page.scss'],
|
||||||
templateUrl: './pricing-page.html'
|
templateUrl: './pricing-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class PricingPageComponent implements OnDestroy, OnInit {
|
export class PricingPageComponent implements OnDestroy, OnInit {
|
||||||
public baseCurrency: string;
|
public baseCurrency: string;
|
||||||
|
@ -20,7 +20,8 @@ import { catchError, takeUntil } from 'rxjs/operators';
|
|||||||
host: { class: 'page' },
|
host: { class: 'page' },
|
||||||
selector: 'gf-public-page',
|
selector: 'gf-public-page',
|
||||||
styleUrls: ['./public-page.scss'],
|
styleUrls: ['./public-page.scss'],
|
||||||
templateUrl: './public-page.html'
|
templateUrl: './public-page.html',
|
||||||
|
standalone: false
|
||||||
})
|
})
|
||||||
export class PublicPageComponent implements OnInit {
|
export class PublicPageComponent implements OnInit {
|
||||||
public continents: {
|
public continents: {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user