[sdc] rebase update
[sdc.git] / catalog-ui / src / app / ng2 / components / dynamic-element / elements-ui / ui-element-base.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 import { Component, EventEmitter, Input, Output } from '@angular/core'
22 import { ValidationConfiguration } from "app/models";
23 import { FormControl, Validators } from '@angular/forms';
24
25 export interface UiElementBaseInterface {
26     onSave();
27 }
28
29 @Component({
30     template: ``,
31     styles: []
32 })
33 export class UiElementBase {
34
35     protected validation = ValidationConfiguration.validation;
36     protected control: FormControl;
37
38     // Two way binding for value (need to write the "Change" word like this)
39     @Output('valueChange') baseEmitter: EventEmitter<string> = new EventEmitter<any>();
40     @Input('value') set setValueValue(value) {
41         this.value = value;
42     }
43
44     protected name: string;
45     protected type: string;
46     protected value: any;
47     protected pattern: any;
48     protected readonly:boolean;
49
50     constructor() {
51         //this.control = new FormControl('', [Validators.required]);
52         this.control = new FormControl('', []);
53     }
54
55 }