import { SubscriptionExpirationDateService } from '../../../../shared/services/subscription-expiration-date.service'; import { Component, Input, OnDestroy, OnInit, inject } from '@angular/core'; import { IDetailsControl } from '../../../../shared/models/details-control'; import { DialogService } from '../../../../shared/services/dialog.service'; import { Subscription } from 'rxjs'; @Component({ selector: 'lib-users-add-subscriptions', templateUrl: './users-add-subscriptions.component.html', styleUrl: './users-add-subscriptions.component.scss', }) export class UsersAddSubscriptionsComponent implements OnInit, OnDestroy { @Input() dialogID_userAssignSub!: string; private _expirationDateService = inject(SubscriptionExpirationDateService); private dialogStateSubscription!: Subscription; private _dialogService = inject(DialogService); public selectedSubscriptions: any[] = []; public dialogState!: IDetailsControl; public subcriptionsEntity: number = 1; public subscriptionStart: any; public minimumDate: any; ngOnInit(): void { this.subscriptionStart = new Date(); this.minimumDate = new Date(); this.dialogStateSubscription = this._dialogService .getDialogState(this.dialogID_userAssignSub) .subscribe((state) => { this.dialogState = state; }); } ngOnDestroy(): void { this.dialogStateSubscription.unsubscribe(); } addNewSubscription(subName: string): void { const newSub = { name: subName, entity: 1, date: new Date(), }; this.selectedSubscriptions.push(newSub); } removeSub(index: number) { console.log(index); if (index !== -1) { this.selectedSubscriptions.splice(index, 1); } } closeDialog(): void { this._dialogService.closeDialog(this.dialogID_userAssignSub); } getSubscriptionTypeColor(subscriptionType: string) { return this._expirationDateService.getSubscriptionTypeColor( subscriptionType ); } }