// 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', }); } }