All files / src/app/features/jobs/job-stepper job-stepper.component.ts

42.5% Statements 17/40
0% Branches 0/10
14.28% Functions 2/14
56% Lines 14/25

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 6310x   10x   10x 10x 10x 10x 10x 10x   10x                 10x     1x   1x   1x     1x                                                                
import { AfterViewInit, Component, EventEmitter, Inject, OnInit, Output, ViewChild } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogActions, MatDialogContent, MatDialogRef } from '@angular/material/dialog';
import { MatStepper, MatStepperIntl, MatStepperModule } from '@angular/material/stepper';
import { Job } from '@core/model/job.interface';
import { JobFormComponent } from '@app/features/jobs/forms/job-form/job-form.component';
import { JobActivitiesFormComponent } from '@app/features/jobs/forms/job-actitivies-form/job-actitivities-form.component';
import { JobAttachmentsFormComponent } from '@app/features/jobs/forms/job-attachments-form/job-attachments-form.component';
import { ReactiveFormsModule } from '@angular/forms';
import { MatButton } from '@angular/material/button';
import { BaseChildComponent } from '@core/component/base-child.component';
import { JobMetadata } from '@core/model/job-metadata.interface';
import { JobStepperIntl } from '@core/services/job-stepper-intl';
 
@Component({
  selector: 'app-job-stepper',
  imports: [ReactiveFormsModule, MatButton, MatStepperModule, JobFormComponent, JobActivitiesFormComponent, JobAttachmentsFormComponent],
  providers: [{provide: MatStepperIntl, useClass: JobStepperIntl}],
  templateUrl: './job-stepper.component.html',
  styleUrl: './job-stepper.component.scss'
})
export class JobStepperComponent extends BaseChildComponent  implements OnInit, AfterViewInit {
  @ViewChild('matStepper') stepper!: MatStepper;
 
  public loading = false;
 
  public job: Job | null = null;
 
  public jobMetadata:JobMetadata | null = null;
 
  constructor() {
    super();
  }
  ngOnInit(): void {
    Iif(this.data.metadata?.jobMetadata != null) {
      this.jobMetadata = this.data.metadata.jobMetadata;
    }
  }
 
  ngAfterViewInit(): void {
    // no steps are completed at this moment
    this.stepper.steps.forEach(step => {
      step.completed = false;
    });
  }
 
  jobCreated(job: Job) :void {
    this.job = job;
    let step = this.stepper.steps.get(0);
    Iif(step !== null) {
      step!.completed = true;
    }
    this.stepper.next();
  }
 
  next() :void {
    this.stepper.next();
  }
 
  terminate() :void {
    this.success();
  }
}