Skip to content
This repository has been archived by the owner on Jun 9, 2020. It is now read-only.

Commit

Permalink
Scenario-detail refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
johanngoltz committed Jul 5, 2018
1 parent 5afb8b8 commit e343df4
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 20 deletions.
10 changes: 7 additions & 3 deletions src/app/accounting-data/accounting-data.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { FormGroup, FormArray, FormBuilder, Validators, AbstractControl, FormCon
import { debounceTime, map, first } from 'rxjs/operators';
import { Scenario } from '../api/scenario';
import { Observable } from 'rxjs';
import { accountingDataParams } from '../api/paramData';
import { AccountingDataParams } from '../api/paramData';
import { TimeSeriesMethodsService } from '../service/time-series-methods.service';

@Component({
Expand All @@ -22,7 +22,7 @@ export class AccountingDataComponent implements OnInit {
base: { year: number, quarter: number };
start: { year: number, quarter: number }; // debounced values
end: { year: number, quarter: number };
accountingDataParams = accountingDataParams;
accountingDataParams = AccountingDataParams.prototype;

constructor(private _formBuilder: FormBuilder, private _timeSeriesMethodsService: TimeSeriesMethodsService) {
}
Expand Down Expand Up @@ -165,7 +165,11 @@ export class AccountingDataComponent implements OnInit {
}

get timeSeriesControls() {
return ((this.formGroup.controls.liabilities as FormGroup).controls.timeSeries as FormArray).controls;
try {
return ((this.formGroup.controls.liabilities as FormGroup).controls.timeSeries as FormArray).controls;
} catch (err) {
return undefined;
}
}

quarterlyChanged() {
Expand Down
26 changes: 9 additions & 17 deletions src/app/scenario-detail/scenario-detail.component.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { animate, keyframes, query, style, transition, trigger } from '@angular/animations';
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { Chart } from 'angular-highcharts';
import { Observable, of } from 'rxjs';
import { switchMap, first } from 'rxjs/operators';
import { Scenario } from '../api/scenario';
import { first, switchMap } from 'rxjs/operators';
import { RemoteConfig } from '../api/config';
import { ScenariosService } from '../service/scenarios.service';
import { AccountingDataParams, environmentParams } from '../api/paramData';
import { Scenario } from '../api/scenario';
import { AlertService } from '../service/alert.service';
import { Validators, FormGroup, FormBuilder } from '@angular/forms';
import { OptionsService } from '../service/options.service';
import { trigger, transition, query, animate, style, keyframes } from '@angular/animations';
import { AccountingDataParams } from '../api/paramData';
import { Chart } from 'angular-highcharts';
import { ScenariosService } from '../service/scenarios.service';
import { TimeSeriesMethodsService } from '../service/time-series-methods.service';

@Component({
Expand Down Expand Up @@ -160,11 +160,7 @@ export class ScenarioDetailComponent implements OnInit {
this.forScenario$.pipe(first()).subscribe(currentScenario => {
this.formGroup.controls.name.setValue(currentScenario.name);
this.formGroup.controls.description.setValue(currentScenario.description);
this.formGroup.controls.equityInterestRate.setValue(currentScenario.equityInterestRate * 100);
this.formGroup.controls.interestOnLiabilitiesRate.setValue(currentScenario.interestOnLiabilitiesRate * 100);
this.formGroup.controls.businessTaxRate.setValue(currentScenario.businessTaxRate * 100);
this.formGroup.controls.corporateTaxRate.setValue(currentScenario.corporateTaxRate * 100);
this.formGroup.controls.solidaryTaxRate.setValue(currentScenario.solidaryTaxRate * 100);
Object.keys(environmentParams).forEach(key => this.formGroup.controls[key].setValue(currentScenario[key] * 100));
});
}

Expand Down Expand Up @@ -193,11 +189,7 @@ export class ScenarioDetailComponent implements OnInit {

currentScenario.name = this.formGroup.controls.name.value;
currentScenario.description = this.formGroup.controls.description.value;
currentScenario.equityInterestRate = this.formGroup.controls.equityInterestRate.value / 100;
currentScenario.interestOnLiabilitiesRate = this.formGroup.controls.interestOnLiabilitiesRate.value / 100;
currentScenario.businessTaxRate = this.formGroup.controls.businessTaxRate.value / 100;
currentScenario.corporateTaxRate = this.formGroup.controls.corporateTaxRate.value / 100;
currentScenario.solidaryTaxRate = this.formGroup.controls.solidaryTaxRate.value / 100;
Object.keys(environmentParams).forEach(key => currentScenario[key] = this.formGroup.controls[key].value / 100);

currentScenario.stochastic = false;
currentScenario.periods = (this.accountingDataFormGroup.value.endYear - this.accountingDataFormGroup.value.startYear) * 4;
Expand Down

0 comments on commit e343df4

Please sign in to comment.