re base code
[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 import { InstanceFeDetails } from "app/models/instance-fe-details";
28
29 @Component({
30     selector: 'inputs-table',
31     templateUrl: './inputs-table.component.html',
32     styleUrls: ['../inputs-table/inputs-table.component.less'],
33 })
34 export class InputsTableComponent {
35
36     @Input() inputs: Array<InputFEModel>;
37     @Input() instanceNamesMap: Map<string, InstanceFeDetails>;
38     @Input() readonly:boolean;
39     @Input() isLoading:boolean;
40     @Output() inputChanged: EventEmitter<any> = new EventEmitter<any>();
41     @Output() deleteInput: EventEmitter<any> = new EventEmitter<any>();
42
43     selectedInputToDelete:InputFEModel;
44
45     constructor(private modalService: ModalService){
46     }
47
48     onInputChanged = (input, event) => {
49         input.updateDefaultValueObj(event.value, event.isValid);
50         this.inputChanged.emit(input);
51     };
52
53     onDeleteInput = () => {
54         this.deleteInput.emit(this.selectedInputToDelete);
55         this.modalService.closeCurrentModal();
56     };
57
58     openDeleteModal = (input:InputFEModel) => {
59         this.selectedInputToDelete = input;
60         this.modalService.createActionModal("Delete Input", "Are you sure you want to delete this input?", "Delete", this.onDeleteInput, "Close").instance.open();
61     }
62 }
63
64