목차

날짜계산기 메인 가이드

날짜를 계산하는 유틸성 화면의 메인화면이다.

계산 결과를 필드명이나 함수명, 혹은 부모화면의 on_popupdestroy이벤트를 통해 전달할 수 있다.

예시

템플릿 위치: /HTML5/UTIL/CALCUL/date_calculator_usage

템플릿 파일

화면 스크립트

// 팝업화면으로 전달할 파라미터 설정
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);
		}
	}
}