RsButton
RsButton은 비동기 작업 중 중복 클릭을 막고 진행 표시를 함께 제공하는 공통 버튼입니다. 저장, 조회와 삭제처럼 처리 시간이 있는 명령에 사용합니다.
버튼의 역할
OnClick 실행 중에는 내부 작업 상태를 기준으로 버튼 입력을 잠글 수 있으며 ShowIndicator로 진행 표시를 제어합니다. 일반 button, submit 등 Type을 지정할 수 있고 ChildContent에 버튼 문구와 Carbon SVG 아이콘을 배치합니다.
버튼 유형 선택
API 호출이나 DB 저장처럼 한 번만 실행돼야 하는 명령에 적합합니다. 즉시 끝나는 단순 토글에는 일반 버튼을 사용할 수 있습니다.
표시와 동작 설정
| 파라미터 | 용도 |
|---|---|
| OnClick | 버튼 실행 콜백입니다. |
| Type | button 또는 submit 동작을 선택합니다. |
| ShowIndicator | 실행 중 진행 표시를 보여 줍니다. |
| Disabled | 업무 조건에 따라 입력을 차단합니다. |
| Class | Carbon 버튼 크기와 종류를 지정합니다. |
| ContainerClass | 버튼을 감싸는 영역의 배치를 지정합니다. |
| TabIndex | 키보드 탭 순서를 조정합니다. |
| ChildContent | 문구와 아이콘을 렌더링합니다. |
화면에 연결하기
- RsButton을 배치하고 Type을 지정합니다.
- ChildContent에 동작을 나타내는 짧은 문구를 넣습니다.
- OnClick에 비동기 처리 메서드를 연결합니다.
- 처리 중 표시가 필요하면 ShowIndicator를 사용합니다.
- 권한이나 입력 조건을 Disabled에 연결합니다.
클릭과 진행 상태
OnClick은 한 번의 사용자 작업을 나타내야 합니다. 호출 측에서도 저장 멱등성과 예외 처리를 구현하고, 실패 메시지는 버튼 내부가 아니라 가까운 상태 영역에 표시합니다.
키보드와 이름
아이콘만 표시하지 말고 버튼의 목적을 설명하는 텍스트 또는 접근 가능한 이름을 제공합니다. Disabled 상태에서는 왜 사용할 수 없는지 주변 안내로 설명합니다.
중복 실행 방지
ShowIndicator는 서버 작업의 성공을 판정하지 않습니다. 콜백 완료와 오류 처리 책임은 호출 측에 있습니다. submit 버튼은 상위 EditForm의 검증과 함께 동작하는지 확인하십시오.
적용 전 확인
- 연속 클릭에서 작업이 중복 실행되지 않는지 확인합니다.
- 키보드 Enter와 Space로 실행되는지 확인합니다.
- 오류 후 버튼이 다시 활성화되는지 확인합니다.
