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 액션은 조용히 처리
|
||||
// (UI 전환만 하거나 모달 내부에서 자체적으로 메시지 표시)
|
||||
const silentSuccessActions = ["edit", "modal", "navigate", "excel_upload", "barcode_scan"];
|
||||
if (!silentSuccessActions.includes(actionConfig.type)) {
|
||||
// save, delete, submit 액션에서만 성공 메시지 표시
|
||||
// 그 외 액션은 조용히 처리 (불필요한 "완료되었습니다" 토스트 방지)
|
||||
const successToastActions = ["save", "delete", "submit"];
|
||||
if (successToastActions.includes(actionConfig.type)) {
|
||||
// 기본 성공 메시지 결정
|
||||
const defaultSuccessMessage =
|
||||
actionConfig.type === "save"
|
||||
? "저장되었습니다."
|
||||
: actionConfig.type === "delete"
|
||||
? "삭제되었습니다."
|
||||
: actionConfig.type === "submit"
|
||||
? "제출되었습니다."
|
||||
: "완료되었습니다.";
|
||||
: "제출되었습니다.";
|
||||
|
||||
// 커스텀 메시지 사용 조건:
|
||||
// 1. 커스텀 메시지가 있고
|
||||
|
|
|
|||
|
|
@ -3063,10 +3063,8 @@ export class ButtonActionExecutor {
|
|||
|
||||
window.dispatchEvent(modalEvent);
|
||||
|
||||
// 성공 메시지 (autoDetectDataSource 모드에서만)
|
||||
if (autoDetectDataSource && config.successMessage) {
|
||||
toast.success(config.successMessage);
|
||||
}
|
||||
// 모달 열기는 UI 전환이므로 성공 토스트를 표시하지 않음
|
||||
// (저장 등 실제 액션 완료 시에만 토스트 표시)
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -3255,8 +3253,7 @@ export class ButtonActionExecutor {
|
|||
|
||||
window.dispatchEvent(modalEvent);
|
||||
|
||||
// 성공 메시지 (간단하게)
|
||||
toast.success(config.successMessage || "다음 단계로 진행합니다.");
|
||||
// 모달 열기는 UI 전환이므로 성공 토스트를 표시하지 않음
|
||||
|
||||
return true;
|
||||
} else {
|
||||
|
|
@ -7122,7 +7119,7 @@ export const DEFAULT_BUTTON_ACTIONS: Record<ButtonActionType, Partial<ButtonActi
|
|||
modalSize: "md",
|
||||
passSelectedData: true,
|
||||
autoDetectDataSource: true,
|
||||
successMessage: "다음 단계로 진행합니다.",
|
||||
// 모달 열기는 UI 전환이므로 successMessage 제거
|
||||
},
|
||||
modal: {
|
||||
type: "modal",
|
||||
|
|
|
|||
Loading…
Reference in New Issue