목차

Global Callback 가이드

개요

글로벌 콜백은 아래와 같은 기능을 제공한다.

구분 설명
목적 각 화면에서 발생하는 이벤트를 전역적으로 처리하기 위한 공통 기능을 글로벌 모듈에서 개발하기 위한 기능을 제공한다.
용어 정의 “콜백”은 특정 이벤트에 개발자가 지정한 이벤트 처리용 함수를 의미한다.
콜백 지정 해당 실행 파리미터에 콜백 함수 이름을 지정한다.
예: CALLBACK_FOCUSMOVE_KEY: “SYSUtil.CallbackFocusMoveKey”
콜백 리턴값 콜백 리턴값에 따라 이벤트에 대한 기본 동작 수행 여부를 제어할 수 있다.
일반 글로벌 콜백 일반 글로벌 콜백은 실행 파라미터에 지정한 경우 발생시 호출되는 콜백이다.
이벤트 글로벌 콜백 이벤트 글로벌 콜백은 실행 파라미터에 지정한 xFrame5 이벤트에 대해서 호출되는 콜백이다.
샘플 소스 및 형식 “화면”→”포틀릿 화면” 팝업 창에서 “/HTML5/COMMON_MODULE/global_callback(글로벌 콜백)”을 선택하면 샘플소스를 확인할 수 있다.

일반 글로벌 콜백

일반 글로벌 콜백은 특정한 이벤트 발생시 호출되는 콜백으로 지정가능한 내용은 아래와 같다.

구분 내용
CALLBACK_FOCUSMOVE_KEY 키 입력에 의해서 포커스 이동전에 호출되며 콜백 리턴값을 기준으로 포커스 이동을 제어한다.
포커스 이동 관련 키 정의는 KEYMAP_FOCUS_NEXT 실행 파라미터에서 정의한다.
CALLBACK_SCREEN_URL 화면 URL 호출전 호출되며, 조건에 따라 화면 URL 을 변경해야 할 경우에 사용된다.
CALLBACK_PICKLIST_URL 픽리스트(공통코드) URL 호출전 호출되며, 조건에 따라 픽리스트 URL 을 변경해야 할 경우에 사용된다.
CALLBACK_META_DATA 메타 데이터를 이용하여 컴포넌트 생성시 호출 해당 콜백에 대한 자세한 내용은 doc 폴더내 다국어 개발을 위한 가이드 문서인 “http://technet.softbase.co.kr/xframe5/version/studio/prod/master/doc/95_xFrame5_Multi_Language_Guide.pdf” 문서를 참조한다.
CALLBACK_VALIDATION_ALERT 값 검증 Alert 처리 전 호출되며, 값 검증 오류시 처리할 메시지박스 또는 내용을 제어한다.
CALLBACK_EXCEL_DOWNLOAD 엑셀 다운로드 진행시, 기본 방식인 xexcel5.jar 이용 방식을 사용하지 않고, 다른 방식으로 수행하기 위한 글로벌 콜백이다. (주로 XPlus5 를 통한 로컬 방식의 엑셀 다운로드 수행시 사용된다.)
CALLBACK_GRID_EXCEL_LOAD 그리드에 엑셀 업로드 완료 후 호출된다. 주로 로드된 데이터를 검증하거나, 부가적인 기능을 처리하기 위한 공통 기능을 구현하기 위해 사용된다. 그리드의 getexceluploadresultinfo API를 사용하여 엑셀 업로드 상세 결과 정보를 구할 수 있다.
CALLBACK_GRID_PREKEYDOWN 그리드 키 처리 전에 호출되며, 리턴값을 기준으로 그리드 키 처리 여부를 결정된다.
CALLBACK_GRID_DOWNLOADEXCEL 그리드 컨텍스트 메뉴의 “엑셀 저장” 또는 그리드 downloadexcel API 호출시 호출된다.
그리드 엑셀 다운로드 옵션 파라미터를 조정하기 위해 사용하며, 콜백 함수내에서 파라미터를 설정하여 downloadexcelex API 를 반드시 호출해야한다.
CALLBACK_GRID_UPLOADEXCEL 그리드 컨텍스트 메뉴의 “엑셀 불러오기” 또는 그리드 uploadexcel API 호출시 호출된다.
그리드 엑셀 업로드 옵션 파라미터를 조정하기 위해 사용하며, 콜백 함수내에서 파라미터를 설정하여 uploadexcelex API 를 반드시 호출해야한다.
CALLBACK_GRID_SAVECSV 그리드 컨텍스트 메뉴의 “CSV 저장” 또는 그리드 savecsv API 호출시 호출된다.
그리드 CSV 다운로드 옵션 파라미터를 조정하기위해 사용하며, 콜백 함수내에서 파라미터를 설정하여 savecsvex API를 반드시 호출해야한다.
CALLBACK_SCRIPT_ERROR 화면내 스크립트 동작 오류 발생시 호출된다. 스크립트 실행시 try/catch 문으로 검출 가능한 오류에 대해서만 호출된다.
CALLBACK_BROWSER_DOCKING 탭모드에서 도킹상태가 변경되었을때 호출된다. (런타임브라우저와 탭모드로 연동한 경우에 동작함)

이벤트 글로벌 콜백

이벤트 글로벌 콜백은 이벤트 이름을 지정하여 해당 이벤트 발생시 지정된 콜백 이전에 호출되는 콜백이다.

구분 내용
CALLBACK_EVENT_NAME 콜백 호출 대상 이벤트 이름 배열
CALLBACK_EVENT_BEFORE CALLBACK_EVENT_NAME 에 지정된 이벤트 발생시 호출될 함수 이름

이벤트 글로벌 콜백 특징

이벤트 글로벌 콜백은 아래와 같은 특징을 가진다.

구분 내용
콜백 파리미터 콜백 함수 호출시 전달되는 파라미터는 화면, 컴포넌트, 이벤트 이름, 원래 이벤트 콜백 파라미터로 구성된다.
따라서 콜백 함수 개발시 파라미터로 전달되는 파라미터가 가변적이기 때문에, 함수 내에서 arguments 오브젝트를 통해서 가변 파라미터를 처리해야한다.
arguments 오브젝트는 함수에 전달된 파라미터에 접근하기 위한 기능을 수행하는 특별한 오브젝트이며, 자세한 설명은 “https://developer.mozilla.org”에서 arguments 를 검색하여 참고한다.
콜백 함수 호출 이벤트 글로벌 콜백은 해당 이벤트에 대한 콜백 지정 여부와 상관없이 이벤트에 지정된 콜백이 호출되기 이전에 호출됨
적용 대상 이벤트 이름을 기준으로 처리되기 때문에, 모든 화면에 적용된다. 성능에 영향을 줄 수 있는 이벤트 (예: on_keydown)에 대해서는 글로벌콜백 함수내 동작 시간 부분에 주의해야 한다.