팝업샘플 일반 가이드

일반 팝업 화면이다.

'값 전달 및 닫기' 버튼을 클릭하면 부모화면으로 값을 전달 후 팝업이 닫히게 된다.

관련 API로 unload, getextradata, getparent, unloadpopup가 있다.

관련 이벤트로 on_load가 있다.

템플릿 위치: /HTML5/SCREEN/POPUP/popup_screen

템플릿 파일

/**
 * 화면이 로드될때 부모화면에서 받은 데이터가 있다면 입력한다.
 */
function screen_on_load()
{
	var objExtraData;

    // 팝업화면 열때 전달한 extra_data 얻기
    objExtraData = screen.getextradata();
	if (objExtraData !== null && objExtraData.POPOP_PARAM_DATA !== "") {

		// 초기값 설정
		this.fld_param_data.settext(objExtraData.POPOP_PARAM_DATA);
	}
}

/**
 * 화면을 닫는 버튼클릭 이벤트를 처리한다.
 */
function btn_close_no_return_on_mouseup(objInst)
{
	// 부모화면에 값을 전달하지 않고 닫기
	screen.unload();
}

/**
 * 화면을 닫으면서 부모화면으로 값을 전달하는 버튼클릭 이벤트를 처리한다.
 */
function btn_close_return_data_on_mouseup(objInst)
{
	var strReturnValue, objExtraData;

	// 팝업화면 열때 전달한 extra_data 얻기
	objExtraData = screen.getextradata();

	// 값 전달 및 팝업닫기
	strReturnValue = this.fld_return_data.gettext();
	this.ReturnClosePopup(strReturnValue, objExtraData);
}

/**
 * 계산 결과를 부모화면으로 전달 후 팝업을 닫는다.
 * @param strReturnValue 부모화면으로 전달할 결과값
 * @param objExtraData 부모화면에서 전달된 extra 데이터
 */
function ReturnClosePopup(strReturnValue, objExtraData)
{
	var srcParent, scrParentMember;

	// 리턴받는데 사용할 함수명을 전달한 경우
	if (objExtraData != null && objExtraData.RETURN_FUNCTION_NAME !== "") {
		// 부모화면 screen 구하고 유효성 처리
		srcParent = screen.getparent();
		if (factory.isobject(srcParent)) {
			// 부모화면의 멤버 오브젝트 구하기
			scrParentMember = srcParent.getmembers();
			if (factory.isobject(scrParentMember) == true) {
				if (factory.isfunction(scrParentMember[objExtraData.RETURN_FUNCTION_NAME])) {
					// 부모화면의 함수를 통하여 값 전달
					scrParentMember[objExtraData.RETURN_FUNCTION_NAME](strReturnValue);
				}
			}
		}
	}

	// 팝업화면 닫기
	screen.unloadpopup(strReturnValue);
}

  • guide/screen/popup/popup_screen.txt
  • 마지막으로 수정됨: 2023/12/08 15:01
  • 저자 127.0.0.1