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

100 lines
3.7 KiB
TypeScript
Raw Normal View History

2025-06-04 23:21:18 -05:00
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 '../carnet-fee/carnet-fee.component';
import { BasicFeeComponent } from '../basic-fee/basic-fee.component';
import { CounterfoilFeeComponent } from '../counterfoil-fee/counterfoil-fee.component';
import { ExpeditedFeeComponent } from '../expedited-fee/expedited-fee.component';
import { SecurityDepositComponent } from '../security-deposit/security-deposit.component';
import { ContinuationSheetFeeComponent } from "../continuation-sheet-fee/continuation-sheet-fee.component";
import { UserPreferences } from '../../core/models/user-preference';
import { UserPreferencesService } from '../../core/services/user-preference.service';
2025-09-07 21:56:17 -03:00
import { CargoRateComponent } from '../cargo-rate/cargo-rate.component';
2025-10-28 22:21:55 -03:00
import { RegionComponent } from '../../region/region.component';
2025-06-04 23:21:18 -05:00
@Component({
selector: 'app-add-service-provider',
imports: [BasicDetailsComponent, AngularMaterialModule, CommonModule, ContactsComponent, CarnetSequenceComponent,
2025-10-28 22:21:55 -03:00
CarnetFeeComponent, BasicFeeComponent, CounterfoilFeeComponent, ExpeditedFeeComponent, SecurityDepositComponent, ContinuationSheetFeeComponent, CargoRateComponent, RegionComponent],
2025-06-04 23:21:18 -05:00
templateUrl: './add-service-provider.component.html',
styleUrl: './add-service-provider.component.scss'
})
export class AddServiceProviderComponent {
isEditMode = false;
2025-10-27 19:28:31 -03:00
isLinear = true;
2025-06-04 23:21:18 -05:00
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;
2025-09-07 21:56:17 -03:00
cargoRateCompleted: boolean = false;
2025-10-28 22:21:55 -03:00
regionCompleted: boolean = false;
2025-06-04 23:21:18 -05:00
constructor(userPrefenceService: UserPreferencesService) {
this.userPreferences = userPrefenceService.getPreferences();
}
onBasicDetailsSaved(event: string): void {
this.serviceProviderId = +event;
this.basicDetailsCompleted = true;
2025-10-27 19:28:31 -03:00
this.isLinear = false; // Disable linear mode after basic detail is created
2025-06-04 23:21:18 -05:00
}
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;
}
2025-09-07 21:56:17 -03:00
onCargoRateSaved(event: boolean): void {
this.cargoRateCompleted = event;
}
2025-10-28 22:21:55 -03:00
onRegionsSaved(event: boolean): void {
this.regionCompleted = event;
}
2025-06-04 23:21:18 -05:00
onStepChange(event: StepperSelectionEvent): void {
this.currentStep = event.selectedIndex;
}
}