Browse Source

feat(ui): migrate to signals

pull/8068/head
KenTandrian 1 week ago
parent
commit
9bab7214d2
  1. 4
      apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts
  2. 4
      libs/ui/src/lib/accounts-table/accounts-table.component.ts
  3. 6
      libs/ui/src/lib/dialog-header/dialog-header.component.html
  4. 13
      libs/ui/src/lib/dialog-header/dialog-header.component.ts
  5. 4
      libs/ui/src/lib/holdings-table/holdings-table.component.ts

4
apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts

@ -73,7 +73,9 @@ export class GfBenchmarkComparatorComponent implements OnChanges, OnDestroy {
public readonly colorScheme = input<ColorScheme>(); public readonly colorScheme = input<ColorScheme>();
public readonly isLoading = input<boolean>(); public readonly isLoading = input<boolean>();
public readonly locale = input(getLocale(), { public readonly locale = input(getLocale(), {
transform: (value?: string) => value ?? getLocale() transform: (value?: string) => {
return value ?? getLocale();
}
}); });
public readonly performanceDataItems = input.required<LineChartItem[]>(); public readonly performanceDataItems = input.required<LineChartItem[]>();
public readonly user = input<User>(); public readonly user = input<User>();

4
libs/ui/src/lib/accounts-table/accounts-table.component.ts

@ -63,7 +63,9 @@ export class GfAccountsTableComponent {
public readonly hasPermissionToOpenDetails = input(true); public readonly hasPermissionToOpenDetails = input(true);
public readonly hasPermissionToUpdateAccount = input<boolean>(); public readonly hasPermissionToUpdateAccount = input<boolean>();
public readonly locale = input(getLocale(), { public readonly locale = input(getLocale(), {
transform: (value?: string) => value ?? getLocale() transform: (value?: string) => {
return value ?? getLocale();
}
}); });
public readonly showActions = input<boolean>(); public readonly showActions = input<boolean>();
public readonly showActivitiesCount = input(true); public readonly showActivitiesCount = input(true);

6
libs/ui/src/lib/dialog-header/dialog-header.component.html

@ -1,10 +1,10 @@
<div class="d-flex" mat-dialog-title> <div class="d-flex" mat-dialog-title>
<span <span
class="flex-grow-1 text-truncate" class="flex-grow-1 text-truncate"
[class.text-center]="position === 'center'" [class.text-center]="position() === 'center'"
>{{ title }}</span >{{ title() }}</span
> >
@if (deviceType !== 'mobile') { @if (deviceType() !== 'mobile') {
<button class="no-min-width px-0" mat-button (click)="onClickCloseButton()"> <button class="no-min-width px-0" mat-button (click)="onClickCloseButton()">
<ion-icon name="close" size="large" /> <ion-icon name="close" size="large" />
</button> </button>

13
libs/ui/src/lib/dialog-header/dialog-header.component.ts

@ -1,9 +1,8 @@
import { import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
EventEmitter, input,
Input, output
Output
} from '@angular/core'; } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule } from '@angular/material/dialog'; import { MatDialogModule } from '@angular/material/dialog';
@ -20,11 +19,11 @@ import { close } from 'ionicons/icons';
templateUrl: './dialog-header.component.html' templateUrl: './dialog-header.component.html'
}) })
export class GfDialogHeaderComponent { export class GfDialogHeaderComponent {
@Input() deviceType: string; public readonly deviceType = input<string>();
@Input() position: 'center' | 'left' = 'left'; public readonly position = input<'center' | 'left'>('left');
@Input() title?: string | null; public readonly title = input.required<string | null | undefined>();
@Output() closeButtonClicked = new EventEmitter<void>(); public readonly closeButtonClicked = output<void>();
public constructor() { public constructor() {
addIcons({ close }); addIcons({ close });

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

@ -55,7 +55,9 @@ export class GfHoldingsTableComponent {
public readonly hasPermissionToShowValues = input(true); public readonly hasPermissionToShowValues = input(true);
public readonly holdings = input.required<PortfolioPosition[] | undefined>(); public readonly holdings = input.required<PortfolioPosition[] | undefined>();
public readonly locale = input(getLocale(), { public readonly locale = input(getLocale(), {
transform: (value?: string) => value ?? getLocale() transform: (value?: string) => {
return value ?? getLocale();
}
}); });
public readonly mode = input<'default' | 'simple'>('default'); public readonly mode = input<'default' | 'simple'>('default');
public readonly pageSize = model(Number.MAX_SAFE_INTEGER); public readonly pageSize = model(Number.MAX_SAFE_INTEGER);

Loading…
Cancel
Save