aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts')
-rw-r--r--vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts b/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts
new file mode 100644
index 000000000..550feca22
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts
@@ -0,0 +1,27 @@
+import {Component, Input, OnChanges, SimpleChanges} from "@angular/core";
+import {DropdownFormControl} from "../../../../models/formControlModels/dropdownFormControl.model";
+import {FormGroup} from "@angular/forms";
+
+@Component({
+ selector: 'dropdown-form-control',
+ templateUrl: './dropdown.formControl.component.html',
+ styleUrls : ['./dropdown.formControl.component.scss']
+})
+export class DropdownFormControlComponent implements OnChanges{
+ @Input() data: DropdownFormControl = null;
+ @Input() form: FormGroup = null;
+
+ ngOnChanges(changes: SimpleChanges): void {
+ if (changes["data"] !== undefined && changes["data"].currentValue !== changes["data"].previousValue && changes["data"].firstChange) {
+ if(this.data.onInit){
+ this.data.onInit(this.data, this.form);
+ }
+ }
+
+ if (changes["data"] !== undefined) {
+ this.form.controls[this.data.controlName].valueChanges.subscribe((value)=>{
+ this.data.onChange(value, this.form);
+ })
+ }
+ }
+}