====== 팝업샘플 포틀릿 가이드 ====== 포틀릿 팝업 화면이다. '값 전달 및 닫기' 버튼을 클릭하면 부모화면으로 값을 전달 후 팝업이 닫히게 된다. ===== 예시 ===== 템플릿 위치: /HTML5/SCREEN/POPUP/popup_portlet 템플릿 파일 * [[xf5projecthome>template/screen/HTML5/SCREEN/POPUP/popup_portlet.xml|popup_portlet.xml]] * [[xf5projecthome>template/screen/HTML5/SCREEN/POPUP/popup_portlet.js|popup_portlet.js]] * [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/SCREEN/POPUP/popup_portlet|새창으로 실행]] echo ''; echo ''; echo ''; ==== 화면 스크립트 ==== /**************************************************************************** - Notice : Do not delete this function. ****************************************************************************/ function HTML5_SCREEN_POPUP_popup_portlet() { } ///////////////////////////////////////////////////////////////////////////// /**************************************************************************** - Notice : Do not delete this function. ****************************************************************************/ function TEMPLATE_HTML5_SCREEN_POPUP_popup_portlet() { } ///////////////////////////////////////////////////////////////////////////// /** * 화면이 로드될때 부모화면에서 받은 데이터가 있다면 입력한다. */ HTML5_SCREEN_POPUP_popup_portlet.prototype.screenportlet_on_load = function() { var objExtraData; // 팝업화면 열때 전달한 extra_data 얻기 objExtraData = this.screen.getextradata(); if (objExtraData !== null && objExtraData.POPOP_PARAM_DATA !== "") { // 초기값 설정 this.fld_param_data.settext(objExtraData.POPOP_PARAM_DATA); } }; /** * 화면을 닫는 버튼클릭 이벤트를 처리한다. */ HTML5_SCREEN_POPUP_popup_portlet.prototype.btn_close_no_return_on_mouseup = function(objInst) { // 부모화면에 값을 전달하지 않고 닫기 this.screen.unload(); }; /** * 화면을 닫으면서 부모화면으로 값을 전달하는 버튼클릭 이벤트를 처리한다. */ HTML5_SCREEN_POPUP_popup_portlet.prototype.btn_close_return_data_on_mouseup = function(objInst) { var strReturnValue, objExtraData; // 팝업화면 열때 전달한 extra_data 얻기 objExtraData = this.screen.getextradata(); // 값 전달 및 팝업닫기 strReturnValue = this.fld_return_data.gettext(); this.ReturnClosePopup(strReturnValue, objExtraData); }; /** * 계산 결과를 부모화면으로 전달 후 팝업을 닫는다. * @param strReturnValue 부모화면으로 전달할 결과값 * @param objExtraData 부모화면에서 전달된 extra 데이터 */ HTML5_SCREEN_POPUP_popup_portlet.prototype.ReturnClosePopup = function(strReturnValue, objExtraData) { var srcParent; // 리턴받는데 사용할 함수명을 전달한 경우 if (objExtraData != null && objExtraData.RETURN_FUNCTION_NAME !== "") { // 부모화면 screen 구하고 유효성 처리 srcParent = this.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); } } } } // 팝업화면 닫기 this.screen.unloadpopup(strReturnValue); };