Browse Source

fix linting

pull/4321/head
Shaunak 6 months ago
parent
commit
b9cbcc7b4a
  1. 1
      apps/client/src/app/components/asset-profile-icon/asset-profile-icon.component.ts
  2. 1
      apps/client/src/app/core/notification/alert-dialog/alert-dialog.component.ts
  3. 1
      apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.component.ts
  4. 1
      apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
  5. 3
      libs/ui/src/lib/assistant/assistant.component.ts
  6. 209
      libs/ui/src/lib/assistant/assistant.html
  7. 3
      libs/ui/src/lib/benchmark/benchmark-detail-dialog/benchmark-detail-dialog.component.ts
  8. 20
      libs/ui/src/lib/data-provider-credits/data-provider-credits.component.html
  9. 1
      libs/ui/src/lib/data-provider-credits/data-provider-credits.component.ts
  10. 3
      libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.component.ts
  11. 3
      libs/ui/src/lib/tags-selector/tags-selector.component.ts
  12. 1
      libs/ui/src/lib/trend-indicator/trend-indicator.component.ts

1
apps/client/src/app/components/asset-profile-icon/asset-profile-icon.component.ts

@ -1,4 +1,3 @@
import { import {
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,

1
apps/client/src/app/core/notification/alert-dialog/alert-dialog.component.ts

@ -1,4 +1,3 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule, MatDialogRef } from '@angular/material/dialog'; import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';

1
apps/client/src/app/core/notification/confirmation-dialog/confirmation-dialog.component.ts

@ -1,4 +1,3 @@
import { Component, HostListener } from '@angular/core'; import { Component, HostListener } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule, MatDialogRef } from '@angular/material/dialog'; import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';

1
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts

@ -3,7 +3,6 @@ import { Product } from '@ghostfolio/common/interfaces';
import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools';
import { translate } from '@ghostfolio/ui/i18n'; import { translate } from '@ghostfolio/ui/i18n';
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
import { ActivatedRoute, RouterModule } from '@angular/router'; import { ActivatedRoute, RouterModule } from '@angular/router';

3
libs/ui/src/lib/assistant/assistant.component.ts

