import { Component, EventEmitter, Input, Output } from '@angular/core'; import { ToastrService } from 'ngx-toastr'; @Component({ selector: 'app-sub-job-qualifications', templateUrl: './sub-job-qualifications.component.html', styleUrls: ['./sub-job-qualifications.component.scss'] }) export class SubJobQualificationsComponent { @Input() pathTitle = ['การจัดการลายละเอียดงาน', 'ลักษณะงาน']; @Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>(); activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น isChecked: boolean = false; // ฟังก์ชันในการเปลี่ยนแท็บ changeTab(tab: { id: string, text: string }) { this.sendPathTitle.emit(['การจัดการลายละเอียดงาน', tab.text]); this.activeTab = tab.id; } toggleCheckbox(): void { this.isChecked = !this.isChecked; } // การจัดการการเปิดปิด 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', }); } }