/**************************************************************************************************** 화면명(ID) : Global용 javaScript 작성자 : 김용학 업무개요 : 모든 화면에서 공통으로 사용할 수 있는 시스템관련 javaScript StartXML.xml에 저장 된다. 작성일 : 2009.04.13 ****************************************************************************************************/ #include "RrEnv_js::jsCommFunc.js"; /*=================================================================================================== * Menu관련 function 1. 업무화면을 OPEN시키기 위한 MAIN function 2. 상단 tabPage에 OPEN할 화면을 추가한다. 3. Main Frame에 클릭한 메뉴를 MDI로 Open시킨다. 4. 화면 form 이 Close 되었기 때문에 해당 Tab을 제거 한다. 5. 활성화된 화면에 대한 Tab을 선택한다. 6. 사용자가 열려져 있는 상단 Tab을 클릭 시 -> 해당 Tab에 해당 하는 Form을 활성화시킨다. ===================================================================================================*/
/*=================================================================================================== 설명 : 업무화면을 OPEN시키기 위한 MAIN function ARG : MENU_ID - 메뉴PK USER_MENU_NM - 사용자메뉴명 TAB_MENU_NM - 상단 Tab Page에 보여줄 메뉴명 APP_ID - Application Group ID SCR_ID - 화면 XML ID ===================================================================================================*/ function gf_OpenMenuUrl(as_MENU_ID, as_USER_MENU_NM, as_TAB_MENU_NM, as_APP_ID, as_SCR_ID) { //상단 tabPage에 OPEN할 화면을 추가한다. gf_OpenMenuTopTabAdd(as_MENU_ID, as_USER_MENU_NM, as_TAB_MENU_NM, as_APP_ID, as_SCR_ID); //화면을 Open한다. gf_OpenMenuChildWindow(as_MENU_ID, as_USER_MENU_NM, as_TAB_MENU_NM, as_APP_ID, as_SCR_ID); } /*=================================================================================================== 설명 : 1. 상단 tabPage에 OPEN할 화면을 추가한다. 2. 어떤 화면이 OPEN되어 있는지 gds_OpenMenu 에 추가한다. 3. 만약, 기 OPEN되어 있다면 해당 화면을 Enable 시킨다. ARG : 상동 ===================================================================================================*/ function gf_OpenMenuTopTabAdd(as_MENU_ID, as_USER_MENU_NM, as_TAB_MENU_NM, as_APP_ID, as_SCR_ID) { if (cf_IsNull(as_APP_ID) || cf_IsNull(as_SCR_ID)) return; //글자양옆에 공백을 둔다. tap의 제목부분이 좁아지게 보이지 않게 var s_Title = as_TAB_MENU_NM; var n_Row; n_Row = gds_OpenMenu.FindRow("SCR_ID", as_SCR_ID);
//해당 화면이 기 OPEN되어 있을 경우 if( n_Row >= 0 ) { // 현재 위치 설정 Global.Doc_Menu_Top.tb_OpenMenu.Tabindex = n_Row; } //해당화면을 OPEN해야 되는 경우 else { var LstIdx = gds_OpenMenu.GetColumn(gds_OpenMenu.rowcount - 1, "SNO"); var n_idCnt = ToNumber(LstIdx) + 1; n_Row = gds_OpenMenu.AddRow(); gds_OpenMenu.SetColumn(n_Row,"MENU_ID" , as_MENU_ID); gds_OpenMenu.SetColumn(n_Row,"USER_MENU_NM", as_USER_MENU_NM); gds_OpenMenu.SetColumn(n_Row,"TAB_MENU_NM" , as_TAB_MENU_NM); gds_OpenMenu.SetColumn(n_Row,"APP_ID" , as_APP_ID); gds_OpenMenu.SetColumn(n_Row,"SCR_ID" , as_SCR_ID); gds_OpenMenu.SetColumn(n_Row,"SNO" , n_idCnt); //top에 이번에 Open한 Form Name으로 tab 추가 var strID = "tab" + n_idCnt; var nIdx = n_Row; var s_Image = "btn_Tab_TopOpenPage";
Global.Doc_Menu_Top.tb_OpenMenu.InsertTab(as_SCR_ID, nIdx, "", s_Title, s_Image); // 현재 위치 설정 Global.Doc_Menu_Top.tb_OpenMenu.Tabindex = n_Row; } } /*=================================================================================================== 설명 : Main Frame에 클릭한 메뉴를 MDI로 Open시킨다. 실제 Open은 MainWorkForm.xml의 OnLoadCompleted Event에서 처리한다. ARG : 상동 ===================================================================================================*/ function gf_OpenMenuChildWindow(as_MENU_ID, as_USER_MENU_NM, as_TAB_MENU_NM, as_APP_ID, as_SCR_ID) { if (cf_IsNull(as_APP_ID) || cf_IsNull(as_SCR_ID)) return;
var s_Arg = ""; s_Arg = "as_APP_ID=" + quote(as_APP_ID); s_Arg += " as_SCR_ID=" + quote(as_SCR_ID); s_Arg += " as_USER_MENU_NM=" + quote(as_USER_MENU_NM); s_Arg += " as_TAB_MENU_NM=" + quote(as_TAB_MENU_NM); s_Arg += " as_MENU_ID=" + quote(as_MENU_ID); // 폼 Open .. NewWindow(as_SCR_ID, "RrEnv::MainWorkForm.xml", s_Arg, 2000,2000, "OpenStyle=Max, Instance=Single, Title=False, Status=False, CloseFlag=False, Resize=False", 0, 0);
}
/*=================================================================================================== 설명 : 화면 form 이 Close 되었기 때문에 해당 Tab을 제거 한다. ARG : s_MENU_ID - 메뉴관리Table PK ARG : 상동 ===================================================================================================*/ function gf_OpenMenuDel(as_SCR_ID) { var n_Row; n_Row = gds_OpenMenu.FindRow("SCR_ID", as_SCR_ID);
if( n_Row >= 0 ) { gds_OpenMenu.DeleteRow(n_Row); Global.Doc_Menu_Top.tb_OpenMenu.TabIndex = n_Row; Global.Doc_Menu_Top.tb_OpenMenu.DeleteTab(n_Row); } }
/*=================================================================================================== 설명 : 활성화된 화면에 대한 Tab을 선택한다. ARG : s_MENU_ID - 메뉴관리Table PK ===================================================================================================*/ function gf_OpenMenuFindTab(as_SCR_ID) { var n_Row = gds_OpenMenu.FindRow("SCR_ID", as_SCR_ID);
Global.Doc_Menu_Top.tb_OpenMenu.Tabindex = n_Row;
}
/*=================================================================================================== 설명 : 사용자가 열려져 있는 상단 Tab을 클릭 시 -> 해당 Tab에 해당 하는 Form을 활성화시킨다. ARG : a_TabIndex - 사용자가 상단 Tab을 클릭 한 TabIndex 번호 ===================================================================================================*/ function gf_OpenMenuFormSearch(an_TabIndex) { var s_TAB_SCR_ID = gds_OpenMenu.GetColumn(an_TabIndex,"SCR_ID");
for(var i = 0; i < gds_OpenMenu.rowcount; i++) { var w_Obj = AllWindows(); for (var i = 0 ; i < w_Obj.count; i++ ) { if(w_Obj[i].id == s_TAB_SCR_ID) { w_Obj[i].setFocus(); break; } } } }
|