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

80.95% Statements 17/21
0% Branches 0/4
50% Functions 5/10
100% Lines 14/14

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 352x   2x 2x 2x 2x 2x               2x   9x 9x   9x   9x     9x       2x       1x    
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { Job } from '@core/model/job.interface';
import { JobActivitiesFormComponent } from '@app/features/jobs/forms/job-actitivies-form/job-actitivities-form.component';
import { ModalService } from '@core/services/modal.service';
import { DatePipe } from '@angular/common';
import { ActivityLabelPipe } from '@core/pipe/activity-label.pipe';
import { MatButton } from '@angular/material/button';
 
@Component({
  selector: 'app-job-activities',
  imports: [JobActivitiesFormComponent, DatePipe, ActivityLabelPipe, MatButton],
  templateUrl: './job-activities.component.html',
  styleUrl: './job-activities.component.scss'
})
export class JobActivitiesComponent implements OnInit {
  @Input({ required: true }) job!: Job;
  @Input() formMode = 'inline';
  @Output() activitiesSaved = new EventEmitter<Job>();
 
  protected displayForm = this.formMode === 'inline';
 
  constructor(private modalService: ModalService){}
 
  ngOnInit(): void {
    this.displayForm = this.formMode === 'inline';
  }
 
  addActivity(job: Job) :void {
    this.modalService.openJobModal('activities-form', job, () => this.onActivitiesSaved(job), {defaultActivities: 1});
  }
 
  onActivitiesSaved(job: Job): void {
    this.activitiesSaved.emit(job);
  }
}