summaryrefslogtreecommitdiffstats
path: root/src/angular/form-elements/input/input.component.ts
diff options
context:
space:
mode:
authorIsrael Lavi <israel.lavi@intl.att.com>2018-05-21 17:42:00 +0300
committerIsrael Lavi <il0695@att.com>2018-05-21 17:52:01 +0300
commit1994c98063c27a41797dec01f2ca9fcbe33ceab0 (patch)
treef30beeaf15a8358f6da78fdd74bcbda74bd334f8 /src/angular/form-elements/input/input.component.ts
parent4749f4631426fcbe29ed98cef8f24cab18b501d0 (diff)
init commit onap ui
Change-Id: I1dace78817dbba752c550c182dfea118b4a38646 Issue-ID: SDC-1350 Signed-off-by: Israel Lavi <il0695@att.com>
Diffstat (limited to 'src/angular/form-elements/input/input.component.ts')
-rw-r--r--src/angular/form-elements/input/input.component.ts54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/angular/form-elements/input/input.component.ts b/src/angular/form-elements/input/input.component.ts
new file mode 100644
index 0000000..af0e9f4
--- /dev/null
+++ b/src/angular/form-elements/input/input.component.ts
@@ -0,0 +1,54 @@
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { FormControl } from "@angular/forms";
+import { ValidationComponent } from '../validation/validation.component';
+import { ValidatableComponent } from './../validation/validatable.component';
+import 'rxjs/add/operator/debounceTime';
+import template from "./input.component.html";
+
+@Component({
+ selector: 'sdc-input',
+ template: template,
+})
+export class InputComponent extends ValidatableComponent implements OnInit {
+
+ @Output('valueChange') public baseEmitter: EventEmitter<any> = new EventEmitter<any>();
+ @Input() public label: string;
+ @Input() public value: any;
+ @Input() public name: string;
+ @Input() public classNames: string;
+ @Input() public disabled: boolean;
+ @Input() public type: string;
+ @Input() public placeHolder: string;
+ @Input() public required: boolean;
+ @Input() public minLength: number;
+ @Input() public maxLength: number;
+ @Input() public debounceTime: number;
+ @Input() public testId: string;
+
+ protected control: FormControl;
+
+ constructor() {
+ super();
+ this.control = new FormControl('', []);
+ this.debounceTime = 0;
+ this.placeHolder = '';
+ this.type = 'text';
+ }
+
+ ngOnInit() {
+ this.control.valueChanges.
+ debounceTime(this.debounceTime)
+ .subscribe((newValue: any) => {
+ this.baseEmitter.emit(this.value);
+ });
+ }
+
+ public getValue(): any {
+ return this.value;
+ }
+
+ onKeyPress(value: string) {
+ this.valueChanged(this.value);
+ }
+
+}