팝업샘플 일반 가이드
일반 팝업 화면이다.
'값 전달 및 닫기' 버튼을 클릭하면 부모화면으로 값을 전달 후 팝업이 닫히게 된다.
관련 API로 unload, getextradata, getparent, unloadpopup가 있다.
관련 이벤트로 on_load가 있다.
예시
화면 스크립트
/** * 화면이 로드될때 부모화면에서 받은 데이터가 있다면 입력한다. */ 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); }