feat: 버튼 컴포넌트의 성공 메시지 표시 로직 개선
- 성공 메시지를 표시하는 액션을 'save', 'delete', 'submit'으로 제한하여 불필요한 토스트 메시지를 방지하도록 수정하였습니다. - 조용히 처리되는 액션에 대한 주석을 업데이트하여 코드 가독성을 향상시켰습니다.
This commit is contained in:
parent
b2cb7922c2
commit
dff27c522f
|
|
@ -641,19 +641,17 @@ export const ButtonPrimaryComponent: React.FC<ButtonPrimaryComponentProps> = ({
|
||||||
}
|
}
|
||||||
|
|
||||||
// 성공한 경우에만 성공 토스트 표시
|
// 성공한 경우에만 성공 토스트 표시
|
||||||
// edit, modal, navigate, excel_upload, barcode_scan 액션은 조용히 처리
|
// save, delete, submit 액션에서만 성공 메시지 표시
|
||||||
// (UI 전환만 하거나 모달 내부에서 자체적으로 메시지 표시)
|
// 그 외 액션은 조용히 처리 (불필요한 "완료되었습니다" 토스트 방지)
|
||||||
const silentSuccessActions = ["edit", "modal", "navigate", "excel_upload", "barcode_scan"];
|
const successToastActions = ["save", "delete", "submit"];
|
||||||
if (!silentSuccessActions.includes(actionConfig.type)) {
|
if (successToastActions.includes(actionConfig.type)) {
|
||||||
// 기본 성공 메시지 결정
|
// 기본 성공 메시지 결정
|
||||||
const defaultSuccessMessage =
|
const defaultSuccessMessage =
|
||||||
actionConfig.type === "save"
|
actionConfig.type === "save"
|
||||||
? "저장되었습니다."
|
? "저장되었습니다."
|
||||||
: actionConfig.type === "delete"
|
: actionConfig.type === "delete"
|
||||||
? "삭제되었습니다."
|
? "삭제되었습니다."
|
||||||
: actionConfig.type === "submit"
|
: "제출되었습니다.";
|
||||||
? "제출되었습니다."
|
|
||||||
: "완료되었습니다.";
|
|
||||||
|
|
||||||
// 커스텀 메시지 사용 조건:
|
// 커스텀 메시지 사용 조건:
|
||||||
// 1. 커스텀 메시지가 있고
|
// 1. 커스텀 메시지가 있고
|
||||||
|
|
|
||||||
|
|
@ -3063,10 +3063,8 @@ export class ButtonActionExecutor {
|
||||||
|
|
||||||
window.dispatchEvent(modalEvent);
|
window.dispatchEvent(modalEvent);
|
||||||
|
|
||||||
// 성공 메시지 (autoDetectDataSource 모드에서만)
|
// 모달 열기는 UI 전환이므로 성공 토스트를 표시하지 않음
|
||||||
if (autoDetectDataSource && config.successMessage) {
|
// (저장 등 실제 액션 완료 시에만 토스트 표시)
|
||||||
toast.success(config.successMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -3255,8 +3253,7 @@ export class ButtonActionExecutor {
|
||||||
|
|
||||||
window.dispatchEvent(modalEvent);
|
window.dispatchEvent(modalEvent);
|
||||||
|
|
||||||
// 성공 메시지 (간단하게)
|
// 모달 열기는 UI 전환이므로 성공 토스트를 표시하지 않음
|
||||||
toast.success(config.successMessage || "다음 단계로 진행합니다.");
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -7122,7 +7119,7 @@ export const DEFAULT_BUTTON_ACTIONS: Record<ButtonActionType, Partial<ButtonActi
|
||||||
modalSize: "md",
|
modalSize: "md",
|
||||||
passSelectedData: true,
|
passSelectedData: true,
|
||||||
autoDetectDataSource: true,
|
autoDetectDataSource: true,
|
||||||
successMessage: "다음 단계로 진행합니다.",
|
// 모달 열기는 UI 전환이므로 successMessage 제거
|
||||||
},
|
},
|
||||||
modal: {
|
modal: {
|
||||||
type: "modal",
|
type: "modal",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue