화면 » Api

loadportletpopupsync

Description

포틀릿 화면을 모달 팝업으로 동기식으로 띄우는 API이다.

Parameters

Parameters Type Description
strPopupName STRING 팝업 이름
strScreenURL STRING 팝업시킬 화면의 경로
strTitle STRING 팝업화면 타이틀
bNoTitle bool 타이틀바를 안보이게 할 지에 대한 여부(true, false)
nBorderStyle short 팝업 BorderStyle 상수(*Remark 참조)
nXWindowPos long 화면에 보여줄 모니터 상 X 좌표
nYWindowPos long 화면에 보여줄 모니터 상 Y 좌표
nWidth short 팝업화면의 너비
nHeight short 팝업화면의 높이
bCenter bool 좌표값을 무시하고 무조건 윈도우 중앙에 뜨게할지 여부(true, false)
bAutoPopupSize bool 지정한 사이즈를 무시하고 본래화면 사이즈로 뜨게할지 여부(true, false)
bMaximize BOOL 최대화하여 표시 여부
extra_data INSTANCE [옵션] 팝업 화면에 전달할 부가 데이터
bLocal BOOL [옵션] 탭 내부 팝업 여부 (기본값 false)
bVisible BOOL [옵션] 팝업 표시 여부 (기본값 true)
bHideProtect BOOL [옵션] 모달 배경 잠금 영역 숨김 처리 여부 (기본값 false)

Return Value

Type Description
BOOL 포틀릿 화면을 정상적으로 로딩을 시작했는지 여부(true, false)

Remark

async/await 문법을 사용하여 loadportletpopup을 동기 방식으로 처리하는 함수이며, IE 브라우저는 지원하지 않는다.

loadportletpopupsync API 호출시 팝업 부모 화면의 "on_popupload" 이벤트는 발생하지 않는다.

loadportletpopupsync API가 리턴시 팝업 화면 로드가 완료된 것을 의미한다.

strPopupName 파라미터는 _, 영문자, 숫자로 구성할 수 있지만, 숫자만으로 구성할 수 없습니다.

strPopupName 파라미터는 팝업 화면 로드 완료시, 로드된 팝업 화면의 멤버가 할당된 변수의 이름으로 팝업을 로드한 화면에 동적으로 정의되기 때문에, 팝업을 로드한 화면의 컴포넌트 이름이나 변수 이름과 중복된 값을 사용하는 경우에 기존 값이 오바라이트되고, 팝업이 닫힌 경우, undefined 값으로 지정된다.

포틀릿 팝업 화면이 닫히는 경우, 팝업 부모 화면의 on_popupdestroy 이벤트가 발생한다.

extra_data 옵션 파라미터를 통해서 포틀릿 팝업 화면으로 값을 전달할 수 있으며, 포틀릿 팝업 화면에서는 this.screen.getextradata API 호출을 통해서 전달된 값을 얻을 수 있다.

** nBorderStyle 상수

XFD_BORDER_NONE = 0 (테두리 없음)
XFD_BORDER_FLAT = 1 (선 테두리)
XFD_BORDER_RAISED = 2 (리사이즈 불가능한 창 테두리)
XFD_BORDER_RESIZE = 4 (리사이즈 가능한 창 테두리)
** bLocal 파라미터
탭에 링크된 화면에서 bLocal 파라미터를 true로 지정하면 팝업창이 탭내부에 표시된다.

Example

// 동기식 포틀릿 팝업 로드 버튼 이벤트 처리 // loadportletpopupsync API를 "await" 방식으로 호출하기 위해, // 함수 이름 앞에 "async" 키워드를 추가로 붙어야 한다. async function btn_loadportletpopup_sync_on_mouseup(objInst) { var fld_in_popup_screen, popup_screen, ret, popup_ret; factory.consoleprint("loadportletpopupsync> start"); factory.consoleprint("loadportletpopupsync> before call loadportletpopupsync"); // 팝업 화면을 ASYNC 방식으로 로드를 시작함. // loadportletpopupsync API가 리턴시 포틀릿 팝업 화면 로드가 완료된 것을 의미함. // 팝업 화면 로드 완료시, 팝업 부모 화면의 "on_popupload" 이벤트는 발생하지 않음. // extra_data 옵션 파라미터를 통해서 팝업 화면으로 값을 전달할 수 있음. // 포틀릿 팝업 화면에서는 screen.getextradata API 호출을 통해서 전달된 값을 얻을 수 있음. // await의 동기화 처리는 async 함수내에서만 수행된다. ret = await screen.loadportletpopupsync("SYNC_MODAL_PORTLET_POPUP", "/TEMPLATE/HTML5/ASYNC_AWAIT/portlet_sample", "SYNC PORTLET POPUP", false, XFD_BORDER_RAISED, 0, 0, 200, 500, true, true, false, "VALUE_FROM_LOADSCREEN_EXTRADATA"); factory.consoleprint("loadportletpopupsync> after call loadportletpopupsync, return = " + ret); // 동기 방식으로 호출된 포틀릿 팝업 화면 인스턴스를 팝업 이름을 기준으로 찾음 popup_screen = screen.findportletpopup("SYNC_MODAL_PORTLET_POPUP"); if (factory.isobject(popup_screen)) { // loadportletpopupsync API로 팝업을 로드했기 때문에, loadportletpopupsync 함수가 리턴되는 시점에는 // 포틀릿 팝업 화면의 로드가 완료된 시점이기 때문에, 포틀릿 팝업 화면의 오브젝트 인스턴스를 구할 수 있다. fld_in_popup_screen = popup_screen.getinstancebyname("fld_value_from_parent_screen_settext"); if (factory.isobject(fld_in_popup_screen)) { fld_in_popup_screen.settext("VALUE_FROM_PARENT_SCREEN_SETTEXT"); } else { factory.consoleprint("loadportletpopupsync> getinstancebyname() return null"); } // domodal 호출 여부 옵션 검사 if (chk_calldomodal.getcheck()) { factory.consoleprint("loadportletpopupsync> before call domodal"); // 팝업 화면에 대해서 domodal API를 호출하여, 팝업 화면이 닫힐 때까지 대기함. // 팝업 화면에서 unloadpopup 함수 호출로 전달된 파라미터 값이 리턴되기를 동기방식으로 대기함. // domodal API 호출시 팝업 부모 화면의 "on_popupdestroy" 이벤트는 발생하지 않음. // domodal API를 호출하지 않으면, // 팝업 화면에서 unloadpopup 함수 호출시 전달된 파라미터 값은 // on_popupdestroy 이벤트를 통해서 전달됨. // await의 동기화 처리는 async 함수내에서만 수행됨. popup_ret = await popup_screen.domodal(); screen.alert("loadportletpopupsync> after call domodal, domodal return = " + popup_ret); factory.consoleprint("loadportletpopupsync> after call domodal, domodal return = " + popup_ret); } } else { factory.consoleprint("loadportletpopupsync> findportletpopup() return null"); } factory.consoleprint("loadportletpopupsync> end"); }

See Also

loadportletpopup

Viewer Ver.

9.1.1.1

Update Date

20231108