carnet-portal-app/src/app/service-provider/add/add-service-provider.component.ts

100 lines
3.7 KiB
TypeScript

import { Component } from '@angular/core';
import { BasicDetailsComponent } from '../basic-details/basic-details.component';
import { StepperSelectionEvent } from '@angular/cdk/stepper';
import { AngularMaterialModule } from '../../shared/module/angular-material.module';
import { CommonModule } from '@angular/common';
import { ContactsComponent } from '../contacts/contacts.component';
import { CarnetSequenceComponent } from '../carnet-sequence/carnet-sequence.component';
import { CarnetFeeComponent } from '../../fees/carnet-fee/carnet-fee.component';
import { BasicFeeComponent } from '../../fees/basic-fee/basic-fee.component';
import { CounterfoilFeeComponent } from '../../fees/counterfoil-fee/counterfoil-fee.component';
import { ExpeditedFeeComponent } from '../../fees/expedited-fee/expedited-fee.component';
import { SecurityDepositComponent } from '../../fees/security-deposit/security-deposit.component';
import { ContinuationSheetFeeComponent } from "../../fees/continuation-sheet-fee/continuation-sheet-fee.component";
import { UserPreferences } from '../../core/models/user-preference';
import { UserPreferencesService } from '../../core/services/user-preference.service';
import { CargoRateComponent } from '../../fees/cargo-rate/cargo-rate.component';
import { RegionComponent } from '../region/region.component';
@Component({
selector: 'app-add-service-provider',
imports: [BasicDetailsComponent, AngularMaterialModule, CommonModule, ContactsComponent, CarnetSequenceComponent,
CarnetFeeComponent, BasicFeeComponent, CounterfoilFeeComponent, ExpeditedFeeComponent, SecurityDepositComponent, ContinuationSheetFeeComponent, CargoRateComponent, RegionComponent],
templateUrl: './add-service-provider.component.html',
styleUrl: './add-service-provider.component.scss'
})
export class AddServiceProviderComponent {
isEditMode = false;
isLinear = true;
serviceProviderId: number | null = null;
currentStep: number = 0;
isLoading: boolean = false;
userPreferences: UserPreferences;
basicDetailsCompleted: boolean = false;
contactsCompleted: boolean = false;
carnetSequenceCompleted: boolean = false;
feeCommissionCompleted: boolean = false;
basicFeeCompleted: boolean = false;
counterfoilFeeCompleted: boolean = false;
continuationSheetFeeCompleted: boolean = false;
expeditedFeeCompleted: boolean = false;
securityDepositCompleted: boolean = false;
cargoRateCompleted: boolean = false;
regionCompleted: boolean = false;
constructor(userPrefenceService: UserPreferencesService) {
this.userPreferences = userPrefenceService.getPreferences();
}
onBasicDetailsSaved(event: string): void {
this.serviceProviderId = +event;
this.basicDetailsCompleted = true;
this.isLinear = false; // Disable linear mode after basic detail is created
}
onContactsSaved(event: boolean): void {
this.contactsCompleted = event;
}
onCarnetSequenceSaved(event: boolean): void {
this.carnetSequenceCompleted = event;
}
onFeeCommissionSaved(event: boolean): void {
this.feeCommissionCompleted = event;
}
onBasicFeeSaved(event: boolean): void {
this.basicFeeCompleted = event;
}
onCounterfoilFeeSaved(event: boolean): void {
this.counterfoilFeeCompleted = event;
}
onContinuationSheetFeeSaved(event: boolean): void {
this.continuationSheetFeeCompleted = event;
}
onExpeditedFeeSaved(event: boolean): void {
this.expeditedFeeCompleted = event;
}
onSecurityDepositSaved(event: boolean): void {
this.securityDepositCompleted = event;
}
onCargoRateSaved(event: boolean): void {
this.cargoRateCompleted = event;
}
onRegionsSaved(event: boolean): void {
this.regionCompleted = event;
}
onStepChange(event: StepperSelectionEvent): void {
this.currentStep = event.selectedIndex;
}
}