@ -8,7 +8,6 @@ import { DateRange } from '@ghostfolio/common/types';
import { translate } from '@ghostfolio/ui/i18n'; import { translate } from '@ghostfolio/ui/i18n';
import { FocusKeyManager } from '@angular/cdk/a11y'; import { FocusKeyManager } from '@angular/cdk/a11y';
import { import {
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,
@ -69,7 +68,7 @@ import {
NgxSkeletonLoaderModule, NgxSkeletonLoaderModule,
ReactiveFormsModule, ReactiveFormsModule,
RouterModule RouterModule
], ],
schemas: [CUSTOM_ELEMENTS_SCHEMA], schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-assistant', selector: 'gf-assistant',
styleUrls: ['./assistant.scss'], styleUrls: ['./assistant.scss'],

209
libs/ui/src/lib/assistant/assistant.html

@ -2,7 +2,7 @@
<div <div
[style.width]="deviceType === 'mobile' ? '85vw' : '30rem'" [style.width]="deviceType === 'mobile' ? '85vw' : '30rem'"
(keydown.tab)="$event.stopPropagation()" (keydown.tab)="$event.stopPropagation()"
> >
<div class="align-items-center d-flex search-container"> <div class="align-items-center d-flex search-container">
<ion-icon class="ml-2 mr-0" name="search-outline" /> <ion-icon class="ml-2 mr-0" name="search-outline" />
<input <input
@ -14,20 +14,16 @@
type="text" type="text"
[formControl]="searchFormControl" [formControl]="searchFormControl"
[placeholder]="placeholder" [placeholder]="placeholder"
/> />
@if (deviceType !== 'mobile' && !searchFormControl.value) { @if (deviceType !== 'mobile' && !searchFormControl.value) {
<div <div class="hot-key-hint mx-1 px-1">/</div>
class="hot-key-hint mx-1 px-1"
>
/
</div>
} }
@if (searchFormControl.value) { @if (searchFormControl.value) {
<button <button
class="h-100 no-min-width px-3 rounded-0" class="h-100 no-min-width px-3 rounded-0"
mat-button mat-button
(click)="initialize()" (click)="initialize()"
> >
<ion-icon class="m-0" name="close-circle-outline" /> <ion-icon class="m-0" name="close-circle-outline" />
</button> </button>
} }
@ -36,34 +32,35 @@
class="h-100 no-min-width px-3 rounded-0" class="h-100 no-min-width px-3 rounded-0"
mat-button mat-button
(click)="onCloseAssistant()" (click)="onCloseAssistant()"
> >
<ion-icon class="m-0" name="close-outline" /> <ion-icon class="m-0" name="close-outline" />
</button> </button>
} }
</div> </div>
@if (isLoading || searchFormControl.value) { @if (isLoading || searchFormControl.value) {
<div <div class="overflow-auto py-3 result-container">
class="overflow-auto py-3 result-container"
>
<div> <div>
<div class="h6 mb-1 px-2" i18n>Holdings</div> <div class="h6 mb-1 px-2" i18n>Holdings</div>
@for (searchResultItem of searchResults?.holdings; track searchResultItem) { @for (
searchResultItem of searchResults?.holdings;
track searchResultItem
) {
<gf-assistant-list-item <gf-assistant-list-item
mode="holding" mode="holding"
[item]="searchResultItem" [item]="searchResultItem"
(clicked)="onCloseAssistant()" (clicked)="onCloseAssistant()"
/> />
} }
@if (searchResults?.holdings?.length === 0) { @if (searchResults?.holdings?.length === 0) {
@if (isLoading) { @if (isLoading) {
<ngx-skeleton-loader <ngx-skeleton-loader
animation="pulse" animation="pulse"
class="mx-2" class="mx-2"
[theme]="{ [theme]="{
height: '1.5rem', height: '1.5rem',
width: '100%' width: '100%'
}" }"
/> />
} }
@if (!isLoading) { @if (!isLoading) {
<div class="px-2 py-1" i18n>No entries...</div> <div class="px-2 py-1" i18n>No entries...</div>
@ -73,23 +70,26 @@
@if (hasPermissionToAccessAdminControl) { @if (hasPermissionToAccessAdminControl) {
<div class="mt-3"> <div class="mt-3">
<div class="h6 mb-1 px-2" i18n>Asset Profiles</div> <div class="h6 mb-1 px-2" i18n>Asset Profiles</div>
@for (searchResultItem of searchResults?.assetProfiles; track searchResultItem) { @for (
searchResultItem of searchResults?.assetProfiles;
track searchResultItem
) {
<gf-assistant-list-item <gf-assistant-list-item
mode="assetProfile" mode="assetProfile"
[item]="searchResultItem" [item]="searchResultItem"
(clicked)="onCloseAssistant()" (clicked)="onCloseAssistant()"
/> />
} }
@if (searchResults?.assetProfiles?.length === 0) { @if (searchResults?.assetProfiles?.length === 0) {
@if (isLoading) { @if (isLoading) {
<ngx-skeleton-loader <ngx-skeleton-loader
animation="pulse" animation="pulse"
class="mx-2" class="mx-2"
[theme]="{ [theme]="{
height: '1.5rem', height: '1.5rem',
width: '100%' width: '100%'
}" }"
/> />
} }
@if (!isLoading) { @if (!isLoading) {
<div class="px-2 py-1" i18n>No entries...</div> <div class="px-2 py-1" i18n>No entries...</div>
@ -108,7 +108,7 @@
<mat-select <mat-select
[formControl]="dateRangeFormControl" [formControl]="dateRangeFormControl"
(selectionChange)="onChangeDateRange($event.value)" (selectionChange)="onChangeDateRange($event.value)"
> >
@for (range of dateRangeOptions; track range) { @for (range of dateRangeOptions; track range) {
<mat-option [value]="range.value">{{ range.label }}</mat-option> <mat-option [value]="range.value">{{ range.label }}</mat-option>
} }
@ -129,89 +129,90 @@
class="mr-1" class="mr-1"
[tooltip]="account.Platform?.name" [tooltip]="account.Platform?.name"
[url]="account.Platform?.url" [url]="account.Platform?.url"
/> />
}<span>{{ account.name }}</span>
</div>
</mat-option>
}
</mat-select>
</mat-form-field>
</div>
<div class="mb-3">
<mat-form-field appearance="outline" class="w-100 without-hint">
<mat-label i18n>Holding</mat-label>
<mat-select
formControlName="holding"
[compareWith]="holdingComparisonFunction"
>
<mat-select-trigger>{{
filterForm.get('holding')?.value?.name
}}</mat-select-trigger>
<mat-option [value]="null" />
@for (holding of holdings; track holding.name) {
<mat-option [value]="holding">
<div class="line-height-1 text-truncate">
<span
><b>{{ holding.name }}</b></span
>
<br />
<small class="text-muted"
>{{ holding.symbol | gfSymbol }} ·
{{ holding.currency }}</small
>
</div>
</mat-option>
} }
</mat-select> <span>{{ account.name }}</span>
</mat-form-field> </div>
</div> </mat-option>
<div class="mb-3"> }
<mat-form-field appearance="outline" class="w-100 without-hint"> </mat-select>
<mat-label i18n>Tag</mat-label> </mat-form-field>
<mat-select formControlName="tag"> </div>
<mat-option [value]="null" /> <div class="mb-3">
@for (tag of tags; track tag.id) { <mat-form-field appearance="outline" class="w-100 without-hint">
<mat-option [value]="tag.id">{{ tag.label }}</mat-option> <mat-label i18n>Holding</mat-label>
} <mat-select
</mat-select> formControlName="holding"
</mat-form-field> [compareWith]="holdingComparisonFunction"
</div> >
<div class="mb-3"> <mat-select-trigger>{{
<mat-form-field appearance="outline" class="w-100 without-hint"> filterForm.get('holding')?.value?.name
<mat-label i18n>Asset Class</mat-label> }}</mat-select-trigger>
<mat-select formControlName="assetClass"> <mat-option [value]="null" />
<mat-option [value]="null" /> @for (holding of holdings; track holding.name) {
@for (assetClass of assetClasses; track assetClass.id) { <mat-option [value]="holding">
<mat-option [value]="assetClass.id">{{ <div class="line-height-1 text-truncate">
assetClass.label <span
}}</mat-option> ><b>{{ holding.name }}</b></span
} >
</mat-select> <br />
</mat-form-field> <small class="text-muted"
</div> >{{ holding.symbol | gfSymbol }} ·
<div class="d-flex w-100"> {{ holding.currency }}</small
<button >
i18n </div>
mat-button </mat-option>
}
</mat-select>
</mat-form-field>
</div>
<div class="mb-3">
<mat-form-field appearance="outline" class="w-100 without-hint">
<mat-label i18n>Tag</mat-label>
<mat-select formControlName="tag">
<mat-option [value]="null" />
@for (tag of tags; track tag.id) {
<mat-option [value]="tag.id">{{ tag.label }}</mat-option>
}
</mat-select>
</mat-form-field>
</div>
<div class="mb-3">
<mat-form-field appearance="outline" class="w-100 without-hint">
<mat-label i18n>Asset Class</mat-label>
<mat-select formControlName="assetClass">
<mat-option [value]="null" />
@for (assetClass of assetClasses; track assetClass.id) {
<mat-option [value]="assetClass.id">{{
assetClass.label
}}</mat-option>
}
</mat-select>
</mat-form-field>
</div>
<div class="d-flex w-100">
<button
i18n
mat-button
[disabled]=" [disabled]="
!hasFilter(filterForm.value) || !hasPermissionToChangeFilters !hasFilter(filterForm.value) || !hasPermissionToChangeFilters
" "
(click)="onResetFilters()" (click)="onResetFilters()"
> >
Reset Filters Reset Filters
</button> </button>
<span class="gf-spacer"></span> <span class="gf-spacer"></span>
<button <button
color="primary" color="primary"
i18n i18n
mat-flat-button mat-flat-button
[disabled]="!filterForm.dirty || !hasPermissionToChangeFilters" [disabled]="!filterForm.dirty || !hasPermissionToChangeFilters"
(click)="onApplyFilters()" (click)="onApplyFilters()"
> >
Apply Filters Apply Filters
</button> </button>
</div> </div>
</div>
}
</form>
</div> </div>
}
</form>
</div>

3
libs/ui/src/lib/benchmark/benchmark-detail-dialog/benchmark-detail-dialog.component.ts

@ -8,7 +8,6 @@ import {
} from '@ghostfolio/common/interfaces'; } from '@ghostfolio/common/interfaces';
import { GfLineChartComponent } from '@ghostfolio/ui/line-chart'; import { GfLineChartComponent } from '@ghostfolio/ui/line-chart';
import { import {
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,
@ -37,7 +36,7 @@ import { BenchmarkDetailDialogParams } from './interfaces/interfaces';
GfDialogHeaderModule, GfDialogHeaderModule,
GfLineChartComponent, GfLineChartComponent,
MatDialogModule MatDialogModule
], ],
schemas: [CUSTOM_ELEMENTS_SCHEMA], schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-benchmark-detail-dialog', selector: 'gf-benchmark-detail-dialog',
styleUrls: ['./benchmark-detail-dialog.component.scss'], styleUrls: ['./benchmark-detail-dialog.component.scss'],

20
libs/ui/src/lib/data-provider-credits/data-provider-credits.component.html

@ -1,10 +1,16 @@
<small class="text-muted"> <small class="text-muted">
<ng-container i18n>Market data provided by</ng-container>&nbsp;@for (dataProviderInfo of dataProviderInfos; track dataProviderInfo; let last = $last) { <ng-container i18n>Market data provided by</ng-container>&nbsp;
<a target="_blank" [href]="dataProviderInfo.url">{{ @for (
dataProviderInfo.name dataProviderInfo of dataProviderInfos;
}}</a track dataProviderInfo;
>@if (!last) { let last = $last
, ) {
<a target="_blank" [href]="dataProviderInfo.url">{{
dataProviderInfo.name
}}</a>
@if (!last) {
,
}
} }
}. .
</small> </small>

1
libs/ui/src/lib/data-provider-credits/data-provider-credits.component.ts

@ -1,6 +1,5 @@
import { DataProviderInfo } from '@ghostfolio/common/interfaces'; import { DataProviderInfo } from '@ghostfolio/common/interfaces';
import { import {
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,

3
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.component.ts

@ -1,7 +1,6 @@
import { AdminService } from '@ghostfolio/client/services/admin.service'; import { AdminService } from '@ghostfolio/client/services/admin.service';
import { DataService } from '@ghostfolio/client/services/data.service'; import { DataService } from '@ghostfolio/client/services/data.service';
import { import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
ChangeDetectorRef, ChangeDetectorRef,
@ -36,7 +35,7 @@ import { HistoricalMarketDataEditorDialogParams } from './interfaces/interfaces'
MatFormFieldModule, MatFormFieldModule,
MatInputModule, MatInputModule,
ReactiveFormsModule ReactiveFormsModule
], ],
selector: 'gf-historical-market-data-editor-dialog', selector: 'gf-historical-market-data-editor-dialog',
schemas: [CUSTOM_ELEMENTS_SCHEMA], schemas: [CUSTOM_ELEMENTS_SCHEMA],
styleUrls: ['./historical-market-data-editor-dialog.scss'], styleUrls: ['./historical-market-data-editor-dialog.scss'],

3
libs/ui/src/lib/tags-selector/tags-selector.component.ts

@ -1,5 +1,4 @@
import { COMMA, ENTER } from '@angular/cdk/keycodes'; import { COMMA, ENTER } from '@angular/cdk/keycodes';
import { import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
@ -34,7 +33,7 @@ import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
MatFormFieldModule, MatFormFieldModule,
MatInputModule, MatInputModule,
ReactiveFormsModule ReactiveFormsModule
], ],
schemas: [CUSTOM_ELEMENTS_SCHEMA], schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-tags-selector', selector: 'gf-tags-selector',
styleUrls: ['./tags-selector.component.scss'], styleUrls: ['./tags-selector.component.scss'],

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

@ -1,6 +1,5 @@
import { DateRange, MarketState } from '@ghostfolio/common/types'; import { DateRange, MarketState } from '@ghostfolio/common/types';
import { import {
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,

Loading…
Cancel
Save