// Copyright (c) 2021 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import { Component, Inject } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { ModelService } from '../services/model.service';

@Component({
  selector: 'app-pin-benchmark',
  templateUrl: './pin-benchmark.component.html',
  styleUrls: ['./pin-benchmark.component.scss', './../error/error.component.scss', './../optimizations/optimizations.component.scss']
})
export class PinBenchmarkComponent {

  chosenBenchmarkId: number;

  constructor(
    @Inject(MAT_DIALOG_DATA) public data,
    public dialogRef: MatDialogRef<PinBenchmarkComponent>,
    private modelService: ModelService
  ) { }

  pinBenchmark() {
    this.modelService.pinBenchmark(this.data.optimizationId, this.chosenBenchmarkId, this.data.mode)
      .subscribe(
        response => this.closeDialog(),
        error => this.modelService.openErrorDialog(error)
      );
  }

  closeDialog() {
    this.dialogRef.close({
      chosenBenchmarkId: this.chosenBenchmarkId,
    });
  }

}
