mirror of https://github.com/ghostfolio/ghostfolio
				
				
			
			
			
				Browse Source
			
			
			
			
				
		* Extract historical market data editor to reusable component * Update changelogpull/4091/head^2
							committed by
							
								
								GitHub
							
						
					
				
				 15 changed files with 234 additions and 180 deletions
			
			
		@ -1,15 +0,0 @@ | 
				
			|||
import { GfLineChartComponent } from '@ghostfolio/ui/line-chart'; | 
				
			|||
 | 
				
			|||
import { CommonModule } from '@angular/common'; | 
				
			|||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; | 
				
			|||
 | 
				
			|||
import { AdminMarketDataDetailComponent } from './admin-market-data-detail.component'; | 
				
			|||
import { GfMarketDataDetailDialogModule } from './market-data-detail-dialog/market-data-detail-dialog.module'; | 
				
			|||
 | 
				
			|||
@NgModule({ | 
				
			|||
  declarations: [AdminMarketDataDetailComponent], | 
				
			|||
  exports: [AdminMarketDataDetailComponent], | 
				
			|||
  imports: [CommonModule, GfLineChartComponent, GfMarketDataDetailDialogModule], | 
				
			|||
  schemas: [CUSTOM_ELEMENTS_SCHEMA] | 
				
			|||
}) | 
				
			|||
export class GfAdminMarketDataDetailModule {} | 
				
			|||
@ -1,26 +0,0 @@ | 
				
			|||
import { CommonModule } from '@angular/common'; | 
				
			|||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; | 
				
			|||
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; | 
				
			|||
import { MatButtonModule } from '@angular/material/button'; | 
				
			|||
import { MatDatepickerModule } from '@angular/material/datepicker'; | 
				
			|||
import { MatDialogModule } from '@angular/material/dialog'; | 
				
			|||
import { MatFormFieldModule } from '@angular/material/form-field'; | 
				
			|||
import { MatInputModule } from '@angular/material/input'; | 
				
			|||
 | 
				
			|||
import { MarketDataDetailDialog } from './market-data-detail-dialog.component'; | 
				
			|||
 | 
				
			|||
@NgModule({ | 
				
			|||
  declarations: [MarketDataDetailDialog], | 
				
			|||
  imports: [ | 
				
			|||
    CommonModule, | 
				
			|||
    FormsModule, | 
				
			|||
    MatButtonModule, | 
				
			|||
    MatDatepickerModule, | 
				
			|||
    MatDialogModule, | 
				
			|||
    MatFormFieldModule, | 
				
			|||
    MatInputModule, | 
				
			|||
    ReactiveFormsModule | 
				
			|||
  ], | 
				
			|||
  schemas: [CUSTOM_ELEMENTS_SCHEMA] | 
				
			|||
}) | 
				
			|||
export class GfMarketDataDetailDialogModule {} | 
				
			|||
@ -1,34 +1,58 @@ | 
				
			|||
import { AdminService } from '@ghostfolio/client/services/admin.service'; | 
				
			|||
 | 
				
			|||
import { CommonModule } from '@angular/common'; | 
				
			|||
import { | 
				
			|||
  ChangeDetectionStrategy, | 
				
			|||
  ChangeDetectorRef, | 
				
			|||
  Component, | 
				
			|||
  CUSTOM_ELEMENTS_SCHEMA, | 
				
			|||
  Inject, | 
				
			|||
  OnDestroy | 
				
			|||
} from '@angular/core'; | 
				
			|||
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; | 
				
			|||
import { MatButtonModule } from '@angular/material/button'; | 
				
			|||
import { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core'; | 
				
			|||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; | 
				
			|||
import { MatDatepickerModule } from '@angular/material/datepicker'; | 
				
			|||
import { | 
				
			|||
  MAT_DIALOG_DATA, | 
				
			|||
  MatDialogModule, | 
				
			|||
  MatDialogRef | 
				
			|||
} from '@angular/material/dialog'; | 
				
			|||
import { MatFormFieldModule } from '@angular/material/form-field'; | 
				
			|||
import { MatInputModule } from '@angular/material/input'; | 
				
			|||
import { Subject, takeUntil } from 'rxjs'; | 
				
			|||
 | 
				
			|||
import { MarketDataDetailDialogParams } from './interfaces/interfaces'; | 
				
			|||
import { HistoricalMarketDataEditorDialogParams } from './interfaces/interfaces'; | 
				
			|||
 | 
				
			|||
@Component({ | 
				
			|||
  host: { class: 'h-100' }, | 
				
			|||
  selector: 'gf-market-data-detail-dialog', | 
				
			|||
  changeDetection: ChangeDetectionStrategy.OnPush, | 
				
			|||
  styleUrls: ['./market-data-detail-dialog.scss'], | 
				
			|||
  templateUrl: 'market-data-detail-dialog.html' | 
				
			|||
  host: { class: 'h-100' }, | 
				
			|||
  imports: [ | 
				
			|||
    CommonModule, | 
				
			|||
    FormsModule, | 
				
			|||
    MatButtonModule, | 
				
			|||
    MatDatepickerModule, | 
				
			|||
    MatDialogModule, | 
				
			|||
    MatFormFieldModule, | 
				
			|||
    MatInputModule, | 
				
			|||
    ReactiveFormsModule | 
				
			|||
  ], | 
				
			|||
  selector: 'gf-historical-market-data-editor-dialog', | 
				
			|||
  schemas: [CUSTOM_ELEMENTS_SCHEMA], | 
				
			|||
  standalone: true, | 
				
			|||
  styleUrls: ['./historical-market-data-editor-dialog.scss'], | 
				
			|||
  templateUrl: 'historical-market-data-editor-dialog.html' | 
				
			|||
}) | 
				
			|||
export class MarketDataDetailDialog implements OnDestroy { | 
				
			|||
export class GfHistoricalMarketDataEditorDialogComponent implements OnDestroy { | 
				
			|||
  private unsubscribeSubject = new Subject<void>(); | 
				
			|||
 | 
				
			|||
  public constructor( | 
				
			|||
    private adminService: AdminService, | 
				
			|||
    private changeDetectorRef: ChangeDetectorRef, | 
				
			|||
    @Inject(MAT_DIALOG_DATA) public data: MarketDataDetailDialogParams, | 
				
			|||
    @Inject(MAT_DIALOG_DATA) | 
				
			|||
    public data: HistoricalMarketDataEditorDialogParams, | 
				
			|||
    private dateAdapter: DateAdapter<any>, | 
				
			|||
    public dialogRef: MatDialogRef<MarketDataDetailDialog>, | 
				
			|||
    public dialogRef: MatDialogRef<GfHistoricalMarketDataEditorDialogComponent>, | 
				
			|||
    @Inject(MAT_DATE_LOCALE) private locale: string | 
				
			|||
  ) {} | 
				
			|||
 | 
				
			|||
@ -0,0 +1 @@ | 
				
			|||
export * from './historical-market-data-editor.component'; | 
				
			|||
					Loading…
					
					
				
		Reference in new issue