supplementary-task.component.ts 2.26 KB
Newer Older
Romain DELEAU's avatar
Romain DELEAU committed
1 2
import { Component, Input, OnInit } from '@angular/core';
import { Task } from 'src/app/class/task/task';
3
import { Role } from 'src/app/class/role/role';
4
import { TooltipService } from 'src/app/services/tooltip/tooltip.service';
5 6 7
import { Scenario } from 'src/app/class/scenario/scenario';
import { PieceDetailsService } from 'src/app/services/piece-details/piece-details.service';
import { Trace } from 'src/app/class/trace/trace';
8
import { TranslateService } from '@ngx-translate/core';
9 10 11 12 13 14 15 16

@Component({
  selector: 'app-supplementary-task',
  templateUrl: './supplementary-task.component.html',
  styleUrls: ['./supplementary-task.component.scss']
})
export class SupplementaryTaskComponent implements OnInit {

17
  @Input() scenario: Scenario = new Scenario();
Romain DELEAU's avatar
Romain DELEAU committed
18
  @Input() task: Task = new Task('normal');
19
  @Input() role: Role = new Role();
Romain DELEAU's avatar
Romain DELEAU committed
20

21
  constructor(protected tooltipService: TooltipService, private pieceDetailsService: PieceDetailsService, protected translate: TranslateService) { }
22 23 24

  ngOnInit(): void {
  }
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

  formatTraceTarget(): string {
    let res: string = '';

    if (this.pieceDetailsService.piece instanceof Task) {
      switch(this.pieceDetailsService.piece.type) {
        case 'normal': res = 'Task_['+this.pieceDetailsService.pieceIndex+']'; break;
        case 'annexe': res = 'Side_task_['+this.pieceDetailsService.pieceIndex+']'; break;
        case 'final': res = 'Final_task_['+this.pieceDetailsService.pieceIndex+']'; break;
        case 'optionnal': res = 'Opt_task_['+this.pieceDetailsService.pieceIndex+']'; break;
        case 'event': res = 'Event_task_['+this.pieceDetailsService.pieceIndex+']'; break;
        case 'repeat': res = 'Repeat_task_['+this.pieceDetailsService.pieceIndex+']'; break;
      }
    }

    return res;
  }

  editTrace(event: any, source: string): void {
    if (this.task.supplementaryRole != undefined) {
      this.scenario.traces.push(new Trace(this.scenario.traces.length,'Select_secondary_task',this.pieceDetailsService.missionIndex,this.pieceDetailsService.roleIndex,source,this.formatTraceTarget(), '#9AD5EC'));
    } else {
      this.scenario.traces.push(new Trace(this.scenario.traces.length,'Deselect_secondary_task',this.pieceDetailsService.missionIndex,this.pieceDetailsService.roleIndex,source,this.formatTraceTarget(), '#9AD5EC'));
    }
  }
50
}