openBackgroundForm
Description
백그라운드 폼을 오버레이로 로드하고 표시합니다.
백그라운드 폼은 일반 페이지 전환 없이 화면 위에 오버레이로 표시되는 폼으로, 앱이 실행되는 동안 메모리에 유지됩니다. 같은 formPath 로 다시 호출하면 새로 로드하지 않고 기존 폼을 다시 표시합니다.
Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| formPath | String | 열 폼의 경로 (예: "group/myForm") |
| linkArg | dynamic | 폼에 전달할 초기 인자. 불필요하면 "" 또는 null |
| callback | JSFunction? | 폼이 닫힐 때 result 값을 받을 콜백 함수. 불필요하면 null |
Returns
void
Notes
- 이미 로드된 폼을 다시 열면 재로드 없이 보여주기만 합니다 (
showBackgroundForm과 동일 효과). - 백그라운드 폼은 닫기 전까지 메모리에 유지됩니다. 완전히 제거하려면
closeBackgroundForm()을 호출하세요. - 폼을 숨기기만 하려면
hideBackgroundForm()을 사용하세요. - ⚠️ 백그라운드 폼 내부에서
$form.close()는 동작하지 않습니다. 백그라운드 폼은 Navigator 스택이 아닌 Overlay 로 관리되기 때문입니다. 폼 내부에서 닫으려면 자신의 경로를 직접 명시하여$app.closeBackgroundForm()을 호출해야 합니다.
// 백그라운드 폼 내부에서 자기 자신 닫기
$app.closeBackgroundForm("alarm/watcher", { ok: true });
Example
// 알림 감시 폼을 백그라운드로 열기
$app.openBackgroundForm("alarm/watcher", null, function(result) {
$log.i("폼 종료 결과:", result);
});
// 초기 인자 전달
$app.openBackgroundForm("group/myForm", { userId: 123 }, function(result) {
if (result.ok) {
$log.i("처리 완료");
}
});
Related
$app.hideBackgroundForm(formPath)— UI 숨김 (메모리 유지)$app.showBackgroundForm(formPath)— 숨겨진 폼 다시 표시$app.closeBackgroundForm(formPath, result)— 폼 종료 및 메모리 해제$app.isBackgroundFormLoaded(formPath)— 로드 여부 확인$app.postMessageToBackgroundForm(formPath, name, data)— 폼에 메시지 전송