====== 날짜계산기 메인 가이드 ======
날짜를 계산하는 유틸성 화면의 메인화면이다.
계산 결과를 필드명이나 함수명, 혹은 부모화면의 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);
}
}
}