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

// @Component({
//   selector: 'app-user-settings',
//   templateUrl: './user-settings.component.html',
//   styleUrls: ['./user-settings.component.scss']
// })
// export class UserSettingsComponent {
//   @Input() pathTitle = ['การจัดการข้อมูลองค์กร', 'ตั้งค่าผู้ใช้งาน', 'สร้างรหัสผู้ใช้งาน']
//   @Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>();
//   activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น

//   // ฟังก์ชันในการเปลี่ยนแท็บ
//   changeTab(tab: { id: string, text: string }) {
//     this.sendPathTitle.emit(['การจัดการข้อมูลองค์กร', 'ตั้งค่าผู้ใช้งาน', tab.text])
//     this.activeTab = tab.id;
//   }
//   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 อื่นเปิด
//   }
// }
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ToastrService } from 'ngx-toastr';

@Component({
  selector: 'app-user-settings',
  templateUrl: './user-settings.component.html',
  styleUrls: ['./user-settings.component.scss']
})
export class UserSettingsComponent {
  @Input() pathTitle = ['การจัดการข้อมูลองค์กร', 'ตั้งค่าผู้ใช้งาน', 'สร้างรหัสผู้ใช้งาน'];
  @Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>();
  activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น

  // ฟังก์ชันในการเปลี่ยนแท็บ
  changeTab(tab: { id: string, text: string }) {
    this.sendPathTitle.emit(['การจัดการข้อมูลองค์กร', 'ตั้งค่าผู้ใช้งาน', tab.text]);
    this.activeTab = tab.id;
  }

  // การจัดการการเปิดปิด modal
  modalOptions: {
    [nameModal: string]: {
      isModalOpen: boolean;
      modalSize: string;
      backdropClose: boolean;
    };
  } = {
    "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;
    this.currentModal = name;  // ตั้งค่าค่าของ currentModal เป็น 'add' หรือ 'edit'
    document.body.style.overflow = 'hidden';
  }

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

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

  // ฟังก์ชันสำหรับการเพิ่ม ลบ หรือแก้ไข ข้อมูล
  addUser() {
    // ฟังก์ชันสำหรับการเพิ่มผู้ใช้งาน
    console.log('เพิ่มผู้ใช้งาน');
  }

  deleteUser() {
    // ฟังก์ชันสำหรับการลบผู้ใช้งาน
    console.log('ลบผู้ใช้งาน');
  }

  editUser() {
    // ฟังก์ชันสำหรับการแก้ไขผู้ใช้งาน
    console.log('แก้ไขผู้ใช้งาน');
  }
  currentModal = ""
  constructor(private toastr: ToastrService) { }
  showSuccess() {
    this.toastr.success('บันทึกข้อมูลสำเร็จ', 'เเจ้งเตือน', {
      timeOut: 3000,
      positionClass: 'toast-top-right',
    });
  }
  showSuccessEdit() {
    this.toastr.success('เเก้ไขข้อมูลสำเร็จ', 'เเจ้งเตือน', {
      timeOut: 3000,
      positionClass: 'toast-top-right',
    });
  }
  showSuccessDelete() {
    this.toastr.success('ลบข้อมูลสำเร็จ', 'เเจ้งเตือน', {
      timeOut: 3000,
      positionClass: 'toast-top-right',
    });
  }
}