import { ref } from "vue";
import { defineStore } from "pinia";

import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main";

export const useEditPosDataStore = defineStore("EditPos", () => {
  const orgData = ref<DataOption[]>([]);
  const orgId = ref<string>("");
  const empType = ref<string>("officer");
  const status = ref<string>("ALL");
  const keyword = ref<string>("");
  const page = ref<number>(1);
  const pageSize = ref<number>(10);

  const commandCodeData = ref<DataOption[]>([]);
  const posTypeData = ref<DataOption[]>([]); //รายการประเภทตำแหน่ง | กลุ่มงาน
  const posLevelData = ref<DataOption[]>([]); //รายการระดับตำแหน่ง | ระดับชั้นงาน
  const posLineData = ref<DataOption[]>([]); //รายการสายงาน
  const posPathSideData = ref<DataOption[]>([]); //รายการด้าน/สาขา
  const posExecutiveData = ref<DataOption[]>([]); //รายการตำแหน่งทางการบริหาร

  function convertCommandCodeName(val: string) {
    return (
      commandCodeData.value.find((e: DataOption) => e.id === val)?.name ?? "-"
    );
  }

  return {
    // Data
    commandCodeData,
    posTypeData,
    posLevelData,
    posLineData,
    posPathSideData,
    posExecutiveData,
    orgData,
    orgId,
    empType,
    status,
    keyword,
    page,
    pageSize,

    // Function
    convertCommandCodeName,
  };
});
