import { IDetailsControl } from '../../../../shared/models/details-control'; import { DialogService } from '../../../../shared/services/dialog.service'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Component, OnInit, inject, Input, OnDestroy } from '@angular/core'; import { Subscription } from 'rxjs'; @Component({ selector: 'lib-subscriptions-add-new', templateUrl: './subscriptions-add-new.component.html', styleUrl: './subscriptions-add-new.component.scss', }) export class SubscriptionsAddNewComponent implements OnInit, OnDestroy { @Input() subscriptionsAddDialogID!: string; private dialogStateSubscription!: Subscription; private _dialogService = inject(DialogService); private _fb = inject(FormBuilder); public selectedSubscriptions: any[] = []; public dialogState!: IDetailsControl; public subAddNewForm!: FormGroup; ngOnInit(): void { this.setFormStructure(); this.dialogStateSubscription = this._dialogService .getDialogState(this.subscriptionsAddDialogID) .subscribe((state) => { this.dialogState = state; }); } ngOnDestroy(): void { this.dialogStateSubscription.unsubscribe(); } setFormStructure(): void { this.subAddNewForm = this._fb.group({ userField: ['', [Validators.required]], }); } closeDialog(): void { this._dialogService.closeDialog(this.subscriptionsAddDialogID); } editOn() { this.setEditMode(this.subscriptionsAddDialogID, true); } setEditMode(id: string, isEditing: boolean): void { this._dialogService.setEditingState(id, isEditing); } }