Skip to content

Commit

Permalink
Merge pull request #1119 from bcgov/feature/ALCS-1121
Browse files Browse the repository at this point in the history
Rename Turp Dec Component -> Expiry Date Component
  • Loading branch information
dhaselhan authored Oct 31, 2023
2 parents 811e4c7 + 62ad1c9 commit 31dbccf
Show file tree
Hide file tree
Showing 17 changed files with 94 additions and 61 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ import { NO_ERRORS_SCHEMA } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ApplicationDecisionComponentDto } from '../../../../../../services/application/decision/application-decision-v2/application-decision-v2.dto';

import { TurpComponent } from './turp.component';
import { ExpiryDateComponent } from './expiry-date.component';

describe('TurpComponent', () => {
let component: TurpComponent;
let fixture: ComponentFixture<TurpComponent>;
describe('ExpiryDateComponent', () => {
let component: ExpiryDateComponent;
let fixture: ComponentFixture<ExpiryDateComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [TurpComponent],
declarations: [ExpiryDateComponent],
schemas: [NO_ERRORS_SCHEMA],
}).compileComponents();

fixture = TestBed.createComponent(TurpComponent);
fixture = TestBed.createComponent(ExpiryDateComponent);
component = fixture.componentInstance;
component.component = {} as ApplicationDecisionComponentDto;
fixture.detectChanges();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ApplicationDecisionComponentDto } from '../../../../../../services/application/decision/application-decision-v2/application-decision-v2.dto';

@Component({
selector: 'app-turp',
templateUrl: './turp.component.html',
styleUrls: ['./turp.component.scss'],
selector: 'app-expiry-date',
templateUrl: './expiry-date.component.html',
styleUrls: ['./expiry-date.component.scss'],
})
export class TurpComponent {
export class ExpiryDateComponent {
@Input() component!: ApplicationDecisionComponentDto;
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
<div class='split'>
<div class="split">
<h5>{{ data.applicationDecisionComponentType?.label }}</h5>
<button type="button" class="remove-button" mat-stroked-button color="warn" (click)="onRemove()">
Remove
</button>
<button type="button" class="remove-button" mat-stroked-button color="warn" (click)="onRemove()">Remove</button>
</div>

<form [formGroup]="form" class="decision-component-form">
<div *ngIf="data.applicationDecisionComponentTypeCode === COMPONENT_TYPE.NFUP" class="row-no-flex">
<app-nfu-input [form]="form"></app-nfu-input>
</div>

<div *ngIf="data.applicationDecisionComponentTypeCode === COMPONENT_TYPE.TURP" class="row-no-flex">
<app-turp-input [form]="form"></app-turp-input>
<div
*ngIf="
data.applicationDecisionComponentTypeCode === COMPONENT_TYPE.TURP ||
data.applicationDecisionComponentTypeCode === COMPONENT_TYPE.COVE
"
class="row-no-flex"
>
<app-expiry-date-input [form]="form"></app-expiry-date-input>
</div>

<div *ngIf="data.applicationDecisionComponentTypeCode === COMPONENT_TYPE.POFO" class="row-no-flex">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
ProposedDecisionLotDto,
RosoDecisionComponentDto,
SubdDecisionComponentDto,
TurpDecisionComponentDto,
ExpiryDateDecisionComponentDto,
} from '../../../../../../../services/application/decision/application-decision-v2/application-decision-v2.dto';
import { ToastService } from '../../../../../../../services/toast/toast.service';
import { AG_CAP_OPTIONS, AG_CAP_SOURCE_OPTIONS } from '../../../../../../../shared/dto/ag-cap.types.dto';
Expand Down Expand Up @@ -41,7 +41,7 @@ export class DecisionComponentComponent implements OnInit {
nfuSubType = new FormControl<string | null>(null, [Validators.required]);
endDate = new FormControl<Date | null>(null, [Validators.required]);

// turp
// turp & cove
expiryDate = new FormControl<Date | null>(null);

// pofo, pfrs
Expand Down Expand Up @@ -98,7 +98,8 @@ export class DecisionComponentComponent implements OnInit {
this.patchNfuFields();
break;
case APPLICATION_DECISION_COMPONENT_TYPE.TURP:
this.patchTurpFields();
case APPLICATION_DECISION_COMPONENT_TYPE.COVE:
this.addExpiryDateField();
break;
case APPLICATION_DECISION_COMPONENT_TYPE.POFO:
this.patchPofoFields();
Expand Down Expand Up @@ -129,6 +130,14 @@ export class DecisionComponentComponent implements OnInit {
this.onFormValueChanges();
}

markTouched() {
this.subdInputComponent?.markAllAsTouched();
}

onRemove() {
this.remove.emit();
}

private onFormValueChanges() {
this.form.valueChanges.subscribe((changes) => {
let dataChange = {
Expand Down Expand Up @@ -167,7 +176,8 @@ export class DecisionComponentComponent implements OnInit {
dataChange = { ...dataChange, ...this.getNfuDataChange() };
break;
case APPLICATION_DECISION_COMPONENT_TYPE.TURP:
dataChange = { ...dataChange, ...this.getTurpDataChange() };
case APPLICATION_DECISION_COMPONENT_TYPE.COVE:
dataChange = { ...dataChange, ...this.getExpiryDateDataChange() };
break;
case APPLICATION_DECISION_COMPONENT_TYPE.POFO:
dataChange = { ...dataChange, ...this.getPofoDataChange() };
Expand Down Expand Up @@ -205,7 +215,7 @@ export class DecisionComponentComponent implements OnInit {
this.endDate.setValue(this.data.endDate ? new Date(this.data.endDate) : null);
}

private patchTurpFields() {
private addExpiryDateField() {
this.form.addControl('expiryDate', this.expiryDate);

this.expiryDate.setValue(this.data.expiryDate ? new Date(this.data.expiryDate) : null);
Expand Down Expand Up @@ -275,7 +285,7 @@ export class DecisionComponentComponent implements OnInit {
};
}

private getTurpDataChange(): TurpDecisionComponentDto {
private getExpiryDateDataChange(): ExpiryDateDecisionComponentDto {
return {
expiryDate: this.expiryDate.value ? formatDateForApi(this.expiryDate.value) : null,
};
Expand Down Expand Up @@ -334,18 +344,10 @@ export class DecisionComponentComponent implements OnInit {
};
}

markTouched() {
this.subdInputComponent?.markAllAsTouched();
}

private getInclExclDataChange() {
return {
inclExclApplicantType: this.applicantType.value ?? undefined,
expiryDate: this.expiryDate.value ? formatDateForApi(this.expiryDate.value) : null,
};
}

onRemove() {
this.remove.emit();
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<form [formGroup]="form" class="turp-component-form">
<form [formGroup]="form">
<div class="grid-2">
<mat-form-field appearance="outline">
<mat-label>ALR Area Impacted (ha)</mat-label>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';

import { TurpInputComponent } from './turp-input.component';
import { ExpiryDateInputComponent } from './expiry-date-input.component';

describe('TurpInputComponent', () => {
let component: TurpInputComponent;
let fixture: ComponentFixture<TurpInputComponent>;
describe('ExpiryDateInputComponent', () => {
let component: ExpiryDateInputComponent;
let fixture: ComponentFixture<ExpiryDateInputComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [TurpInputComponent],
declarations: [ExpiryDateInputComponent],
schemas: [NO_ERRORS_SCHEMA],
}).compileComponents();

fixture = TestBed.createComponent(TurpInputComponent);
fixture = TestBed.createComponent(ExpiryDateInputComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { Component, Input } from '@angular/core';
import { FormGroup } from '@angular/forms';

@Component({
selector: 'app-expiry-date-input',
templateUrl: './expiry-date-input.component.html',
styleUrls: ['./expiry-date-input.component.scss'],
})
export class ExpiryDateInputComponent {
@Input() form!: FormGroup;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<form [formGroup]="form" class="turp-component-form">
<form [formGroup]="form">
<div class="grid">
<mat-form-field appearance="outline">
<mat-label>ALR Area Impacted (ha)</mat-label>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,11 @@ export class DecisionComponentsComponent implements OnInit, OnDestroy, AfterView
this.patchNfuFields(component);
}

if (typeCode === APPLICATION_DECISION_COMPONENT_TYPE.TURP) {
this.patchTurpFields(component);
if (
typeCode === APPLICATION_DECISION_COMPONENT_TYPE.TURP ||
typeCode === APPLICATION_DECISION_COMPONENT_TYPE.COVE
) {
this.setExpiryDateFields(component);
}

if (typeCode === APPLICATION_DECISION_COMPONENT_TYPE.POFO) {
Expand Down Expand Up @@ -143,6 +146,7 @@ export class DecisionComponentsComponent implements OnInit, OnDestroy, AfterView
case APPLICATION_DECISION_COMPONENT_TYPE.SUBD:
case APPLICATION_DECISION_COMPONENT_TYPE.INCL:
case APPLICATION_DECISION_COMPONENT_TYPE.EXCL:
case APPLICATION_DECISION_COMPONENT_TYPE.COVE:
this.components.unshift({
applicationDecisionComponentTypeCode: typeCode,
applicationDecisionComponentType: this.decisionComponentTypes.find(
Expand Down Expand Up @@ -225,7 +229,7 @@ export class DecisionComponentsComponent implements OnInit, OnDestroy, AfterView
component.endDate = this.application.proposalEndDate;
}

private patchTurpFields(component: ApplicationDecisionComponentDto) {
private setExpiryDateFields(component: ApplicationDecisionComponentDto) {
component.expiryDate = this.application.proposalExpiryDate;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,17 +182,20 @@ <h5>{{ component.applicationDecisionComponentType?.label }}</h5>
></app-basic>
</app-nfup>

<app-turp
<app-expiry-date
class="grid-2"
*ngIf="component.applicationDecisionComponentTypeCode === COMPONENT_TYPE.TURP"
*ngIf="
component.applicationDecisionComponentTypeCode === COMPONENT_TYPE.TURP ||
component.applicationDecisionComponentTypeCode === COMPONENT_TYPE.COVE
"
[component]="component"
>
<app-basic
[component]="component"
[fillRow]="true"
(saveAlrArea)="onSaveAlrArea(decision.uuid, component.uuid, $event)"
></app-basic
></app-turp>
></app-expiry-date>

<app-pofo
class="grid-2"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { PfrsComponent } from './decision-v2/decision-component/pfrs/pfrs.compon
import { PofoComponent } from './decision-v2/decision-component/pofo/pofo.component';
import { RosoComponent } from './decision-v2/decision-component/roso/roso.component';
import { SubdComponent } from './decision-v2/decision-component/subd/subd.component';
import { TurpComponent } from './decision-v2/decision-component/turp/turp.component';
import { ExpiryDateComponent } from './decision-v2/decision-component/expiry-date/expiry-date.component';
import { DecisionDocumentsComponent } from './decision-v2/decision-documents/decision-documents.component';
import { DecisionComponentComponent } from './decision-v2/decision-input/decision-components/decision-component/decision-component.component';
import { InclExclInputComponent } from './decision-v2/decision-input/decision-components/decision-component/incl-excl-input/incl-excl-input.component';
Expand All @@ -31,7 +31,7 @@ import { PfrsInputComponent } from './decision-v2/decision-input/decision-compon
import { PofoInputComponent } from './decision-v2/decision-input/decision-components/decision-component/pofo-input/pofo-input.component';
import { RosoInputComponent } from './decision-v2/decision-input/decision-components/decision-component/roso-input/roso-input.component';
import { SubdInputComponent } from './decision-v2/decision-input/decision-components/decision-component/subd-input/subd-input.component';
import { TurpInputComponent } from './decision-v2/decision-input/decision-components/decision-component/turp-input/turp-input.component';
import { ExpiryDateInputComponent } from './decision-v2/decision-input/decision-components/decision-component/expiry-date-input/expiry-date-input.component';
import { DecisionComponentsComponent } from './decision-v2/decision-input/decision-components/decision-components.component';
import { DecisionConditionComponent } from './decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component';
import { DecisionConditionsComponent } from './decision-v2/decision-input/decision-conditions/decision-conditions.component';
Expand Down Expand Up @@ -86,9 +86,9 @@ export const decisionChildRoutes = [
NfuInputComponent,
DecisionConditionComponent,
DecisionConditionsComponent,
TurpInputComponent,
ExpiryDateInputComponent,
NfupComponent,
TurpComponent,
ExpiryDateComponent,
PofoInputComponent,
PofoComponent,
RosoComponent,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export interface NfuDecisionComponentDto {
endDate?: number | null;
}

export interface TurpDecisionComponentDto {
export interface ExpiryDateDecisionComponentDto {
expiryDate?: number | null;
}

Expand Down Expand Up @@ -169,7 +169,7 @@ export interface InclExclDecisionComponentDto {

export interface ApplicationDecisionComponentDto
extends NfuDecisionComponentDto,
TurpDecisionComponentDto,
ExpiryDateDecisionComponentDto,
PofoDecisionComponentDto,
RosoDecisionComponentDto,
NaruDecisionComponentDto,
Expand Down Expand Up @@ -206,6 +206,7 @@ export enum APPLICATION_DECISION_COMPONENT_TYPE {
SUBD = 'SUBD',
INCL = 'INCL',
EXCL = 'EXCL',
COVE = 'COVE',
}

export interface ApplicationDecisionConditionTypeDto extends BaseCodeDto {}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { MigrationInterface, QueryRunner } from 'typeorm';

export class addCoveDecisionComponent1698776304748
implements MigrationInterface
{
name = 'addCoveDecisionComponent1698776304748';

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
INSERT INTO "alcs"."application_decision_component_type"
("audit_deleted_date_at", "audit_created_at", "audit_updated_at", "audit_created_by", "audit_updated_by", "label", "code", "description") VALUES
(NULL, NOW(), NULL, 'seed-migration', 'seed-migration', 'Restrictive Covenant', 'COVE', 'Restrictive Covenant');
`);
}

public async down(): Promise<void> {
//Nope
}
}

0 comments on commit 31dbccf

Please sign in to comment.