Sync Integ to Master
[sdc.git] / catalog-ui / src / app / ng2 / components / logic / inputs-table / inputs-table.component.ts
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 /**
22  * Created by rc2122 on 5/4/2017.
23  */
24 import {Component, Input, Output, EventEmitter} from "@angular/core";
25 import {InputFEModel} from "app/models";
26 import {ModalService} from "../../../services/modal.service";
27
28 @Component({
29     selector: 'inputs-table',
30     templateUrl: './inputs-table.component.html',
31     styleUrls: ['../inputs-table/inputs-table.component.less'],
32 })
33 export class InputsTableComponent {
34
35     @Input() inputs: Array<InputFEModel>;
36     @Input() instanceNamesMap: Map<string, string>;
37     @Input() readonly:boolean;
38     @Input() isLoading:boolean;
39     @Output() inputChanged: EventEmitter<any> = new EventEmitter<any>();
40     @Output() deleteInput: EventEmitter<any> = new EventEmitter<any>();
41
42     selectedInputToDelete:InputFEModel;
43
44     constructor(private modalService: ModalService){
45     }
46
47     onInputChanged = (input, event) => {
48         input.updateDefaultValueObj(event.value, event.isValid);
49         this.inputChanged.emit(input);
50     };
51
52     onDeleteInput = () => {
53         this.deleteInput.emit(this.selectedInputToDelete);
54         this.modalService.closeCurrentModal();
55     };
56
57     openDeleteModal = (input:InputFEModel) => {
58         this.selectedInputToDelete = input;
59         this.modalService.createActionModal("Delete Input", "Are you sure you want to delete this input?", "Delete", this.onDeleteInput, "Close").instance.open();
60     }
61 }
62
63