import { Component, EventEmitter, Input, Output } from '@angular/core';

@Component({
  selector: 'app-department-list',
  templateUrl: './department-list.component.html',
  styleUrls: ['./department-list.component.scss']
})
export class DepartmentListComponent {
  modalOptions: {
    [nameModal: string]: {  // ชื่อตรวจสอบการเปิดปิด
      isModalOpen: boolean; // เปิด/ปิด 
      modalSize: string; // ขนาดของ Modal  (s,m,l,vw10-vw100 )
      backdropClose: boolean; // (คลิก Backdrop แล้ว true ปิด false ไม่ปิด )
    }
  } = {
      "add": {
        isModalOpen: false,
        modalSize: 'm',
        backdropClose: true,
      },
      "edit": {
        isModalOpen: false,
        modalSize: 'm',
        backdropClose: true,
      }
    }

  openModal(name: string, size: string, closeOnBackdrop?: boolean) {
    this.modalOptions[name].modalSize = size;
    this.modalOptions[name].backdropClose = closeOnBackdrop || false;
    this.modalOptions[name].isModalOpen = true;
    document.body.style.overflow = 'hidden'; // ล็อก Scroll
  }

  closeModal(name: string) {
    this.modalOptions[name].isModalOpen = false;
    // ตรวจสอบว่ามี Modal อื่นเปิดอยู่หรือไม่
    if (!this.isAnyModalOpen()) {
      document.body.style.overflow = ''; // คืนค่าการ Scroll เฉพาะเมื่อ Modal ทั้งหมดปิดแล้ว
    }
  }

  isAnyModalOpen(): boolean {
    // Logic ตรวจสอบว่า Modal อื่นยังเปิดอยู่หรือไม่
    return Object.values(this.modalOptions).some(modal => modal.isModalOpen); // หากไม่มี Modal อื่นเปิด
  }

}