====== 날짜계산기 메인 가이드 ====== 날짜를 계산하는 유틸성 화면의 메인화면이다. 계산 결과를 필드명이나 함수명, 혹은 부모화면의 on_popupdestroy이벤트를 통해 전달할 수 있다. ===== 예시 ===== 템플릿 위치: /HTML5/UTIL/CALCUL/date_calculator_usage 템플릿 파일 * [[xf5projecthome>template/screen/HTML5/UTIL/CALCUL/date_calculator_usage.xml|date_calculator_usage.xml]] * [[xf5projecthome>template/screen/HTML5/UTIL/CALCUL/date_calculator_usage.js|date_calculator_usage.js]] * [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/UTIL/CALCUL/date_calculator_usage|새창으로 실행]] echo ''; echo ''; echo ''; ==== 화면 스크립트 ==== // 팝업화면으로 전달할 파라미터 설정 var objPopupExtraData = { INIT_DATE: "", // 설정할 날짜 초기값 RETURN_OBJECT_NAME: "", // 계산 결과를 전달받을 필드명 RETURN_FUNCTION_NAME: "", // 계산 결과를 전달받기 위해 사용할 함수명 RETURN_FUNCTION: null // 계산 결과를 전달받기 위해 사용할 함수 }; /** * 일반 팝업화면에서 호출하여 결과값을 부모화면으로 전달한다. */ function setFldRes2(result) { this.fld_res2.settext(result); } /** * 일반 팝업화면에서 호출하여 결과값을 부모화면으로 전달한다. */ function setFldRes3(result) { this.fld_res3.settext(result); } /** * 포틀릿 팝업화면에서 호출하여 결과값을 부모화면으로 전달한다. */ function setFldRes6(result) { this.fld_res6.settext(result); } /** * 포틀릿 팝업화면에서 호출하여 결과값을 부모화면으로 전달한다. */ function setFldRes7(result) { this.fld_res7.settext(result); } /** * 계산기 일반화면을 팝업으로 호출하는 버튼클릭 이벤트를 처리한다. * (필드명으로 결과 전달방식) */ function btn_pop1_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; // 결과값을 전달받을 필드명 설정 objPopupExtraData.RETURN_OBJECT_NAME = "fld_res1"; factory.loadpopup("cal_normal", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(일반화면)", false, XFD_BORDER_RESIZE, 0, 0, true, true, screen, objPopupExtraData); } /** * 계산기 일반화면을 팝업으로 호출하는 버튼클릭 이벤트를 처리한다. * (함수명으로 결과 전달방식) */ function btn_pop2_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; // 결과값을 전달받을 함수명 설정 objPopupExtraData.RETURN_FUNCTION_NAME = "setFldRes2"; factory.loadpopup("cal_normal", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(일반화면)", false, XFD_BORDER_RESIZE, 0, 0, true, true, screen, objPopupExtraData); } /** * 계산기 일반화면을 팝업으로 호출하는 버튼클릭 이벤트를 처리한다. * (함수로 결과 전달방식) */ function btn_pop3_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; // 결과값을 전달받을 함수 설정 objPopupExtraData.RETURN_FUNCTION = setFldRes3; factory.loadpopup("cal_normal", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(일반화면)", false, XFD_BORDER_RESIZE, 0, 0, true, true, screen, objPopupExtraData); } /** * 계산기 일반화면을 팝업으로 호출하는 버튼클릭 이벤트를 처리한다. * (부모화면의 on_popupdestroy이벤트로 결과 입력하는 방식) */ function btn_pop4_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; factory.loadpopup("cal_normal", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(일반화면)", false, XFD_BORDER_RESIZE, 0, 0, true, true, screen, objPopupExtraData); } /** * 포틀릿팝업으로 호출 했을때 포틀릿팝업화면에서 호출하여 결과값을 입력한다. * (필드명으로 결과 전달방식) */ function btn_pop5_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; // 결과값을 전달받을 필드명 설정 objPopupExtraData.RETURN_OBJECT_NAME = "fld_res5"; screen.loadportletpopup("cal_portlet", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(포틀릿화면)", false, XFD_BORDER_RAISED, 0, 0, 200, 500, true, true, false, objPopupExtraData); } /** * 포틀릿팝업으로 호출 했을때 포틀릿팝업화면에서 호출하여 결과값을 입력한다. * (함수명으로 결과 전달방식) */ function btn_pop6_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; // 결과값을 전달받을 함수명 설정 objPopupExtraData.RETURN_FUNCTION_NAME = "setFldRes6"; screen.loadportletpopup("cal_portlet", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(포틀릿화면)", false, XFD_BORDER_RAISED, 0, 0, 200, 500, true, true, false, objPopupExtraData); } /** * 포틀릿팝업으로 호출 했을때 포틀릿팝업화면에서 호출하여 결과값을 입력한다. * (함수로 결과 전달방식) */ function btn_pop7_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; // 결과값을 전달받을 함수 설정 objPopupExtraData.RETURN_FUNCTION = setFldRes7; screen.loadportletpopup("cal_portlet", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(포틀릿화면)", false, XFD_BORDER_RAISED, 0, 0, 200, 500, true, true, false, objPopupExtraData); } /** * 포틀릿팝업으로 호출 했을때 포틀릿팝업화면에서 호출하여 결과값을 입력한다. * (부모화면의 on_popupdestroy이벤트로 결과 입력하는 방식) */ function btn_pop8_on_mouseup(objInst) { // 날짜 초기값 설정 objPopupExtraData.INIT_DATE = "20160123"; screen.loadportletpopup("cal_portlet", "/HTML5/UTIL/CALCUL/date_calculator_screen", "계산기(포틀릿화면)", false, XFD_BORDER_RAISED, 0, 0, 200, 500, true, true, false, objPopupExtraData); } /** * 팝업이 닫힌 후 결과값을 가져오는 화면의 popupdestroy 이벤트를 처리한다. */ function screen_on_popupdestroy(popup_screen, popup_name, result) { // 설정했던 objPopupExtraData값 초기화 objPopupExtraData.INIT_DATE = ""; objPopupExtraData.RETURN_OBJECT_NAME = ""; objPopupExtraData.RETURN_FUNCTION_NAME = ""; objPopupExtraData.RETURN_FUNCTION = null; // 팝업화면에서 unloadpopup API로 닫을때 전달할값이 설정된 경우 결과값 입력 if (result !== undefined && result !== "") { // 일반 팝업일 경우 if (popup_name === "cal_normal") { this.fld_res4.settext(result); } // 포틀릿 팝업일 경우 else if (popup_name === "cal_portlet") { this.fld_res8.settext(result); } } }