set-approvers.component.ts 3.58 KB
Newer Older
1 2 3 4 5 6 7 8 9
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ToastrService } from 'ngx-toastr';

@Component({
    selector: 'app-set-approvers',
    templateUrl: './set-approvers.component.html',
    styleUrls: ['./set-approvers.component.scss']
})
export class SetApproversComponent {
10
  @Input() pathTitle = ['การประเมินจัดประเมินสมรรถนะ', 'การจัดการสมรรถนะ', 'กำหนดผู้ประเมิน'];
11 12
  @Output() sendPathTitle: EventEmitter<string[]> = new EventEmitter<string[]>();
  activeTab: string = 'tab1'; // กำหนด tab เริ่มต้น
13

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

  // ฟังก์ชันในการเปลี่ยนแท็บ
  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 อื่นยังเปิดอยู่หรือไม่
  }

  // ฟังก์ชัน toggle checkbox
  isChecked: boolean = false; // ใช้สำหรับตรวจสอบสถานะของ checkbox
62

63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
  toggleCheckbox() {
    this.isChecked = !this.isChecked; // สลับสถานะ
  }

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

  deleteUser() {
    console.log('ลบผู้ใช้งาน');
  }

  editUser() {
    console.log('แก้ไขผู้ใช้งาน');
  }
79

80
  currentModal = "";
81

82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
  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',
    });
  }
}