Browse Source

バックドロップ対応

develop
sosuke.iwabuchi 2 years ago
parent
commit
cb3f21aa2e
2 changed files with 14 additions and 12 deletions
  1. +12
    -1
      src/hooks/useAPICall.ts
  2. +2
    -11
      src/pages/dashboard/receipt-issuing-order/hooks/useMailPostCompleteDialog.tsx

+ 12
- 1
src/hooks/useAPICall.ts View File

@@ -1,9 +1,10 @@
import { useCallback, useMemo, useState } from "react";
import { useCallback, useEffect, useMemo, useState } from "react";
import { APICommonResponse, apiRequest, ResultCode } from "api"; import { APICommonResponse, apiRequest, ResultCode } from "api";
import { UseFormReturn } from "react-hook-form"; import { UseFormReturn } from "react-hook-form";
import { Dictionary } from "@types"; import { Dictionary } from "@types";
import { useSnackbar } from "notistack"; import { useSnackbar } from "notistack";
import usePage from "./usePage"; import usePage from "./usePage";
import useBackDrop from "./useBackDrop";


export const APIErrorType = { export const APIErrorType = {
NONE: "none", NONE: "none",
@@ -23,6 +24,7 @@ export default function useAPICall<
form, form,
successMessage = false, successMessage = false,
failedMessage = false, failedMessage = false,
backDrop = false,
}: { }: {
apiMethod: (sendData: T) => Promise<U | null>; apiMethod: (sendData: T) => Promise<U | null>;
onSuccess?: (res: U, sendData: T) => void; onSuccess?: (res: U, sendData: T) => void;
@@ -30,6 +32,7 @@ export default function useAPICall<
form?: UseFormReturn<any>; form?: UseFormReturn<any>;
successMessage?: ((res: U) => string) | boolean; successMessage?: ((res: U) => string) | boolean;
failedMessage?: ((res: APICommonResponse | null) => string) | boolean; failedMessage?: ((res: APICommonResponse | null) => string) | boolean;
backDrop?: boolean;
}) { }) {
const [sending, setSending] = useState(false); const [sending, setSending] = useState(false);
const [sendData, setSendData] = useState<T | null>(null); const [sendData, setSendData] = useState<T | null>(null);
@@ -43,6 +46,8 @@ export default function useAPICall<


const { enqueueSnackbar } = useSnackbar(); const { enqueueSnackbar } = useSnackbar();


const { setShowBackDrop } = useBackDrop();

const clearErrors = () => { const clearErrors = () => {
setResult(null); setResult(null);
setErrors({}); setErrors({});
@@ -164,6 +169,12 @@ export default function useAPICall<
return data; return data;
}; };


useEffect(() => {
if (backDrop) {
setShowBackDrop(sending);
}
}, [sending]);

return { return {
callAPI, callAPI,
sending, sending,


+ 2
- 11
src/pages/dashboard/receipt-issuing-order/hooks/useMailPostCompleteDialog.tsx View File

@@ -45,8 +45,9 @@ export default function useMailPostCompleteDialog(
), ),
}); });


const { callAPI, sending } = useAPICall({
const { callAPI } = useAPICall({
apiMethod: completeMailPost, apiMethod: completeMailPost,
backDrop: true,
onSuccess: () => { onSuccess: () => {
success("登録しました"); success("登録しました");
setShow(false); setShow(false);
@@ -93,16 +94,6 @@ export default function useMailPostCompleteDialog(
</Dialog> </Dialog>
); );


useEffect(() => {
setShowBackDrop(sending);
}, [sending]);

useEffect(() => {
console.log(now());
// console.log(formatDateStr(now()));
// form.setValue('date', formatDateStr(now())
}, []);

return { return {
// param // param
show, show,


Loading…
Cancel
Save