[SDC-29] rebase continue work to align source
[sdc.git] / catalog-ui / src / app / ng2 / components / dynamic-element / elements-ui / popover-input / ui-element-popover-input.component.ts
1 import {Component, ViewChild, ElementRef, Input} from '@angular/core';
2 import {UiElementBase, UiElementBaseInterface} from "../ui-element-base.component";
3 import {ButtonsModelMap, ButtonModel} from "app/models";
4 import { PopoverContentComponent } from "app/ng2/components/popover/popover-content.component"
5 import { PopoverComponent } from "app/ng2/components/popover/popover.component"
6
7 @Component({
8     selector: 'ui-element-popover-input',
9     templateUrl: './ui-element-popover-input.component.html',
10     styleUrls: ['./ui-element-popover-input.component.less']
11 })
12 export class UiElementPopoverInputComponent extends UiElementBase implements UiElementBaseInterface {
13     @ViewChild('textArea') textArea: ElementRef;
14     @ViewChild('popoverForm') popoverContentComponent: PopoverContentComponent;
15
16     saveButton: ButtonModel;
17     buttonsArray: ButtonsModelMap;
18
19     onSave = ():void => {
20         if (!this.control.invalid){
21             this.baseEmitter.emit(this.value);
22             this.popoverContentComponent.hide();
23         }
24     }
25
26     constructor() {
27         super();
28         // Create Save button and insert to buttons map
29         this.saveButton = new ButtonModel('save', 'blue', this.onSave);
30         this.buttonsArray = { 'test': this.saveButton };
31
32         // Define the regex pattern for this controller
33         this.pattern = this.validation.validationPatterns.comment;
34
35         // Disable / Enable button according to validation
36         //this.control.valueChanges.subscribe(data => this.saveButton.disabled = this.control.invalid);
37     }
38 }