import { $http } from 'boot/axios';
import { useQuasar } from 'quasar';
export function useHandlers(props, $emit, getList, localDetail, editModal) {
  const $q = useQuasar();
  async function onClickAdd() {
    try {
      const res = await $http.get(props.getNewCodeURL);
      if (res) {
        localDetail.value = res;
        editModal.value = true;
      }
    } catch (error) {
      console.log(error);
    }
  }

  function onClickEdit(row) {
    localDetail.value = row;
    editModal.value = true;
  }

  function onClickDelete(row) {
    $q.dialog({
      title: '确认',
      message: '您需要删除该数据吗?',
      cancel: true,
      persistent: true,
    })
      .onOk(async () => {
        const model = row;
        try {
          const res = await $http.post(props.deleteDataUrl, model);
          if (res) {
            getList();
          }
        } catch (error) {
          console.log(error);
        }
      })
      .onOk(() => {
        // console.log('>>>> second OK catcher')
      })
      .onCancel(() => {
        // console.log('>>>> Cancel')
      })
      .onDismiss(() => {
        // console.log('I am triggered on both OK and Cancel')
      });
  }

  function onCloseEditModal(payload) {
    editModal.value = false;
    getList();
  }
  function onRowClick(row) {
    localDetail.value = row;
  }

  return {
    onClickEdit,
    onClickAdd,
    onClickDelete,
    onCloseEditModal,
    onRowClick,
  };
}
