화면 로드 로깅 가이드

템플릿 위치: /STUDIO/SCRIPT/screen_loadlog

템플릿 파일

/**
 * 가정 사항
 * 	SYSUtil이라는 공통 모듈에 아래의 CallbackScreenLoadLog 함수 있음
 * 	현재 화면이 "SCREENLOADLOG" 팝업으로 이름으로 모달리스 방식으로 로드됨
 *     	예시) factory.loadpopup("SCREENLOADLOG", "/SYS/UTIL/ScreenLoadLog", "SCREENLOADLOG", false, XFD_BORDER_RESIZE, 0, 0, true, bModal, screen);
 * 	CALLBACK_SCREEN_LOADLOG 실행 파라미터값: "SYSUtil.CallbackScreenLoadLog"
 * 	SCREEN_LOADLOG_SHOWTYPE 실행 파라미터값: 2
 * 		예시) 0:console trace(default), 1:browser console, 2:callback
 * 	objScreenLoadInfo 파라미터 구조
 *	 var objScreenLoadInfo = {
 *		start_date: "20211014",	   // 화면 로딩 시작 일자
 *		start_time: "123456",		 // 화면 로딩 시작 시각
 *
 *		screen_url: "screen_url",	 // 화면 URL
 *		screen_id: "screen_id",	   // 화면 ID
 *		screen_title: "screen_title", // 화면 타이틀
 *
 *		time_total: "0",			  // 데이터 송신전 시간부터 데이터 수신, 처리, 콜백함수 처리 완료 시간 기준(단위: ms)
 *									  // (time_server + time_xml + time_js + time_render)
 *		time_server: "0",			 // 데이터 송신전 시간부터 데이터 수신 완료 시간 기준(단위: ms), XML 및 JS 중 긴 시간값
 *		time_xml: "0",		        // XML 파싱 시간 기준(단위: ms)
 *		time_js: "0",		         // JavaScript 파일 파싱 시간(단위: ms)
 *		time_ui: "0",		         // 화면 생성 시간(단위: ms)
 *
 *		size_xml: "0",		        // XML 파일 크기(단위: byte)
 *		size_js: "0",		         // JavaScript 파일 크기(단위: byte)
 *		size_component: "0"		   // 화면내 컴포넌트 갯수
 *	};
 */
// SYUtil 공통 모듈에 추가될 함수 예시 시작
/*
function CallbackScreenLoadLog(objScreenLoadInfo)
{
	var objPopupScreen, objPopupMember;

	objPopupScreen = factory.findpopup("SCREENLOADLOG");
	if (objPopupScreen) {
		objPopupMember = objPopupScreen.getmembers();
		if (objPopupMember) {
			objPopupMember.process_screenloadloginfo(objScreenLoadInfo);
		}
	}
}
*/

// 화면 로드 이벤트 처리
function screen_on_load()
{
	// SCREEN_LOADLOG 실행 파라미터 정보를 구해 체크 상태 표시
	this.chk_loadlog.setcheck(factory.getscreenloadlog());
}

/**
 * 화면 로딩 로그 정보 오브젝트 처리
 * @param objScreenLoadInfo 화면 로딩 로그 정보 오브젝트
 */
function process_screenloadloginfo(objScreenLoadInfo)
{
	var row_index;

	row_index = this.grd_list.addrow(false, false);

	this.grd_list.setitemtextex(row_index, 0, objScreenLoadInfo.start_date, false);
	this.grd_list.setitemtextex(row_index, 1, objScreenLoadInfo.start_time, false);

	this.grd_list.setitemtextex(row_index, 2, objScreenLoadInfo.screen_url, false);
	this.grd_list.setitemtextex(row_index, 3, objScreenLoadInfo.screen_id, false);

	this.grd_list.setitemtextex(row_index, 4, objScreenLoadInfo.time_total, false);
	this.grd_list.setitemtextex(row_index, 5, objScreenLoadInfo.time_server, false);
	this.grd_list.setitemtextex(row_index, 6, objScreenLoadInfo.time_xml, false);
	this.grd_list.setitemtextex(row_index, 7, objScreenLoadInfo.time_js, false);
	this.grd_list.setitemtextex(row_index, 8, objScreenLoadInfo.time_ui, false);

	this.grd_list.setitemtextex(row_index, 9, objScreenLoadInfo.size_xml, false);
	this.grd_list.setitemtextex(row_index, 10, objScreenLoadInfo.size_js, false);
	this.grd_list.setitemtextex(row_index, 11, objScreenLoadInfo.size_component, false);

	this.grd_list.refresh();
}

// 화면 로드 로깅 여부 체크박스 클릭
function chk_loadlog_on_click(objInst)
{
	// 화면 로딩 로그 정보 기록 여부 설정
	factory.setscreenloadlog(this.chk_loadlog.getcheck());
}

// 체크행 삭제 버튼 이벤트 처리
function btn_delete_check_on_mouseup(objInst)
{
	// 그리드의 체크된 행 삭제
	this.grd_list.deletecheckedrow();
}

// 전체 삭제 버튼 이벤트 처리
function btn_delete_all_on_mouseup(objInst)
{
	// 그리드의 전체 행 삭제
	this.grd_list.deleteall();
}

// 닫기 버튼 이벤트 처리
function btn_close_on_mouseup(objInst)
{
	screen.unload();
}

  • guide/studio/script/screen_loadlog.txt
  • 마지막으로 수정됨: 2025/01/10 13:42
  • 저자 127.0.0.1