1 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
3 import * as _ from 'lodash';
4 import { BsModalRef } from 'ngx-bootstrap/modal';
6 import { OsdService } from '../../../../shared/api/osd.service';
7 import { ActionLabelsI18n, URLVerbs } from '../../../../shared/constants/app.constants';
8 import { CdFormBuilder } from '../../../../shared/forms/cd-form-builder';
9 import { CdFormGroup } from '../../../../shared/forms/cd-form-group';
10 import { FinishedTask } from '../../../../shared/models/finished-task';
11 import { TaskWrapperService } from '../../../../shared/services/task-wrapper.service';
12 import { DriveGroups } from '../osd-form/drive-groups.interface';
15 selector: 'cd-osd-creation-preview-modal',
16 templateUrl: './osd-creation-preview-modal.component.html',
17 styleUrls: ['./osd-creation-preview-modal.component.scss']
19 export class OsdCreationPreviewModalComponent implements OnInit {
21 driveGroups: DriveGroups = {};
24 submitAction = new EventEmitter();
27 formGroup: CdFormGroup;
30 public bsModalRef: BsModalRef,
31 public actionLabels: ActionLabelsI18n,
32 private formBuilder: CdFormBuilder,
33 private osdService: OsdService,
34 private taskWrapper: TaskWrapperService
36 this.action = actionLabels.CREATE;
43 this.formGroup = this.formBuilder.group({});
49 task: new FinishedTask('osd/' + URLVerbs.CREATE, {
50 tracking_id: _.join(_.keys(this.driveGroups), ', ')
52 call: this.osdService.create(this.driveGroups)
57 this.formGroup.setErrors({ cdSubmitButton: true });
60 this.submitAction.emit();
61 this.bsModalRef.hide();