<?xml version="1.0" encoding="UTF-8"?>

		<w2:type>COMPONENT</w2:type>
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataMap baseNode="map" id="dma_fileDesc">
					<w2:keyInfo>
						<w2:key id="desc" name="" dataType="text"></w2:key>
						<w2:key id="test" name="" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<desc><![CDATA[

본 화면은 GridView의 ExcelDownload 및 upload 시 특정문자열의 치환하는 방법을 제공한다.
dataConvert 기능의 설정 방법 및 실행방법을 확인한다.

1. dataConvert 설정

  - C:\WS5_SAMPLE\RESOURCE\websquare_home\config\websquare.xml 에 아래 설정을 확인한다.
	(설정 변경 후 반드시 was를 리부팅한다.)
  - <excel>
		<download>
			<dataConvertor value="com.inswave.util.dataConvertDown"/>
		</download>
		<upload>
			<dataConvertor value="com.inswave.util.dataConvertUp"/>
		</upload>
	</excel>

2. dataConvertor 소스

  - 엑셀 다운로드시 치환
	: websquare.http.controller.grid.excel.write.ICellDataProvider 이용하여 특정 cell의 값을 치환한다.
  - 엑셀 업로드시 치환
	: websquare.http.controller.grid.excel.read.ICellDataProvider 이용하여 특정 cell의 값을 치환한다.

3. 주의사항

  - 위 설정을 적용하면 모든 엑셀 다운로드/업로드시 적용이 되므로, 공통적인 요소를 치환할 경우에만 사용하도록 한다.

						]]></desc>
						<test><![CDATA[

1. 과정

1. 조회된 데이터를 다운로드 한다.
2. [지우기] 버튼을 클릭 후 [업로드]버튼을 클릭하여 1번에서 내려받은 파일로 화면에 업로드 한다.

2. 결과

1. 다운로드 받은 엑셀 파일의 내용을 살펴보면 '메뉴명' 컬럼에서 'u00' => 'u00_Convert_' 로 변환됨을 확인한다.
2. 화면에 업로드된 내용 중 '메뉴명' 컬럼에서 'u00_Convert_' => 'u00' 로 변환됨을 확인한다.

						]]></test>
					</w2:data>
				</w2:dataMap>
				<w2:dataList id="dlt_update" baseNode="list" saveRemovedData="true" repeatNode="map">
					<w2:columnInfo>
						<w2:column id="UPT_SEQ" name="업데이트순번" dataType="text"></w2:column>
						<w2:column id="UPT_TITLE" name="제목" dataType="text"></w2:column>
						<w2:column id="UPT_DATE" name="작성일" dataType="text"></w2:column>
						<w2:column id="UPT_CONTENT" name="내용" dataType="text"></w2:column>
					</w2:columnInfo>
				</w2:dataList>
			</w2:dataCollection>
			<w2:workflowCollection></w2:workflowCollection>
			<xf:submission id="sbm_advancedExcel" ref="" target='data:json,{"id":"dlt_update","key":"dlt_update"}' action="/page/selectPageList" method="get" mediatype="application/json" encoding="UTF-8"
				instance="" replace="" errorHandler="" customHandler="" mode="asynchronous" processMsg="" ev:submit="" ev:submitdone="scwin.sbm_advancedExcel_submitdone" ev:submiterror="" abortTrigger="">
			</xf:submission>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<xf:group class="sub_contents flex_gvw" id="" style="">
			<w2:wframe id="" style="" src="../../cm/xml/contentHeader.xml" scope=""></w2:wframe>
			<w2:wframe id="" src="../../cm/xml/contentDesc.xml" scope=""></w2:wframe>
			<xf:group class="dfbox" id="" style="">
				<xf:group class="fr" id="" style="">
					<w2:textbox class="sum" id="spn_excelBasicCnt" label="0" style=""></w2:textbox>
					<w2:textbox class="" id="" label="건" style=""></w2:textbox>
					<w2:textbox class="ett" id="" label="파일형태 :" style=""></w2:textbox>
					<xf:select1 appearance="full" class="mr10" cols="" disabled="" id="rad_excelType" ref="" renderType="radiogroup" rows=""
						selectedIndex="0" style="">
						<xf:choices>
							<xf:item>
								<xf:label><![CDATA[xlsx]]></xf:label>
								<xf:value><![CDATA[xlsx]]>
								</xf:value>
							</xf:item>
							<xf:item>
								<xf:label><![CDATA[xls]]></xf:label>
								<xf:value><![CDATA[xls]]>
								</xf:value>
							</xf:item>
						</xf:choices>
					</xf:select1>

					<xf:trigger class="btn_cm  upload" id="btn_uploadDataBasic" style="" type="button" toolTip="엑셀의 데이터를 그리드로 업로드 한다." ev:onclick="scwin.btn_uploadDataBasic_onclick">
						<xf:label><![CDATA[엑셀업로드]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm download" id="btn_downloadExcelBasic" style="" type="button" toolTip="그리드의 데이터를 엑셀로 다운로드 한다." ev:onclick="scwin.btn_downloadExcelBasic_onclick">
						<xf:label><![CDATA[엑셀다운로드]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm  search" id="btn_search" style="" type="button" ev:onclick="scwin.btn_search_onclick">
						<xf:label><![CDATA[조회]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm" id="btn_gridRemoveExcelBasic" style="" type="button" toolTip="현재 그리드에 업로드 되어있는 데이터를 삭제한다." ev:onclick="scwin.btn_gridRemoveExcelBasic_onclick">
						<xf:label><![CDATA[지우기]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group adaptiveThreshold="" class="gvwbox wq_flx" id="" style="">
				<w2:gridView autoFit="allColumn" class="wq_gvw" dataList="data:dlt_update" ev:onafteredit=""
					ev:onfilereadend="scwin.grd_excelGrid_onfilereadend" ev:onrowindexchange="scwin.grd_Authority_onrowindexchange"
					fixedColumnWithHidden="true" id="grd_excelGrid" ignoreCellClick="false" rowNumHeaderValue="순서" rowNumVisible="true" rowNumWidth="50"
					rowStatusHeaderValue="" rowStatusVisible="" sortEvent="ondblclick" sortable="true" style="height:296px;"
					useShiftKey="true" defaultCellHeight="26" focusMode="row" keepDefaultColumnWidth="true" autoFitMinWidth="900" scrollByColumn="true">
					<w2:header id="header1" style="">
						<w2:row id="row2" style="">
							<w2:column blockSelect="false" displayMode="label" id="column11" inputType="text" style=""
								value="업데이트순번" width="80">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column9" inputType="text" style="" value="제목"
								width="120">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column7" inputType="text" style=""
								value="작성일" width="100">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column3" inputType="text" style="" value="내용"
								width="150">
							</w2:column>
						</w2:row>
					</w2:header>
					<w2:gBody id="gBody4" style="">
						<w2:row id="row5" style="">
							<w2:column blockSelect="false" displayMode="label" id="UPT_SEQ" inputType="text" style=""
								width="50">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="UPT_TITLE" inputType="text" style=""
								width="40" textAlign="left">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="UPT_DATE" inputType="text" style=""
								textAlign="left" width="50">
							</w2:column>
							<w2:column blockSelect="false" falseValue="N" id="UPT_CONTENT" inputType="text" style=""
								textAlign="left" trueValue="Y" valueType="other" width="50">
							</w2:column>
						</w2:row>
					</w2:gBody>
				</w2:gridView>

			</xf:group>

		</xf:group>


<?xml version="1.0" encoding="UTF-8"?>

		<w2:type>COMPONENT</w2:type>
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataMap baseNode="map" id="dma_fileDesc">
					<w2:keyInfo>
						<w2:key id="desc" name="" dataType="text"></w2:key>
						<w2:key id="test" name="" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<desc><![CDATA[

본 화면은 화면전환시 Parameter를 넘겨주는 방법을 제공한다.
열려진 화면의 url을 변경하는 방식과
새 탭을 열어 보여주는 방식에 대하여 설명한다.

1. url 변경

  - $p.url 을 사용하며, 아래의 예시는 json형태의 데이터를 parameter로 전송하는 방법이다.
  - 예시
  var options = {};
  options.param = dma_basic.getJSON();
  $p.url(../../../SP/Parameter/Url_ParameterReceive.xml" , options );

2. 새 탭으로 열기

  - 탭 컨트롤의 addTab을 사용하여 새로운 탭으로 화면을 열고, parameter로 전송하는 방법이다.
  - 예시
  var move_url = gcm.CONTEXT_PATH + "/ui/SP/Parameter/Url_ParameterReceive.xml&CODE="+dma_basic.get("CODE");
  var classObj = {src:move_url};
  parent.tac_layout.addTab( "Get Parameter", tabObj, classObj );

						]]></desc>
						<test><![CDATA[

1. 과정

1. url 방식 테스트: [코드],[성명],[기타] 값을 차례로 입력 후 [url]버튼을 클릭한다.
2. addTab 방식 테스트: [코드],[성명],[기타] 값을 차례로 입력 후 [new Tab]버튼을 클릭한다.

2. 결과

1. url방식 결과: 화면이 전환되면서 이전 화면에서 넘겨준 [코드],[성명],[기타]이 새 화면에 맵핑되어 보여진다.
2. addTab 방식 결과: 새 탭이 열리면서 이전 화면에서 넘겨준 [코드],[성명],[기타]이 새 화면에 맵핑되어 보여진다.

						]]></test>
					</w2:data>
				</w2:dataMap>
				<w2:dataMap baseNode="map" id="dma_basic">
					<w2:keyInfo>
						<w2:key id="CODE" name="코드" dataType="text"></w2:key>
						<w2:key id="NAME" name="이름" dataType="text"></w2:key>
						<w2:key id="ETC" name="기타" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<![CDATA[A001]]>
						<NAME><![CDATA[가나다]]></NAME>
						<ETC><![CDATA[***]]></ETC>
					</w2:data>
				</w2:dataMap>
			</w2:dataCollection>
			<w2:workflowCollection></w2:workflowCollection>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<xf:group class="sub_contents" id="" style="">
			<w2:wframe id="" style="" src="../../cm/xml/contentHeader.xml" scope=""></w2:wframe>
			<w2:wframe id="" src="../../cm/xml/contentDesc.xml" scope=""></w2:wframe>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="sessionStorage를 통한 Prameter 전달" style="" tagname="h3"></w2:textbox>
				<xf:group id="" class="fr">
					<xf:trigger style="" id="btn_confirm" type="button" class="btn_cm  search" ev:onclick="scwin.btn_confirm_onclick">
						<xf:label><![CDATA[url]]></xf:label>
					</xf:trigger>
					<xf:trigger style="" id="btn_addTab" type="button" class="btn_cm" ev:onclick="scwin.btn_addTab_onclick">
						<xf:label><![CDATA[New Tab]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="" style="width: 100%;" tagname="table">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:120px;" tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
						<xf:group style="width:120px;" tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
						<xf:group tagname="col" style="width:120px;"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th " style="" tagname="th">
							<w2:textbox class="" id="" label="코드" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:input minlength="13" id="ibx_code" applyFormat="" ref="data:dma_basic.CODE" maxlength="13" style="width:100%" mandatory="true" displayFormat="" allowChar="" displayFormatter="">
							</xf:input>
						</xf:group>
						<xf:group class="w2tb_th re" tagname="th" text="">
							<w2:attributes></w2:attributes>
							<w2:textbox class="" id="" label="성명" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" tagname="td">
							<w2:attributes></w2:attributes>
							<xf:input id="ibx_name" ref="data:dma_basic.NAME" style="" mandatory="true"></xf:input>
						</xf:group>
						<xf:group tagname="th" class="w2tb_th" tabIndex="">
							<w2:attributes></w2:attributes>
							<w2:textbox class="" id="" label="기타" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<xf:input id="ibx_etc" ref="data:dma_basic.ETC" style="width:100%;" mandatory="true" class="fl"></xf:input>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>

		</xf:group>


<?xml version="1.0" encoding="UTF-8"?>

		<w2:type>COMPONENT</w2:type>
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataMap baseNode="map" id="dma_fileDesc">
					<w2:keyInfo>
						<w2:key id="desc" name="" dataType="text"></w2:key>
						<w2:key id="test" name="" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<desc><![CDATA[

본 화면은 팝업호출시 Parameter를 처리하는 방법을 제공한다.
ALERT 형태의 팝업과 CONFIRM형태의 팝업에 대하여 처리하는 방법을 제공한다.

1. ALERT

  - 본 화면에서 입력한 값을 alert형태의 팝업창에 전달하는 방법을 제공한다.

2. CONFIRM

  - 본 화면에서 입력한 값을 confirm형태의 팝업창에 전달하는 방법을 제공한다.

						]]></desc>
						<test><![CDATA[

1. 과정

1. 메인화면
1) ALERT 방식 테스트: [전송 Data]를 입력 후 [alert]버튼을 클릭한다.
2) CONFIRM 방식 테스트: [전송 Data]를 입력 후 [confirm]버튼을 클릭한다.

2. 팝업
1) ALERT 방식 테스트: [전송 Parameter]를 입력 후 [확인]버튼을 클릭한다.
2) CONFIRM 방식 테스트: [전송 Parameter]를 입력 후 [확인]버튼을 클릭한다.
						  단, [취소]버튼을 클릭하면 팝업만 종료된다.

2. 결과

1. 메인화면
1) ALERT 방식 결과: 팝업이 열려지면서 [전송 Data] 값이 해당 팝업에 셋팅된다.
2) CONFIRM 방식 결과: 팝업이 열려지면서 [전송 Data] 값이 해당 팝업에 셋팅된다.

2. 팝업
1) ALERT 방식 결과: [전송 Parameter]값이 메인화면의 [수신 Data]에 셋팅된다.
2) CONFIRM 방식 결과: [전송 Parameter]값이 메인화면의 [수신 Data]에 셋팅된다.

						]]></test>
					</w2:data>
				</w2:dataMap>
				<w2:dataList id="dlt_advancedExcel" baseNode="list" saveRemovedData="true" repeatNode="map">
					<w2:columnInfo>
						<w2:column id="MENU_CD" name="메뉴코드" dataType="text"></w2:column>
						<w2:column id="MENU_NM" name="메뉴명" dataType="text"></w2:column>
						<w2:column id="PARENT_MENU_NM" name="부모메뉴명" dataType="text"></w2:column>
						<w2:column id="MENU_LEVEL" name="메뉴레벨" dataType="text"></w2:column>
						<w2:column id="SRC_PATH" name="경로" dataType="text"></w2:column>
						<w2:column id="IS_USE" name="사용여부" dataType="text"></w2:column>
						<w2:column id="SORT_ORDER" name="순서" dataType="text"></w2:column>
						<w2:column id="PARENT_MENU_CD" name="부모메뉴코드" dataType="text"></w2:column>
					</w2:columnInfo>
				</w2:dataList>
			</w2:dataCollection>
			<w2:workflowCollection></w2:workflowCollection>
			<xf:submission id="sbm_advancedExcel" ref="" target="data:json,dlt_advancedExcel" action="/ui/SP/JsonData/advancedExcel.json" method="post" mediatype="application/json" encoding="UTF-8"
				instance="" replace="" errorHandler="" customHandler="" mode="asynchronous" processMsg="" ev:submit="" ev:submitdone="scwin.sbm_advancedExcel_submitdone" ev:submiterror="">
			</xf:submission>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<xf:group class="sub_contents" id="" style="">
			<w2:wframe id="" style="" src="../../cm/xml/contentHeader.xml" scope=""></w2:wframe>
			<w2:wframe id="" src="../../cm/xml/contentDesc.xml" scope=""></w2:wframe>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="ALERT" style="" tagname="h3"></w2:textbox>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="" style="" tagname="table">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:140px;" tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th " style="" tagname="th">
							<w2:textbox class="" id="" label="전송 Data" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:group class="flex" id="" style="">
								<xf:input disabled="" id="ibx_alertSend" placeholder="" style=""></xf:input>
								<xf:trigger class="btn_cm " id="btn_alert1" style="" type="button" ev:onclick="scwin.btn_alert1_onclick">
									<xf:label><![CDATA[alert (Wframe Popup)]]></xf:label>
								</xf:trigger>
								<xf:trigger class="btn_cm " ev:onclick="scwin.btn_alert2_onclick" id="btn_alert2" style="" type="button" nextTabID="">
									<xf:label><![CDATA[alert (IFrame Popup)]]></xf:label>
								</xf:trigger>
							</xf:group>
						</xf:group>
					</xf:group>
					<xf:group tagname="tr">
						<xf:group class="w2tb_th" tagname="th">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="수신 Data" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" tagname="td">
							<w2:attributes>
								<w2:colspan>1</w2:colspan>
								<w2:rowspan>1</w2:rowspan>
							</w2:attributes>
							<xf:input class="" id="ibx_alertReceive" placeholder="" style="width:100%;"></xf:input>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="CONFIRM" style="" tagname="h3"></w2:textbox>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="" style="" tagname="table">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:140px;" tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th " style="" tagname="th">
							<w2:textbox class="" id="" label="전송 Data" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:group class="flex" id="" style="">
								<xf:input disabled="" id="ibx_confirmSend" placeholder="" style=""></xf:input>
								<xf:trigger class="btn_cm " id="btn_confirm" style="" type="button"
									ev:onclick="scwin.btn_confirm1_onclick">
									<xf:label><![CDATA[confirm (Wframe Popup)]]></xf:label>
								</xf:trigger>
								<xf:trigger class="btn_cm " ev:onclick="scwin.btn_confirm2_onclick" id="btn_trigger2" nextTabID="" style=""
									type="button">
									<xf:label><![CDATA[confirm (Browser Popup)]]></xf:label>
								</xf:trigger>
							</xf:group>
						</xf:group>
					</xf:group>
					<xf:group tagname="tr">
						<xf:group class="w2tb_th" tagname="th">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="수신 Data" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" tagname="td">
							<w2:attributes>
								<w2:colspan>1</w2:colspan>
								<w2:rowspan>1</w2:rowspan>
							</w2:attributes>
							<xf:input class="" id="ibx_confirmReceive" placeholder="" style="width:100%;"></xf:input>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
		</xf:group>


<?xml version="1.0" encoding="UTF-8"?>

		<w2:type>COMPONENT</w2:type>
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataMap baseNode="map" id="dma_fileDesc">
					<w2:keyInfo>
						<w2:key id="desc" name="" dataType="text"></w2:key>
						<w2:key id="test" name="" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<desc><![CDATA[

본 화면은 화면전환시 넘겨받은 Parameter Setting 방법을 제공한다.
com.data.getParameter 를 이용하여 넘겨받은 Parameter를 받아올 수 있다.

1. 사용제약

  - HTML5의 브라우저 객체를 이용하므로, ie6, 7 브라우저에서는 사용이 불가하다.

2. Parameter 처리 방법

  - com.data.getParameter 라는 API를 이용하여 넘겨받은 Parameter를 받아온다.
  - 예시
  com.data.getParameter("CODE");
						]]></desc>
						<test><![CDATA[

1. 과정

1. 이전화면인 [url 방식]화면에서 값을 입력 후 [url] 혹은 [newTab] 버튼을 클릭한다.

2. 결과

1. 화면이 전환되면서 이전화면에서 넘겨준 Parameter값이 자동으로 setting됨을 확인한다.

						]]></test>
					</w2:data>
				</w2:dataMap>
				<w2:dataMap baseNode="map" id="dma_return">
					<w2:keyInfo>
						<w2:key id="cd" name="코드" dataType="text"></w2:key>
						<w2:key id="nm" name="명" dataType="text"></w2:key>
						<w2:key id="etc" name="기타" dataType="text"></w2:key>
					</w2:keyInfo>
				</w2:dataMap>
			</w2:dataCollection>
			<w2:workflowCollection></w2:workflowCollection>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<xf:group class="sub_contents" id="" style="">
			<w2:wframe id="wfm_contentHeader" src="../../cm/xml/contentHeader.xml"></w2:wframe>
			<w2:wframe id="" src="../../cm/xml/contentDesc.xml" scope=""></w2:wframe>
			<xf:group class="dfbox" id="" style="min-height:34px;">
				<w2:textbox class="" id="" label="화면전환으로 전달받은 Prameter Setting" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_search" style="display:none;">
					<xf:trigger class="btn_cm" id="btn_back" style="" type="button" ev:onclick="scwin.btn_back_onclick">
						<xf:label><![CDATA[이전화면]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="" style="width: 100%;" tagname="table">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:140px;" tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
						<xf:group style="width:140px;" tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th " style="" tagname="th">
							<w2:textbox class="" id="" label="전달 받은 코드" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:input minlength="13" id="ibx_cd" applyFormat="" ref="data:dma_return.cd" maxlength="13" style="" mandatory="true" displayFormat="" allowChar="" displayFormatter=""></xf:input>
						</xf:group>
						<xf:group class="w2tb_th re" tagname="th" text="">
							<w2:attributes></w2:attributes>
							<w2:textbox class="" id="" label="전달 받은 명 " ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" tagname="td">
							<w2:attributes></w2:attributes>
							<xf:input id="ibx_nm" ref="data:dma_return.nm" style="" mandatory="true"></xf:input>
						</xf:group>
						<xf:group class="w2tb_th" tabIndex="" tagname="th">
							<w2:attributes></w2:attributes>
							<w2:textbox class="" id="" label="ETC" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" tagname="td">
							<w2:attributes></w2:attributes>
							<xf:input id="ibx_revEtc" ref="data:dma_return.etc" style="" mandatory="true" class="fl"></xf:input>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>

		</xf:group>


<?xml version="1.0" encoding="UTF-8"?>

		<w2:type>COMPONENT</w2:type>
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataMap baseNode="map" id="dma_fileDesc">
					<w2:keyInfo>
						<w2:key id="desc" name="" dataType="text"></w2:key>
						<w2:key id="test" name="" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<desc><![CDATA[

본 화면은 Layer Alert, Confirm, Popup에서 Async/Await 기술을 적용하는 방법을 제공한다.
Async/Await은 Internet Explorer에서는 지원하지 않습니다.

1. ALERT

  - Async/Await 기술을 적용해서 Layer Alert 창을 실행하는 방법을 제공한다.

2. CONFIRM

  - Async/Await 기술을 적용해서 Layer Confirm 창을 실행하는 방법을 제공한다.

3. 반복 ALERT

  - Async/Await 기술을 적용해서 반복문에서 Layer Alert 창을 실행하는 방법을 제공한다.

4. 반복 CONFIRM

  - Async/Await 기술을 적용해서 반복문에서 Layer Confirm 창을 실행하는 방법을 제공한다.

5. 팝업

  - Async/Await 기술을 적용해서 Layer 팝업창 실행하는 방법을 제공한다.

6. Submission

  - Async/Await 기술을 적용해서 Submission을 실행하는 방법을 제공한다.

						]]></desc>
						<test><![CDATA[

1. 과정

1. ALERT
1) [실행] 버튼을 클릭한다.

2. CONFIRM
1) [실행] 버튼을 클릭한다.

3. 반복 ALERT
1) [실행] 버튼을 클릭한다.

4. 반복 CONFIRM
1) [실행] 버튼을 클릭한다.

5. 팝업
1) [실행] 버튼을 클릭한다.

6. Submission
1) [실행] 버튼을 클릭한다.

7. 반복 정적 Submission
1) [실행] 버튼을 클릭한다.

8. 반복 동적 Submission
1) [실행] 버튼을 클릭한다.

2. 결과

1. ALERT
1) Alert 창이 순서대로 실행된다.

2. CONFIRM
1) Confirm 창이 순서대로 실행된다.

3. 반복 ALERT
1) 반복문에서 Alert 창이 순서대로 실행된다.

4. 반복 CONFIRM
1) 반복문에서 Confirm 창이 순서대로 실행된다.

5. 팝업
1) 팝업 창이 순서대로 실행된다.

6. Submission
1) Submission이 순서대로 실행된다.

7. 반복 정적 Submission
1) 정적으로 생성된 Submission이 반복해서 실행된다.

8. 반복 동적 Submission
1) 동적으로 생성된 Submission이 반복해서 실행된다.

						]]></test>
					</w2:data>
				</w2:dataMap>
				<w2:dataMap id="dlt_sampleCode" baseNode="map">
					<w2:keyInfo>
						<w2:key id="case1-1" name="case1-1" dataType="text"></w2:key>
						<w2:key id="case1-2" name="case1-2" dataType="text"></w2:key>
						<w2:key id="case2-1" name="case2-1" dataType="text"></w2:key>
						<w2:key id="case2-2" name="case2-2" dataType="text"></w2:key>
						<w2:key id="case3-1" name="case3-1" dataType="text"></w2:key>
						<w2:key id="case3-2" name="case3-2" dataType="text"></w2:key>
						<w2:key id="case4-1" name="case4-1" dataType="text"></w2:key>
						<w2:key id="case4-2" name="case4-2" dataType="text"></w2:key>
						<w2:key id="case5" name="case5" dataType="text"></w2:key>
						<w2:key id="case6" name="case6" dataType="text"></w2:key>
						<w2:key id="case7" name="case7" dataType="text"></w2:key>
						<w2:key id="case8" name="case8" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<case1-1><![CDATA[alert("Step - 1");
console.log("Step - 1");

alert("Step - 2");
console.log("Step - 2");

alert("Step - 3");
console.log("Step - 3");]]></case1-1>
						<case1-2><![CDATA[await com.win.alert("Step - 1");
console.log("Step - 1");

await com.win.alert("Step - 2");
console.log("Step - 2");

await com.win.alert("Step - 3");
console.log("Step - 3");]]></case1-2>
						<case2-1><![CDATA[var rtn = confirm("확인창");
if (rtn) {
	console.log("1차 확인 선택");
	rtn = confirm("확인 선택 후 2차확인");
} else {
	console.log("1차 취소 선택");
	rtn = confirm("취소 선택 후 2차확인");
}

if (rtn) {
	console.log("2차 확인 선택");
} else {
	console.log("2차 취소 선택");
}]]></case2-1>
						<case2-2><![CDATA[if (await com.win.confirm("확인창")) {
	console.log("1차 확인 선택");
	var rtn = await com.win.confirm("확인 선택 후 1차확인");
} else {
	console.log("1차 취소 선택");
	var rtn = await com.win.confirm("취소 선택 후 1차확인");
}

if (rtn) {
	console.log("2차 확인 선택");
} else {
	console.log("2차 취소 선택");
}]]></case2-2>
						<case3-1><![CDATA[scwin.idx = 0; // 반복횟수
for (var i = 0; i < 5; i++) {
	scwin.idx++;
	console.log(scwin.idx + " 반복횟수");
	alert(scwin.idx + " 반복횟수");
}

console.log("최종확인");
alert("최종확인");]]></case3-1>
						<case3-2><![CDATA[scwin.idx = 0; // 반복횟수
for (var i = 0; i < 5; i++) {
	scwin.idx++
	console.log(scwin.idx + " 반복횟수");
	await com.win.alert(scwin.idx + " 반복횟수");
};
console.log("최종확인");
await com.win.alert("최종확인");]]></case3-2>
						<case4-1><![CDATA[var arr = [];
var rtn;
scwin.idx = 0;

for (var i = 0; i < 3; i++) {
	rtn = confirm(scwin.idx+1 +"확인체크");
	if (rtn) {
		arr.push(scwin.idx+1 + "확인");
	} else {
		arr.push(scwin.idx+1 +"취소");
	}
	console.log(scwin.idx + " 반복횟수");
	scwin.idx++
}

alert(arr.join(", ") +"선택함");]]></case4-1>
						<case4-2><![CDATA[var arr = [];
scwin.idx = 0;

for (var i = 0; i < 3; i++) {
	if (await com.win.confirm(scwin.idx+1 +"확인체크")) {
		arr.push(scwin.idx+1 + "확인");
	} else {
		arr.push(scwin.idx+1 +"취소");
	}
	console.log(scwin.idx + " 반복횟수");
	scwin.idx++
}
await com.win.alert(arr.join(", ") +"선택함");]]></case4-2>
						<case5><![CDATA[var data = { message : "샘플 팝업(1)을 오픈합니다." };
		var optsions = { id : "SamplePopup1",
						popupName : "샘플 팝업(1)",
						modal : true,
						width : 560, height: 400 };
		returnParam = await com.win.openPopup("/ui/SP/Promise/messageBox1.xml", optsions, data);
		console.log( "샘플 팝업(1) 리턴 파라미터 : " + returnParam);

		var data = { message : "샘플 팝업(2)을 오픈합니다." };
		var optsions = { id : "SamplePopup2",
						popupName : "샘플 팝업(2)",
						modal : true,
						width : 560, height: 400 };
		returnParam = await com.win.openPopup("/ui/SP/Promise/messageBox2.xml", optsions, data);
		console.log( "샘플 팝업(2) 리턴 파라미터 : " + com.str.serialize(returnParam));]]></case5>
						<case6><![CDATA[var rtn = await com.sbm.execute(sbm_commonCode, { dma_commonCode: {GRP_CD: "00020" } });
console.log("[sbm_commonGroup] 통신 정상 완료 : " + com.str.serialize(rtn.responseJSON.dlt_commonCode_00020));

rtn = await com.sbm.execute(sbm_commonCode, { dma_commonCode: {GRP_CD: "00001" } });
console.log("[sbm_commonCode] 통신 정상 완료 : " + com.str.serialize(rtn.responseJSON.dlt_commonCode_00001));]]></case6>
						<case7><![CDATA[var arr = [];
scwin.idx = 0;

for (var i = 0; i < 3; i++) {
	var codeGroup = "0000" + (i + 1);
	var rtn = await com.sbm.execute(sbm_commonCode, { dma_commonCode: {GRP_CD: codeGroup } });
	console.log("[sbm_commonGroup] 통신 정상 완료 : " + com.str.serialize(rtn.responseJSON["dlt_commonCode_" + codeGroup]));
	console.log(scwin.idx + " 반복횟수");
	scwin.idx++;
}]]></case7>
						<case8><![CDATA[var arr = [];
scwin.idx = 0;
var searchCodeGrpOption = { id : "sbm_commonGroup", action : "/common/selectCodeList"};

for (var i = 0; i < 3; i++) {
	var codeGroup = "0000" + (i + 1);
	var rtn = await com.sbm.executeDynamic(searchCodeGrpOption, { dma_commonCode: {GRP_CD: codeGroup } });
	console.log("[sbm_commonGroup] 통신 정상 완료 : " + com.str.serialize(rtn.responseJSON["dlt_commonCode_" + codeGroup]));
	console.log(scwin.idx + " 반복횟수");
	scwin.idx++;
}]]></case8>
					</w2:data>
				</w2:dataMap>
			</w2:dataCollection>
			<xf:submission id="sbm_commonCode" ref='' target='data:json,dlt_commonCode' action="/common/selectCodeList" method="post"
				mediatype="application/json" encoding="UTF-8" mode="asynchronous" instance="" replace="" errorHandler="" customHandler="" processMsg="" ev:submit="" ev:submitdone="" ev:submiterror="" abortTrigger="">
			</xf:submission>
			<xf:submission id="sbm_commonGroup" ref='data:json,dma_search' target='data:json,dlt_commonGrp' action="/common/selectCommonGroup" method="post"
				mediatype="application/json" encoding="UTF-8" mode="asynchronous">
			</xf:submission>
			<w2:workflowCollection></w2:workflowCollection>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<xf:group class="sub_contents" id="" style="">
			<w2:wframe id="" style="" src="../../cm/xml/contentHeader.xml" scope=""></w2:wframe>
			<w2:wframe id="" src="../../cm/xml/contentDesc.xml" scope=""></w2:wframe>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="1. ALERT" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_search" style="">
					<xf:trigger class="btn_cm" id="btn_trigger1" style="" type="button" ev:onclick="scwin.btn_trigger1_onclick">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group class="w2tb tb" id="grp_memberBasicDetailTop" style="width:100%;" tagname="table" adaptive="layout"
					adaptiveThreshold="900">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Native&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT11" ref="data:dlt_sampleCode.case1-1" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT12" ref="data:dlt_sampleCode.case1-2" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="2. CONFIRM" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_group1" style="">
					<xf:trigger class="btn_cm" id="btn_trigger2" style="" type="button" ev:onclick="scwin.btn_trigger2_onclick">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group class="w2tb tb" id="grp_group2" style="width:100%;" tagname="table" adaptive="layout" adaptiveThreshold="900">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Native&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT21" ref="data:dlt_sampleCode.case2-1" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT22" ref="data:dlt_sampleCode.case2-2" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="3. 반복 ALERT" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_group3" style="">
					<xf:trigger class="btn_cm" id="btn_trigger3" style="" type="button" ev:onclick="scwin.btn_trigger3_onclick">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group class="w2tb tb" id="grp_group4" style="width:100%;" tagname="table" adaptive="layout" adaptiveThreshold="900">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Native&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT31" ref="data:dlt_sampleCode.case3-1" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT32" ref="data:dlt_sampleCode.case3-2" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="4. 반복 CONFIRM" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_group5" style="">
					<xf:trigger class="btn_cm" id="btn_trigger4" style="" type="button" ev:onclick="scwin.btn_trigger4_onclick">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group class="w2tb tb" id="grp_group6" style="width:100%;" tagname="table" adaptive="layout" adaptiveThreshold="900">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Native&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT41" ref="data:dlt_sampleCode.case4-1" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT42" ref="data:dlt_sampleCode.case4-2" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="5. 팝업" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_group7" style="">
					<xf:trigger class="btn_cm" id="btn_trigger5" style="" type="button" ev:onclick="scwin.btn_trigger5_onclick">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group class="w2tb tb" id="grp_group8" style="width:100%;" tagname="table" adaptive="layout" adaptiveThreshold="900">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT50" ref="data:dlt_sampleCode.case5" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="6. Submission" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_group9" style="">
					<xf:trigger class="btn_cm" id="btn_trigger6" style="" type="button" ev:onclick="scwin.btn_trigger6_onclick">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group class="w2tb tb" id="grp_group10" style="width:100%;" tagname="table" adaptive="layout" adaptiveThreshold="900">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT60" ref="data:dlt_sampleCode.case6" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="7. 반복 정적 Submission" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="group1" style="">
					<xf:trigger class="btn_cm" ev:onclick="scwin.btn_trigger7_onclick" id="btn_trigger7" style="" type="button">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="group2" style="width:100%;" tagname="table">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT70" ref="data:dlt_sampleCode.case7" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
			<xf:group class="dfbox" id="" style="">
				<w2:textbox class="" id="" label="8. 반복 동적 Submission" style="" tagname="h3"></w2:textbox>
				<xf:group class="fr" id="grp_group13" style="">
					<xf:trigger class="btn_cm" ev:onclick="scwin.btn_trigger8_onclick" id="btn_trigger8" style="" type="button">
						<xf:label><![CDATA[실행]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group class="tbbox" id="" style="">
				<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="grp_group14" style="width:100%;" tagname="table">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:141px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th" style="" tagname="th">Async&nbsp;/&nbsp;Await&nbsp;코딩방식</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:textarea class="" id="txa_CONTENT80" ref="data:dlt_sampleCode.case8" style="width:100%;height:160px;"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>
		</xf:group>


<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ev="http://www.w3.org/2001/xml-events"
	xmlns:w2="http://www.inswave.com/websquare" xmlns:xf="http://www.w3.org/2002/xforms">
	<head meta_programId="SP001M01" meta_programName="샘플 목록 조회 및 관리" meta_programDesc="샘플 목록을 조회하고 관리(등록,수정,삭제)하는 화면" meta_author="Inswave Systems" meta_date="2021.02.25">
		<w2:type>COMPONENT</w2:type>
		<w2:buildDate/>
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataList baseNode="list" repeatNode="map" id="dlt_sample" saveRemovedData="true">
					<w2:columnInfo>
						<w2:column id="chk" name="선택" dataType="text" ignoreStatus="true"></w2:column>
						<w2:column id="SAMPLE_CD" name="샘플코드" dataType="text"></w2:column>
						<w2:column id="SAMPLE_NM" name="샘플명" dataType="text"></w2:column>
						<w2:column id="PARENT_SAMPLE_CD" name="부모샘플코드" dataType="text"></w2:column>
						<w2:column id="SAMPLE_LEVEL" name="샘플레벨" dataType="number"></w2:column>
						<w2:column id="SORT_ORDER" name="정렬순번" dataType="number"></w2:column>
						<w2:column id="IS_USE" name="사용여부" dataType="text"></w2:column>
						<w2:column id="FILE_PATH" name="샘플소스경로" dataType="text"></w2:column>
						<w2:column id="CONTENT" name="샘플설명" dataType="text"></w2:column>
						<w2:column id="KEYWORD" name="검색키워드" dataType="text"></w2:column>
						<w2:column id="NOTE" name="비고" dataType="text"></w2:column>
						<w2:column id="open" name="open" dataType="text" ignoreStatus="true"></w2:column>
					</w2:columnInfo>
				</w2:dataList>
				<w2:dataMap baseNode="map" id="dma_search">
					<w2:keyInfo>
						<w2:key id="KEYWORD" name="검색키워드" dataType="text"></w2:key>
						<w2:key id="IS_USE" name="사용여부" dataType="text"></w2:key>
					</w2:keyInfo>
				</w2:dataMap>
			</w2:dataCollection>
			<w2:workflowCollection></w2:workflowCollection>
			<xf:submission id="sbm_searchSample" ref="data:json,dma_search" target="data:json,dlt_sample" action="/sample/searchSample"
				method="post" mediatype="application/json" encoding="UTF-8" instance="" replace="" errorHandler="" customHandler="" mode="asynchronous"
				processMsg="" ev:submit="" ev:submitdone="scwin.sbm_searchSample_submitdone" ev:submiterror="" abortTrigger="">
			</xf:submission>
			<xf:submission id="sbm_saveSample" ref='data:json,["dlt_sample","dma_search"]' target="data:json,dlt_sample" action="/sample/updateSample"
				method="post" mediatype="application/json" encoding="UTF-8" instance="" replace="" errorHandler="" customHandler="" mode="asynchronous"
				processMsg="" ev:submit="" ev:submitdone="" ev:submiterror="" abortTrigger="">
			</xf:submission>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<script type="text/javascript" lazy="false"><![CDATA[
scwin.onpageload = function () {
	dma_search.set("IS_USE", "Y");
	com.win.setEnterKeyEvent(tbl_search, scwin.btn_search_onclick);
	com.util.setGridViewDelCheckBox([grd_sample]);
};

/**
 * 화면 초기화 데이터가 모두 로딩되면 발생하는 이벤트
 */
scwin.ondataload = function () {
	com.sbm.execute(sbm_searchSample);
};

scwin.btn_search_onclick = function () {
	com.sbm.execute(sbm_searchSample);
};

scwin.btn_add_onclick = function () {

	var sampleCnt = dlt_sample.getTotalRow();
	if (sampleCnt == 0) {
		com.win.alert("조회 후 이용하세요.");
		return;
	} else if (com.util.isEmpty(dma_search.get("IS_USE", "")) === false) {
		com.win.alert("사용여부를 전체로 검색한 후에 등록을 수행해야 합니다.");
		return;
	}

	if (grd_sample.getFocusedRealRowIndex() === -1) {
		grd_sample.setFocusedCell(0, "SAMPLE_CD");
	}
	var currSampleNm = dlt_sample.getCellData(grd_sample.getFocusedRealRowIndex(), "SAMPLE_NM");
	var currSampleLevel = com.num.parseInt(dlt_sample.getCellData(grd_sample.getFocusedRealRowIndex(), "SAMPLE_LEVEL"));
	if (sampleCnt != "0" && grd_sample.getFocusedRowIndex() == "-1") {
		com.win.alert("샘플코드를 클릭하셔야 합니다.");
	} else {
		if (currSampleLevel < 2) {
			scwin.selectLevel(currSampleNm);
		} else {
			scwin.equalLevel();
		}
	}
};

/**
 * 샘플레벨이 1 또는 2일 경우에 실행되는 함수 Yes, No에 따라서 하위에 만들 것인지, 동일한 레벨로 만들 것인지 결정한다.
 */
scwin.selectLevel = function (returnValue) {
	grd_sample.spanAll(true);
	com.win.confirm(returnValue + " " + com.data.getMessage("MSG_CM_00030"), "scwin.selectLevelCallbak");
};

scwin.selectLevelCallbak = function (res) {
	if (res.clickValue === true) {
		scwin.lowerLevel();
	} else {
		scwin.equalLevel();
	}
};

/**
 * 하위 레벨의 노드에 샘플을 추가한다.
 */
scwin.lowerLevel = function () {
	var focusedRowIndex = grd_sample.getFocusedRealRowIndex();
	var parentOrgCd = dlt_sample.getCellData(focusedRowIndex, "SAMPLE_CD");
	var orgLevel = com.num.parseInt(dlt_sample.getCellData(focusedRowIndex, "SAMPLE_LEVEL")) + 1;
	var sortOrder = 1;
	var insertRowIndex = scwin.getInsertRowIndex(parentOrgCd);

	if (insertRowIndex === -1) {
		insertRowIndex = focusedRowIndex + 1;
	}
	var orgCd = scwin.getInsertRowOrgCd(parentOrgCd, orgLevel, true);

	var isUse = "Y";
	if (dma_search.get("IS_USE") == "N") {
		isUse = "N";
	}

	var insertJson = [{ "SAMPLE_CD": orgCd, "PARENT_SAMPLE_CD": parentOrgCd, "SAMPLE_LEVEL": orgLevel, "SORT_ORDER": sortOrder, "IS_USE": isUse }];
	dlt_sample.insertJSON(insertRowIndex, insertJson);
	grd_sample.setFocusedCell(insertRowIndex, "SAMPLE_NM", true);
};

/**
 * 같은 레벨의 노트에 샘플을 추가한다.
 */
scwin.equalLevel = function () {
	var focusedRowIndex = grd_sample.getFocusedRealRowIndex();
	var parentOrgCd = dlt_sample.getCellData(focusedRowIndex, "PARENT_SAMPLE_CD");
	var rowIndexArr = dlt_sample.getMatchedIndex("PARENT_SAMPLE_CD", parentOrgCd, true, 0, dlt_sample.getRowCount());
	var orgLevel = com.num.parseInt(dlt_sample.getCellData(rowIndexArr[rowIndexArr.length - 1], "SAMPLE_LEVEL"));
	var sortOrder = com.num.parseInt(dlt_sample.getCellData(rowIndexArr[rowIndexArr.length - 1], "SORT_ORDER")) + 1;
	var insertRowIndex = scwin.getInsertRowIndex(parentOrgCd);
	var orgCd = scwin.getInsertRowOrgCd(parentOrgCd, orgLevel, false);

	var isUse = "Y";
	if (dma_search.get("IS_USE") == "N") {
		isUse = "N";
	}

	var insertJson = [{ "SAMPLE_CD": orgCd, "PARENT_SAMPLE_CD": parentOrgCd, "SAMPLE_LEVEL": orgLevel, "SORT_ORDER": sortOrder, "IS_USE": isUse }];

	dlt_sample.insertJSON(insertRowIndex, insertJson);
	grd_sample.setFocusedCell(insertRowIndex, "SAMPLE_CD");
	grd_sample.setFocusedCell(insertRowIndex, "SAMPLE_NM", true);
};

/**
 * 새로 추가되는 샘플의 샘플 코드를 반환한다.
 */
scwin.getInsertRowOrgCd = function (parentOrgCd, orgLevel, isBottom) {
	var OrgCdArr = dlt_sample.getMatchedColumnData("PARENT_SAMPLE_CD", parentOrgCd, "SAMPLE_CD", true, 0, dlt_sample.getRowCount());

	if (OrgCdArr.length > 0) {
		var lastOrgCd = OrgCdArr[OrgCdArr.length - 1];
		var nodeIndex = (orgLevel - 1) * 3;
		var preNodeCd = lastOrgCd.substr(nodeIndex, 3);
		var newNodeCd = com.str.lpad(com.num.parseInt(preNodeCd) + 1, 3, "0");
		return lastOrgCd.substr(0, nodeIndex) + lastOrgCd.substr(nodeIndex).replace(preNodeCd, newNodeCd);
	} else {
		if (isBottom) {
			var nodeIndex = parentOrgCd.indexOf("000");
			return parentOrgCd.substr(0, nodeIndex) + parentOrgCd.substr(nodeIndex).replace("000", "001");
		} else {
			var nodeIndex = parentOrgCd.indexOf("000");
			var preNodeCd = parentOrgCd.substr(nodeIndex, 3);
			var newNodeCd = com.str.lpad(com.num.parseInt(preNodeCd) + 1, 3, "0");
			return parentOrgCd.substr(0, nodeIndex) + parentOrgCd.substr(nodeIndex).replace(preNodeCd, newNodeCd);
		}
	}
};

/**
 * 새로 추가되는 샘플으로 RowIndex를 반환한다.
 */
scwin.getInsertRowIndex = function (parentOrgCd) {
	var rowIndexArr = dlt_sample.getMatchedIndex("PARENT_SAMPLE_CD", parentOrgCd, true, 0, dlt_sample.getRowCount());
	if (rowIndexArr.length > 0) {
		var lastOrgCd = dlt_sample.getCellData(rowIndexArr[rowIndexArr.length - 1], "SAMPLE_CD");
		var rowIndex = scwin.getInsertRowIndex(lastOrgCd);
		if (rowIndex !== -1) {
			return rowIndex;
		} else {
			return rowIndexArr[rowIndexArr.length - 1] + 1;
		}
	} else {
		return -1;
	}
};

scwin.btn_cancel_onclick = function () {
	dlt_sample.undoAll();
	dlt_sample.removeRows(dlt_sample.getInsertedIndex());
};

scwin.btn_save_onclick = function () {
	var valInfo = [{ id: "SAMPLE_CD", mandatory: true },
	{ id: "SAMPLE_NM", mandatory: true }];

	if (com.data.isModified(dlt_sample)) {
		if (com.data.validateGridView(grd_sample, valInfo)) {
			com.win.confirm(com.data.getMessage("MSG_CM_00001"), function (res) {
				if (res.clickValue === true) {
					com.sbm.execute(sbm_saveSample);
				}
			});
		}
	} else {
		com.win.alert(com.data.getMessage("MSG_CM_00005"));
	}
};

scwin.btn_excel_onclick = function () {
	com.data.downloadGridViewExcel(grd_sample);
};

scwin.sbm_searchSample_submitdone = function (e) {
	spn_sampleCnt.setValue(dlt_sample.getRowCount());
};

scwin.grd_sample_oncelldblclick = function (row, col) {
	if (dlt_sample.getColumnID(col) == "SAMPLE_CD") {
		scwin.openSample(row, col);
	}
};

scwin.openSample = function (rowIndex, colId, nowValue) {
	var sampleCd = dlt_sample.getCellData(rowIndex, "SAMPLE_CD");
	var sampleNm = dlt_sample.getCellData(rowIndex, "SAMPLE_NM");
	var filePath = dlt_sample.getCellData(rowIndex, "FILE_PATH");

	if (filePath !== "") {
		if ((sampleCd === "007002000") && (gcm.util.getUserAgent() === "msie")) {
			com.win.alert(com.data.getMessage("MSG_CM_00051"));
		} else  {
			var option = {
				menuType: "SP",
				isHistory: false
			};
			com.win.openMenu(sampleNm, filePath, sampleCd, null, option);
		}
	}
};

scwin.displayImage = function (data, formattedData, rowIndex, colIndex) {
	var realRowIndex = dlt_sample.getRealRowIndex(rowIndex);
	var cellData = dlt_sample.getCellData(realRowIndex, "FILE_PATH");
	if (cellData != "") {
		return "<img src='cm/images/base/g_btn_play.png' style='cursor:pointer;'/>";
	} else {
		return "";
	}
};

scwin.grd_sample_oncellclick = function (rowIndex, colIndex) {
	if (colIndex == 3) {
		var realRowIndex = dlt_sample.getRealRowIndex(rowIndex);
		var filePath = dlt_sample.getCellData(realRowIndex, "FILE_PATH");
		if (filePath != "") {
			scwin.openSample(realRowIndex);
		}
	}
};

scwin.grp_content_onclick = function (e) {
	// GridView 안에서 Click 이벤트가 발생할 경우 화면 레이아웃 영역 밖으로 이벤트가 전파되지 않도록 막음
	e.stopPropagation();
};
]]></script>
	</head>
	<body ev:onpageload="scwin.onpageload">
		<xf:group class="sub_contents flex_gvw" id="grp_content" style="" ev:onclick="scwin.grp_content_onclick">
			<w2:wframe id="" src="../../cm/xml/contentHeader.xml" style=""></w2:wframe>
			<xf:group class="shbox" id="" style="">
				<xf:group class="shbox_inner" id="" style="">
					<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="tbl_search" style="width:100%;" tagname="table">
						<w2:attributes>
							<w2:summary></w2:summary>
						</w2:attributes>
						<xf:group tagname="colgroup">
							<xf:group style="width:100px;" tagname="col"></xf:group>
							<xf:group style="" tagname="col"></xf:group>
						</xf:group>
						<xf:group style="" tagname="tr">
							<xf:group class="w2tb_th " style="" tagname="th">
								<w2:textbox class="req" id="" label="검색항목" style=""></w2:textbox>
							</xf:group>
							<xf:group class="w2tb_td" style="" tagname="td">
								<xf:input enterBlur="" id="input1" mandatory="true" ref="data:dma_search.KEYWORD" style="width:100px;"
									placeholder="샘플명" class="">
								</xf:input>
								<xf:select1 allOption="" appearance="minimal" chooseOption="" class="" direction="auto" disabled="false"
									disabledClass="w2selectbox_disabled" id="" ref="data:dma_search.IS_USE" style="width:150px;"
									submenuSize="auto" selectedData="" refreshSelectedIndex="">
									<xf:choices>
										<xf:item>
											<xf:label><![CDATA[전체]]></xf:label>
											<xf:value><![CDATA[]]>
											</xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[사용]]></xf:label>
											<xf:value><![CDATA[Y]]></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[미사용]]></xf:label>
											<xf:value><![CDATA[N]]></xf:value>
										</xf:item>
									</xf:choices>
								</xf:select1>
							</xf:group>
						</xf:group>
					</xf:group>
				</xf:group>
				<xf:group class="btn_shbox" id="" style="">
					<xf:trigger class="btn_cm sch" disabled="" id="btn_search" style="" type="button" ev:onclick="scwin.btn_search_onclick">
						<xf:label><![CDATA[조회]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group style="" id="" class="dfbox">
				<w2:textbox label="샘플화면 목록" style="" id="" class="" tagname="h3"></w2:textbox>
				<xf:group style="" id="" class="fr">
					<w2:textbox class="sum" id="spn_sampleCnt" label="0" style=""></w2:textbox>
					<w2:textbox class="" id="" label="건" style=""></w2:textbox>
					<xf:trigger type="button" style="" id="btn_add" class="btn_cm " ev:onclick="scwin.btn_add_onclick">
						<xf:label><![CDATA[등록]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm" id="btn_cancel" style="" type="button" ev:onclick="scwin.btn_cancel_onclick">
						<xf:label><![CDATA[취소]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm download" id="btn_excel" style="" type="button" ev:onclick="scwin.btn_excel_onclick">
						<xf:label><![CDATA[엑셀다운로드]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group adaptiveThreshold="" class="gvwbox wq_flx" id="" style="">
				<w2:gridView autoFit="allColumn" class="wq_gvw" dataList="data:dlt_sample" editModeEvent=""
					ev:oncellclick="scwin.grd_sample_oncellclick" ev:oncelldblclick="scwin.grd_sample_oncelldblclick"
					fixedColumnWithHidden="true" id="grd_sample" ignoreCellClick="false" rowNumVisible="true"
					rowStatusHeaderValue="상태" rowStatusVisible="true" rowStatusWidth="" scrollByColumn="false" style="height:431px;" useShiftKey="true"
					rowNumHeaderValue="순서" sortable="false" defaultCellHeight="26" keepDefaultColumnWidth="true" rowNumWidth="50" focusMode="row" autoFitMinWidth="800">
					<w2:caption id="caption1" style="" value="this is a grid caption."></w2:caption>
					<w2:header id="header1" style="">
						<w2:row id="row1" style="">
							<w2:column blockSelect="false" displayMode="label" fixColumnWidth="true" id="chk" inputType="checkbox"
								removeBorderStyle="false" style="height:25px;" value="선택" width="50" checkboxLabel="선택">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column19" inputType="text" removeBorderStyle="false"
								style="" value="샘플코드" width="94">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column17" inputType="text" removeBorderStyle="false"
								style="" value="샘플명" width="200">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column22" inputType="text" removeBorderStyle="false"
								style="" value="실행" width="40">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column9" inputType="text" removeBorderStyle="false"
								style="" value="사용여부" width="65">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column7" inputType="text" removeBorderStyle="false"
								style="" value="샘플소스경로" width="270">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column5" inputType="text" removeBorderStyle="false"
								style="" value="샘플설명" width="176">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column3" inputType="text" removeBorderStyle="false"
								style="" value="검색키워드" width="102">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column1" inputType="text" removeBorderStyle="false"
								style="" value="비고" width="73">
							</w2:column>
						</w2:row>
					</w2:header>
					<w2:gBody id="gBody1" style="">
						<w2:row id="row2" style="">
							<w2:column blockSelect="false" displayMode="label" id="chk" inputType="checkbox" removeBorderStyle="false"
								style="height:25px;" width="70" checkboxLabel="선택">
							</w2:column>
							<w2:column blockSelect="false" class="req" displayMode="label" fixColumnWidth="true" id="SAMPLE_CD"
								inputType="text" readOnly="true" removeBorderStyle="false" style="" width="90">
							</w2:column>
							<w2:column blockSelect="false" class="req" depthColumn="SAMPLE_LEVEL" depthType="div" displayMode="label"
								id="SAMPLE_NM" inputType="drilldown" removeBorderStyle="false" showDepth="2" style="" textAlign="left" width="200">
							</w2:column>
							<w2:column blockSelect="false" customFormatter="scwin.displayImage" displayMode="label" fixColumnWidth="true"
								id="open" imageHeight="20" imageWidth="20" readOnly="true" removeBorderStyle="false" style="" width="40"
								imageSrc="/cm/images/base/g_btn_play.png">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" falseValue="N" fixColumnWidth="true" id="IS_USE"
								inputType="checkbox" removeBorderStyle="false" style="" trueValue="Y" valueType="other" width="65" checkboxLabel="선택">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="FILE_PATH" inputType="text" removeBorderStyle="false"
								style="" textAlign="left" width="270">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="CONTENT" inputType="text" removeBorderStyle="false"
								style="" textAlign="left" width="176">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="KEYWORD" inputType="text" removeBorderStyle="false"
								style="" textAlign="left" width="102">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="NOTE" inputType="text" removeBorderStyle="false"
								style="" textAlign="left" width="73">
							</w2:column>
						</w2:row>
					</w2:gBody>
				</w2:gridView>
			</xf:group>
			<xf:group class="btnbox" id="" style="">
				<xf:group class="fr" id="" style="">
					<xf:trigger class="btn_cm pt" id="btn_save" style="" type="button" ev:onclick="scwin.btn_save_onclick">
						<xf:label><![CDATA[저장]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
		</xf:group>
	</body>
</html>


<?xml version="1.0" encoding="UTF-8"?>

		<w2:type>COMPONENT</w2:type>
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataMap baseNode="map" id="dma_fileDesc">
					<w2:keyInfo>
						<w2:key id="desc" name="파일 설명" dataType="text"></w2:key>
						<w2:key id="test" name="파일 테스트 방법" dataType="text"></w2:key>
					</w2:keyInfo>
					<w2:data use="true">
						<desc><![CDATA[

동적 submission을 사용하는 화면이다.
공통 개발자가 개발자가 공통 요소 관리를 위한 용도로 사용한다.

동적 submission 생성

  - 아래와 같은 공통함수를 통하여 동적으로 submission을 생성할 수 있다.
  예) var searchCodeGrpOption = { id : "sbm_SelectTempDynamic",
							  action : "/sample/tempSelect",
								 ref : "data:json,dma_search",
							  target : 'data:json,{"id":"dlt_temp","key":"dlt_temp"}',
				   submitDoneHandler : scwin.sbm_SelectTemp_submitdone, isProcessMsg : false };
	  com.sbm.executeDynamic(searchCodeGrpOption);

						]]></desc>
						<test><![CDATA[

1. 과정

- 아래와 같이 동적으로 생성한 submission을 실행한다.
  com.sbm.executeDynamic(searchCodeGrpOption);

2. 결과

- 동적 submission을 통해 실행된 결과가 gridView에 표현된다.

						]]></test>
					</w2:data>
				</w2:dataMap>
				<w2:dataMap id="dma_search">
					<w2:keyInfo>
						<w2:key id="CUST_NM" name="CUST_NM" dataType="text"></w2:key>
						<w2:key id="SHIP_TO_SIDO" name="시도" dataType="text"></w2:key>
						<w2:key id="SHIP_TO_SIGUNGU" name="SHIP_TO_SIGUNGU" dataType="text"></w2:key>
					</w2:keyInfo>
				</w2:dataMap>
				<w2:dataList id="dlt_temp" baseNode="list" saveRemovedData="true" repeatNode="map">
					<w2:columnInfo>
						<w2:column id="id" name="id" dataType="text"></w2:column>
						<w2:column id="SEQ" name="SEQ" dataType="text"></w2:column>
						<w2:column id="CUST_NM" name="CUST_NM" dataType="text"></w2:column>
						<w2:column id="SHIP_TO_SIDO" name="SHIP_TO_SIDO" dataType="text"></w2:column>
						<w2:column id="SHIP_TO_SIGUNGU" name="SHIP_TO_SIGUNGU" dataType="text"></w2:column>
						<w2:column id="SHIP_TO_STREET" name="SHIP_TO_STREET" dataType="text"></w2:column>
					</w2:columnInfo>
				</w2:dataList>
			</w2:dataCollection>
			<w2:workflowCollection></w2:workflowCollection>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<xf:group class="sub_contents flex_gvw" id="" style="">
			<w2:wframe id="" style="" src="../../cm/xml/contentHeader.xml" scope=""></w2:wframe>
			<w2:wframe id="" src="../../cm/xml/contentDesc.xml" scope=""></w2:wframe>
			<xf:group class="shbox" id="" style="">
				<xf:group class="shbox_inner" id="" style="">
					<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb row1" id="grp_search" style="" tagname="table">
						<w2:attributes>
							<w2:summary></w2:summary>
						</w2:attributes>
						<xf:group tagname="colgroup">
							<xf:group style="width:110px;" tagname="col"></xf:group>
							<xf:group style="" tagname="col"></xf:group>
						</xf:group>
						<xf:group class="" id="" style="" tagname="tr">
							<xf:group class="w2tb_th" style="" tagname="th">
								<w2:textbox class="" id="" label="시도" style=""></w2:textbox>
							</xf:group>
							<xf:group class="w2tb_td" style="" tagname="td">
								<xf:input id="" ref="data:dma_search.SHIP_TO_SIDO" style="width:150px;" class="" mandatory="true" placeholder="충청북도" refSync="true"></xf:input>
							</xf:group>
						</xf:group>
						<xf:group class="" id="" style="" tagname="tr">
							<xf:group class="w2tb_th" style="" tagname="th">
								<w2:textbox class="" id="" label="기준년월" style=""></w2:textbox>
							</xf:group>
							<xf:group class="w2tb_td" style="" tagname="td">
								<xf:select1 allOption="" appearance="minimal" chooseOption="" class="w2selectbox" direction="auto" disabled="false"
									disabledClass="w2selectbox_disabled" id="" ref="" style="width:120px;" submenuSize="auto">
									<xf:choices>
										<xf:item>
											<xf:label><![CDATA[1월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[2월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[3월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[4월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[5월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[6월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[7월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[8월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[9월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[10월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[11월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[12월]]></xf:label>
											<xf:value></xf:value>
										</xf:item>
									</xf:choices>
								</xf:select1>
							</xf:group>
						</xf:group>
						<xf:group style="" tagname="tr">
							<xf:group class="w2tb_th" style="" tagname="th">
								<w2:textbox class="" id="" label="기준년월" style=""></w2:textbox>
							</xf:group>
							<xf:group class="w2tb_td" style="" tagname="td">
								<w2:inputCalendar calendarValueType="yearMonthDate" focusOnDateSelect="false" footerDiv="true" id=""
									renderDiv="true" renderType="native" rightAlign="false" style="width: 170px;">
								</w2:inputCalendar>
							</xf:group>
						</xf:group>
					</xf:group>
				</xf:group>
				<xf:group class="btn_shbox" id="" style="">
					<xf:trigger class="btn_cm sch" disabled="" id="btn_search" style="" type="button" ev:onclick="scwin.btn_search_onclick">
						<xf:label><![CDATA[조회]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group adaptiveThreshold="" class="gvwbox wq_flx" id="" style="">
				<w2:gridView autoFit="allColumn" class="wq_gvw"
					dataList="data:dlt_temp" editModeEvent="onclick" fixedColumnWithHidden="true" id="grd_customer" keyMoveEditMode="true" readOnly="a"
					rowNumVisible="true" rowStatusVisible="false" style="height:296px;" useShiftKey="true" defaultCellHeight="26" keepDefaultColumnWidth="true" rowNumWidth="50" rowStatusWidth="" rowStatusHeaderValue="상태" rowNumHeaderValue="No." autoFitMinWidth="900" scrollByColumn="true">
					<w2:header id="header1" style="">
						<w2:row id="row1" style="">
							<w2:column blockSelect="false" displayMode="label" id="column1" inputType="text" style="" value="사용자"
								width="195">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column3" inputType="text" style="" value="주소1"
								width="119">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column4" inputType="text" style="" value="주소2"
								width="317">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column6" inputType="text" style="" value="주소3"
								width="121">
							</w2:column>
						</w2:row>
					</w2:header>
					<w2:gBody id="gBody1" style="">
						<w2:row id="row2" style="">
							<w2:column blockSelect="false" displayMode="label" id="CUST_NM" inputType="text" style="" width="195">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="SHIP_TO_SIDO" inputType="text" style="" width="119" textAlign="left">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="SHIP_TO_SIGUNGU" inputType="text" style=""
								textAlign="left" width="317">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="SHIP_TO_STREET" inputType="text" style="" width="121" textAlign="left">
							</w2:column>
						</w2:row>
					</w2:gBody>
				</w2:gridView>

			</xf:group>

		</xf:group>


<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:w2="http://www.inswave.com/websquare"
	xmlns:xf="http://www.w3.org/2002/xforms">
	<head meta_programId="HM001M01" meta_programName="조직 관리" meta_programDesc="조직을 관리(등록,수정,삭제)하는 화면" meta_author="Inswave Systems" meta_date="2021.02.25">
		<w2:type>COMPONENT</w2:type>
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection baseNode="map">
				<w2:dataList id="dlt_organizationBasic" baseNode="list" saveRemovedData="true" repeatNode="map" ev:oncelldatachange="" undoRecursiveRow="true">
					<w2:columnInfo>
						<w2:column id="chk" name="선택" dataType="text" ignoreStatus="true"></w2:column>
						<w2:column id="ORG_CD" name="소속코드" dataType="text"></w2:column>
						<w2:column id="ORG_NM" name="소속명칭" dataType="text"></w2:column>
						<w2:column id="PARENT_ORG_CD" name="상위소속코드" dataType="text"></w2:column>
						<w2:column id="ORG_LEVEL" name="조직레벨" dataType="text"></w2:column>
						<w2:column id="SORT_ORDER" name="정렬순서" dataType="text"></w2:column>
						<w2:column id="ORG_CLASS_CD" name="조직구분" dataType="text"></w2:column>
						<w2:column id="ORG_ALIAS_NM" name="소속약칭" dataType="text"></w2:column>
						<w2:column id="ORG_EN_NM" name="소속영문명" dataType="text"></w2:column>
						<w2:column id="ORG_EN_ALIAS_NM" name="소속영문약명" dataType="text"></w2:column>
						<w2:column id="ORG_BOSS_EMP_NM" name="책임자" dataType="text"></w2:column><w2:column id="START_DATE" name="개설일" dataType="text"></w2:column>
						<w2:column id="END_DATE" name="폐쇄일" dataType="text"></w2:column>
						<w2:column id="NOTE" name="비고" dataType="text"></w2:column>
						<w2:column id="PARENT_ORG_NM" name="상위소속명" dataType="text"></w2:column>
					<w2:column id="ORG_BOSS_EMP_CD" name="책임자코드" dataType="text"></w2:column></w2:columnInfo>
				</w2:dataList>
				<w2:dataList id="dlt_organizationBoss" baseNode="list" saveRemovedData="true" repeatNode="map">
					<w2:columnInfo>
						<w2:column id="EMP_CD" name="사원코드" dataType="text"></w2:column>
						<w2:column id="EMP_NM" name="사원명" dataType="text"></w2:column>
					</w2:columnInfo>
					<w2:data></w2:data>
				</w2:dataList>
				<w2:dataMap baseNode="map" id="dma_search">
					<w2:keyInfo>
						<w2:key id="TYPE" name="name1" dataType="text"></w2:key>
						<w2:key id="CONTENT" name="name2" dataType="text"></w2:key>
						<w2:key id="IS_USE" name="name3" dataType="text"></w2:key>
					</w2:keyInfo>
				</w2:dataMap>
				<w2:dataList id="dlt_organizationSearchItem" baseNode="list" saveRemovedData="true" repeatNode="map">
					<w2:columnInfo>
						<w2:column id="ORG_CD" name="name1" dataType="text"></w2:column>
						<w2:column id="ORG_NM" name="name2" dataType="text"></w2:column>
						<w2:column id="PARENT_ORG_CD" name="name3" dataType="text"></w2:column>
						<w2:column id="PARENT_ORG_NM" name="name4" dataType="text"></w2:column>
					</w2:columnInfo>
				</w2:dataList>
			</w2:dataCollection>
			<w2:workflowCollection></w2:workflowCollection>
			<xf:submission id="sbm_searchOrganization" ref="data:json,dma_search" target='data:json,dlt_organizationBasic'
				action="/organization/searchOrganization" method="post" mediatype="application/json" encoding="UTF-8" instance="" replace="" errorHandler=""
				customHandler="" mode="asynchronous" processMsg="" ev:submit="" ev:submitdone="scwin.sbm_searchOrganization_submitdone" ev:submiterror="" abortTrigger="">
			</xf:submission>
			<xf:submission id="sbm_saveOrganizationBasic" ref='data:json,{"id":"dlt_organizationBasic","action":"modified"}'
				target="data:json,dlt_organizationBasic" action="/organization/updateOrganizationBasic" method="post" mediatype="application/json" encoding="UTF-8"
				instance="" replace="" errorHandler="" customHandler="" mode="asynchronous" processMsg="저장중 입니다..." ev:submit=""
				ev:submitdone="scwin.sbm_saveOrganizationBasic_submitdone" ev:submiterror="" abortTrigger="">
			</xf:submission>
			<xf:submission id="sbm_organizationSearchItem" ref="" target='data:json,["dlt_organizationSearchItem","dlt_organizationBoss"]' action="/organization/selectOrganizaionSearchItem"
				method="post" mediatype="application/json" encoding="UTF-8" instance="" replace="" errorHandler="" customHandler="" mode="asynchronous" processMsg=""
				ev:submit="" ev:submitdone="" ev:submiterror="" abortTrigger="">
			</xf:submission>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<script type="text/javascript" lazy="false"><![CDATA[
/**
 * 초기 스크립트 수행 함수 정의
 */
scwin.onpageload = function () {
	var codeOptions = [{ "code": "00020", "compID": "sbx_OrgClassCd, grd_organizationBasic:ORG_CLASS_CD" }];
	com.data.setCommonCode(codeOptions);
	com.sbm.execute(sbm_organizationSearchItem);
	com.win.setEnterKeyEvent(tbl_search, scwin.btn_search_onclick);
	com.util.setGridViewDelCheckBox(grd_organizationBasic);
	com.data.setChangeCheckedDc(dlt_organizationBasic);
};

/**
 * 화면 초기화 데이터가 모두 로딩되면 발생하는 이벤트
 */
scwin.ondataload = function () {
	scwin.btn_search_onclick();
};

/**
 * 조회된 건수와 조직 레벨에 따른 소속명칭, 상위소속명의 폰트색을 변경한다.
 * Level 1 : #E74C3C  (붉은색) Level 2 : #1FCC25  (초록색) Level 3 : #348FE2  (파란색)
 */
scwin.setFontFormat = function (data, fData, rowIndex, colIndex) {
	var val_level = dlt_organizationBasic.getCellData(rowIndex, "ORG_LEVEL");
	if (val_level == "1") {
		grd_organizationBasic.setCellColor(rowIndex, "ORG_NM", "#E74C3C ");
		grd_organizationBasic.setCellColor(rowIndex, "PARENT_ORG_NM", "#E74C3C ");
	} else if (val_level == "2") {
		grd_organizationBasic.setCellColor(rowIndex, "ORG_NM", "#1FCC25 ");
		grd_organizationBasic.setCellColor(rowIndex, "PARENT_ORG_NM", "#1FCC25 ");
	} else if (val_level == "3") {
		grd_organizationBasic.setCellColor(rowIndex, "ORG_NM", "#348FE2 ");
		grd_organizationBasic.setCellColor(rowIndex, "PARENT_ORG_NM", "#348FE2 ");
	}
	return fData;
};

/**
 * 검색항목(selectBox)의 내용이 변경되었을 때 실행된다
 */
scwin.sbx_choiceBox_onviewchange = function (info) {
	if (info.newValue == "ORG_CD") {
		acb_autoChoiceBox.setNodeSet("data:dlt_organizationSearchItem", "ORG_CD", "ORG_CD");
		sbx_parentCd.hide();
		acb_autoChoiceBox.show("");
	} else if (info.newValue == "ORG_NM") {
		acb_autoChoiceBox.setNodeSet("data:dlt_organizationSearchItem", "ORG_NM", "ORG_NM");
		sbx_parentCd.hide();
		acb_autoChoiceBox.show("");
	} else if (info.newValue == "ORG_BOSS_EMP_CD") {
		acb_autoChoiceBox.setNodeSet("data:dlt_organizationBoss", "EMP_NM", "EMP_CD");
		sbx_parentCd.hide();
		acb_autoChoiceBox.show("");
	} else if (info.newValue == "PARENT_ORG_CD") {
		acb_autoChoiceBox.hide();
		sbx_parentCd.show("");
	}
};

/**
 * 조직기본관리 조회버튼 클릭시 발생하며, 조건에 따른 조직기본관리 리스트를 조회한다.
 */
scwin.btn_search_onclick = function () {
	if (sbx_choiceBox.getValue() == "PARENT_ORG_CD") {
		dma_search.set("CONTENT", sbx_parentCd.getValue());
	} else {
		dma_search.set("CONTENT", acb_autoChoiceBox.getValue());
	}
	com.sbm.execute(sbm_searchOrganization);
};

/**
 * 조직기본관리 버튼 클릭의 콜백메소드 건수 조회, ReadOnly 그리드뷰 컬럼색 변경, 조직 레벨에 따른 소속명칭, 상위소속명의 폰트색을 변경한다.
 */
scwin.sbm_searchOrganization_submitdone = function (e) {
	spn_organizationCnt.setValue(dlt_organizationBasic.getRowCount());
};

/**
 * 조직기본관리 등록 버튼 클릭
 */
scwin.btn_addOrganization_onclick = function () {
	var org_cnt = dlt_organizationBasic.getTotalRow();
	if (org_cnt == 0) {
		com.win.alert(com.data.getMessage("MSG_CM_00022"));
		return;
	}

	if (grd_organizationBasic.getFocusedRealRowIndex() === -1) {
		grd_organizationBasic.setFocusedCell(0, "ORG_CD");
	}
	var currOrgNm = dlt_organizationBasic.getCellData(grd_organizationBasic.getFocusedRealRowIndex(), "ORG_NM");
	var currOrgLevel = com.num.parseInt(dlt_organizationBasic.getCellData(grd_organizationBasic.getFocusedRealRowIndex(), "ORG_LEVEL"));
	if (org_cnt != "0" && grd_organizationBasic.getFocusedRowIndex() == "-1") {
		com.win.alert(com.data.getMessage("MSG_CM_00040"));
	} else {
		if (currOrgLevel < 3) {
			scwin.selectLevel(currOrgNm);
		} else {
			scwin.equalLevel();
		}
	}
};

/**
 * 조직레벨이 1 또는 2일 경우에 실행되는 함수 Yes, No에 따라서 하위에 만들 것인지, 동일한 레벨로 만들 것인지 결정한다.
 */
scwin.selectLevel = function (returnValue) {
	grd_organizationBasic.spanAll(true);
	com.win.confirm(returnValue + " " + com.data.getMessage("MSG_CM_00030"), "scwin.selectLevelCallbak");
};

scwin.selectLevelCallbak = function (res) {
	if (res.clickValue === true) {
		scwin.lowerLevel();
	} else {
		scwin.equalLevel();
	}
};

/**
 * 하위 레벨의 노드에 조직을 추가한다.
 */
scwin.lowerLevel = function () {
	var focusedRowIndex = grd_organizationBasic.getFocusedRealRowIndex();
	var parentOrgCd = dlt_organizationBasic.getCellData(focusedRowIndex, "ORG_CD");
	var orgLevel = com.num.parseInt(dlt_organizationBasic.getCellData(focusedRowIndex, "ORG_LEVEL")) + 1;
	var sortOrder = 1;
	var insertRowIndex = scwin.getInsertRowIndex(parentOrgCd);

	if (insertRowIndex === -1) {
		insertRowIndex = focusedRowIndex + 1;
	}
	var orgCd = scwin.getInsertRowOrgCd(parentOrgCd, orgLevel, true);

	var insertJson = [{ "ORG_CD": orgCd, "PARENT_ORG_CD": parentOrgCd, "ORG_LEVEL": orgLevel, "SORT_ORDER": sortOrder }];
	dlt_organizationBasic.insertJSON(insertRowIndex, insertJson);
	grd_organizationBasic.setFocusedCell(insertRowIndex, "ORG_CD");
	ibx_orgNm.focus();
};

/**
 * 같은 레벨의 노트에 조직을 추가한다.
 */
scwin.equalLevel = function () {
	var focusedRowIndex = grd_organizationBasic.getFocusedRealRowIndex();
	var parentOrgCd = dlt_organizationBasic.getCellData(focusedRowIndex, "PARENT_ORG_CD");
	var rowIndexArr = dlt_organizationBasic.getMatchedIndex("PARENT_ORG_CD", parentOrgCd, true, 0, dlt_organizationBasic.getRowCount());
	var orgLevel = com.num.parseInt(dlt_organizationBasic.getCellData(rowIndexArr[rowIndexArr.length - 1], "ORG_LEVEL"));
	var sortOrder = com.num.parseInt(dlt_organizationBasic.getCellData(rowIndexArr[rowIndexArr.length - 1], "SORT_ORDER")) + 1;
	var insertRowIndex = scwin.getInsertRowIndex(parentOrgCd);
	var orgCd = scwin.getInsertRowOrgCd(parentOrgCd, orgLevel, false);

	var insertJson = [{ "ORG_CD": orgCd, "PARENT_ORG_CD": parentOrgCd, "ORG_LEVEL": orgLevel, "SORT_ORDER": sortOrder }];

	dlt_organizationBasic.insertJSON(insertRowIndex, insertJson);
	grd_organizationBasic.setFocusedCell(insertRowIndex, "ORG_CD");
	ibx_orgNm.focus();
};

/**
 * 새로 추가되는 조직의 조직 코드를 반환한다.
 */
scwin.getInsertRowOrgCd = function (parentOrgCd, orgLevel, isBottom) {
	var OrgCdArr = dlt_organizationBasic.getMatchedColumnData("PARENT_ORG_CD", parentOrgCd, "ORG_CD", true, 0, dlt_organizationBasic.getRowCount());

	if (OrgCdArr.length > 0) {
		var lastOrgCd = OrgCdArr[OrgCdArr.length - 1];
		var nodeIndex = (orgLevel - 1) * 2;
		var preNodeCd = lastOrgCd.substr(nodeIndex, 2);
		var newNodeCd = com.str.lpad(com.num.parseInt(preNodeCd) + 1, 2, "0");
		return lastOrgCd.substr(0, nodeIndex) + lastOrgCd.substr(nodeIndex).replace(preNodeCd, newNodeCd);
	} else {
		if (isBottom) {
			var nodeIndex = parentOrgCd.indexOf("00");
			return parentOrgCd.substr(0, nodeIndex) + parentOrgCd.substr(nodeIndex).replace("00", "01");
		} else {
			var nodeIndex = parentOrgCd.indexOf("00");
			var preNodeCd = parentOrgCd.substr(nodeIndex, 2);
			var newNodeCd = com.str.lpad(com.num.parseInt(preNodeCd) + 1, 2, "0");
			return parentOrgCd.substr(0, nodeIndex) + parentOrgCd.substr(nodeIndex).replace(preNodeCd, newNodeCd);
		}
	}
};

/**
 * 새로 추가되는 조직으로 RowIndex를 반환한다.
 */
scwin.getInsertRowIndex = function (parentOrgCd) {
	var rowIndexArr = dlt_organizationBasic.getMatchedIndex("PARENT_ORG_CD", parentOrgCd, true, 0, dlt_organizationBasic.getRowCount());
	if (rowIndexArr.length > 0) {
		var lastOrgCd = dlt_organizationBasic.getCellData(rowIndexArr[rowIndexArr.length - 1], "ORG_CD");
		var rowIndex = scwin.getInsertRowIndex(lastOrgCd);
		if (rowIndex !== -1) {
			return rowIndex;
		} else {
			return rowIndexArr[rowIndexArr.length - 1] + 1;
		}
	} else {
		return -1;
	}
};

/**
 * 조직기본관리 삭제 버튼 클릭
 */
scwin.btn_delOrganization_onclick = function () {
	dlt_organizationBasic.deleteRows(grd_organizationBasic.getCheckedIndex("chk"));
};

/**
 * 조직기본관리 취소 버튼 클릭
 */
scwin.btn_cancelOrganization_onclick = function () {
	com.data.undoGridView(grd_organizationBasic);
};

/**
 * 조직기본관리 저장 버튼 클릭
 */
scwin.btn_saveOrganization_onclick = function () {
	if (com.data.isModified(dlt_organizationBasic)) {
		if (com.data.validateGroup(grp_organizationBasic)) {
			com.win.confirm(com.data.getMessage("MSG_CM_00031"), function (res) {
				if (res.clickValue === true) {
					com.sbm.execute(sbm_saveOrganizationBasic);
				}
			});
		}
	} else {
		com.win.alert(com.data.getMessage("MSG_CM_00032"));
	}
};

scwin.btn_excelOrganization_onclick = function () {
	com.data.downloadGridViewExcel(grd_organizationBasic);
};

scwin.sbm_saveOrganizationBasic_submitdone = function (e) {
	if (com.sbm.getResultCode(e) == gcm.MESSAGE_CODE.STATUS_SUCCESS) {
		scwin.btn_search_onclick();
	}
};
]]></script>
	</head>
	<body ev:onpageload="scwin.onpageload">
		<xf:group class="sub_contents flex_gvw" id="" style="">
			<w2:wframe id="" style="" src="../../cm/xml/contentHeader.xml" scope="true"></w2:wframe>
			<xf:group class="shbox" id="" style="">
				<xf:group class="shbox_inner" id="tbl_search" style="">
					<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="" style="width:100%;" tagname="table">
						<w2:attributes>
							<w2:summary></w2:summary>
						</w2:attributes>
						<xf:group tagname="colgroup">
							<xf:group style="width:100px;" tagname="col"></xf:group>
							<xf:group style="" tagname="col"></xf:group>
						</xf:group>
						<xf:group style="" tagname="tr">
							<xf:group class="w2tb_th " style="" tagname="th">
								<w2:textbox class="req" id="" label="검색항목" style=""></w2:textbox>
							</xf:group>
							<xf:group class="w2tb_td" style="" tagname="td">
								<xf:select1 ref="data:dma_search.TYPE" submenuSize="auto" appearance="minimal"
									disabledClass="w2selectbox_disabled" chooseOption="" disabled="false" style="width:100px;" allOption="" id="sbx_choiceBox"
									class="" direction="auto" ev:onviewchange="scwin.sbx_choiceBox_onviewchange">
									<xf:choices>
										<xf:item>
											<xf:label><![CDATA[소속명칭]]></xf:label>
											<xf:value><![CDATA[ORG_NM]]></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[소속코드]]></xf:label>
											<xf:value><![CDATA[ORG_CD]]></xf:value>
										</xf:item>
										<xf:item>
											<xf:label><![CDATA[책임자]]></xf:label>
											<xf:value><![CDATA[ORG_BOSS_EMP_CD]]></xf:value>
										</xf:item>
									</xf:choices>
								</xf:select1>
								<xf:select1 allOption="" appearance="minimal" chooseOption="" class="" direction="auto" disabled="false"
									disabledClass="w2selectbox_disabled" id="sbx_parentCd" ref=""  style="width:150px;display:none"
									submenuSize="auto">
									<xf:choices>
										<xf:itemset nodeset="data:dlt_organizationSearchItem">
											<xf:label ref="PARENT_ORG_NM"></xf:label>
											<xf:value ref="PARENT_ORG_CD"></xf:value>
										</xf:itemset>
									</xf:choices>
								</xf:select1>
								<w2:autoComplete allOption="" caseSensitive="false" chooseOption="true" chooseOptionLabel="-전체-"
									chooseOptionValue="" class="" displayMode="label" editType="select" emptyItem="" emptyValue="" ev:onchange="" ev:onviewchange=""
									id="acb_autoChoiceBox" interactionMode="" noResult="useData" ref="data:dma_search.CONTENT" search="start" selectedData=""
									style="width: 200px;" submenuSize="auto" textAlign="left" useKeywordHighlight="false">
									<w2:choices>
										<w2:itemset nodeset="data:dlt_organizationSearchItem">
											<w2:label ref="ORG_NM"></w2:label>
											<w2:value ref="ORG_NM"></w2:value>
										</w2:itemset>
									</w2:choices>
								</w2:autoComplete>
							</xf:group>
						</xf:group>
					</xf:group>
				</xf:group>
				<xf:group class="btn_shbox" id="" style="">
					<xf:trigger class="btn_cm sch" disabled="" id="btn_Search" style="" type="button"
						ev:onclick="scwin.btn_search_onclick">
						<xf:label><![CDATA[조회]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group style="" id="" class="dfbox">
				<w2:textbox label="조직" style="" id="" class="" tagname="h3"></w2:textbox>
				<xf:group style="" id="" class="fr">
					<w2:textbox class="sum" id="spn_organizationCnt" label="" style=""></w2:textbox>
					<w2:textbox class="" id="" label="건" style=""></w2:textbox>

					<xf:trigger type="button" style="" id="btn_addOrganization" class="btn_cm "
						ev:onclick="scwin.btn_addOrganization_onclick">
						<xf:label><![CDATA[등록]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm " ev:onclick="scwin.btn_delOrganization_onclick" id="btn_delOrganization"
						style="display:none;" type="button">
						<xf:label><![CDATA[삭제]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm" id="btn_cancelOrganization" style="" type="button"
						ev:onclick="scwin.btn_cancelOrganization_onclick">
						<xf:label><![CDATA[취소]]></xf:label>
					</xf:trigger>
					<xf:trigger class="btn_cm download" id="btn_excelOrganization" style="" type="button"
						ev:onclick="scwin.btn_excelOrganization_onclick">
						<xf:label><![CDATA[엑셀다운로드]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
			<xf:group adaptiveThreshold="" class="gvwbox wq_flx" id="" style="">
				<w2:gridView adaptive="" autoFit="allColumn" class="wq_gvw" dataList="data:dlt_organizationBasic" ev:oncellclick=""
					ev:onrowindexchange="" fixedColumnWithHidden="true" id="grd_organizationBasic" ignoreCellClick="false" overflowX="hidden"
					overflowY="scroll" readOnly="true" rowStatusHeaderValue="상태" rowStatusVisible="true" scrollByColumn="false" showSortableImage=""
					sortEvent="onclick" sortable="true" style="height: 296px;" useShiftKey="true" autoFitMinWidth="800"
					rowStatusWidth="" keepDefaultColumnWidth="true" defaultCellHeight="26" focusMode="row">
					<w2:header id="header1" style="">
						<w2:row id="row2" style="">
							<w2:column blockSelect="false" checkboxLabel="선택" displayMode="label" fixColumnWidth="true" id="chk"
								inputType="checkbox" removeBorderStyle="false" style="" value="" width="50" sortable="false">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column9" inputType="text" style=""
								value="소속코드" width="50" class="req">
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column17" inputType="text" style=""
								value="소속명칭" width="300">
							</w2:column>
							<w2:column blockSelect="false" id="column30" inputType="text" style="" value="상위소속명" width="70"></w2:column>
							<w2:column blockSelect="false" displayMode="label" id="column11" inputType="text" style=""
								value="조직구분" width="80">
							</w2:column>
							<w2:column blockSelect="false" id="column28" inputType="text" style="" value="책임자" width="70"></w2:column>
							<w2:column blockSelect="false" id="column18" inputType="text" style="" value="개설일" width="70"></w2:column>
							<w2:column blockSelect="false" id="column38" inputType="text" style="" value="폐쇄일" width="70"></w2:column>
						</w2:row>
					</w2:header>
					<w2:gBody id="gBody4" style="" width="40">
						<w2:row id="row5" style="">
							<w2:column blockSelect="false" displayMode="label" fixColumnWidth="true" id="chk" inputType="checkbox"
								readOnly="false" style="" width="40" checkboxLabel="선택" sortable="false">
							</w2:column>
							<w2:column blockSelect="false" customFormatter="scwin.setFontFormat" displayMode="label" id="ORG_CD"
								inputType="text" style="" width="50">
							</w2:column>
							<w2:column blockSelect="false" depthColumn="ORG_LEVEL" depthType="div" displayMode="label" id="ORG_NM"
								inputType="drilldown" showDepth="3" style="" textAlign="left" width="120" checkAlways="" readOnly="true">
							</w2:column>
							<w2:column blockSelect="false" id="PARENT_ORG_NM" inputType="select" style="" width="70"
								checkAlways="" readOnly="true" textAlign="left">
								<w2:choices>
									<w2:itemset nodeset="data:dlt_organizationBasic">
										<w2:label ref="PARENT_ORG_NM"></w2:label>
										<w2:value ref="PARENT_ORG_NM"></w2:value>
									</w2:itemset>
								</w2:choices>
							</w2:column>
							<w2:column blockSelect="false" displayMode="label" id="ORG_CLASS_CD" inputType="select" style=""
								textAlign="left" width="80" checkAlways="" readOnly="true">
								<w2:choices>
									<w2:itemset nodeset="">
										<w2:label ref=""></w2:label>
										<w2:value ref=""></w2:value>
									</w2:itemset>
								</w2:choices>
							</w2:column>
							<w2:column blockSelect="false" id="ORG_BOSS_EMP_CD" inputType="select" style="" width="70"
								checkAlways="" readOnly="true" textAlign="center">
								<w2:choices>
									<w2:itemset nodeset="data:dlt_organizationBoss">
										<w2:label ref="EMP_NM"></w2:label>
										<w2:value ref="EMP_CD"></w2:value>
									</w2:itemset>
								</w2:choices>
							</w2:column>
							<w2:column blockSelect="false" calendarValueType="yearMonthDate" displayFormat="####-##-##" id="START_DATE"
								inputType="text" style="" width="70" checkAlways="" readOnly="true">
							</w2:column>
							<w2:column blockSelect="false" calendarValueType="yearMonthDate" displayFormat="####-##-##" id="END_DATE"
								inputType="text" style="" width="70" checkAlways="" readOnly="true">
							</w2:column>
						</w2:row>
					</w2:gBody>
				</w2:gridView>

			</xf:group>
			<xf:group class="tbbox" id="grp_organizationBasic" style="">
				<xf:group adaptive="layout" adaptiveThreshold="900" class="w2tb tb" id="" style="" tagname="table">
					<w2:attributes>
						<w2:summary></w2:summary>
					</w2:attributes>
					<xf:group tagname="colgroup">
						<xf:group style="width:140px;" tagname="col"></xf:group>
						<xf:group tagname="col"></xf:group>
						<xf:group style="width:140px;" tagname="col"></xf:group>
						<xf:group style="" tagname="col"></xf:group>
					</xf:group>
					<xf:group style="" tagname="tr">
						<xf:group class="w2tb_th " style="" tagname="th">
							<w2:textbox class="" id="" label="소속코드" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" style="" tagname="td">
							<xf:input class="" id="ibx_orgCd" placeholder="" style="width:100%;" readOnly="true"
								ref="data:dlt_organizationBasic.ORG_CD">
							</xf:input>
						</xf:group>
						<xf:group class="w2tb_th " tagname="th" text="">
							<w2:attributes></w2:attributes>
							<w2:textbox class="req" id="" label="소속명칭" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" tagname="td">
							<w2:attributes></w2:attributes>
							<xf:input class="req" id="ibx_orgNm" placeholder="" style="width:100%;" ref="data:dlt_organizationBasic.ORG_NM"
								mandatory="true">
							</xf:input>
						</xf:group>
					</xf:group>
					<xf:group tagname="tr">
						<xf:group tagname="th" class="w2tb_th ">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="req" id="" label="조직구분" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<xf:select1 allOption="" appearance="minimal" chooseOption="" class="req" direction="auto" disabled="false"
								disabledClass="w2selectbox_disabled" id="sbx_OrgClassCd" ref="data:dlt_organizationBasic.ORG_CLASS_CD" style="width:150px;" submenuSize="auto">
								<xf:choices></xf:choices>
							</xf:select1>
						</xf:group>
						<xf:group tagname="th" class="w2tb_th">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="소속약칭" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<xf:input class="" id="ibx_orgAliasNm" placeholder="" readOnly="" style="width:100%;"
								ref="data:dlt_organizationBasic.ORG_ALIAS_NM">
							</xf:input>
						</xf:group>
					</xf:group>
					<xf:group tagname="tr">
						<xf:group tagname="th" class="w2tb_th ">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="소속영문명" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<xf:input class="" id="ibx_orgEnNm" placeholder="" readOnly="" style="width:100%;"
								ref="data:dlt_organizationBasic.ORG_EN_NM">
							</xf:input>
						</xf:group>
						<xf:group tagname="th" class="w2tb_th ">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="소속영문약명" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<xf:input class="" id="" placeholder="" readOnly="" style="width:100%;" ref=""></xf:input>
						</xf:group>
					</xf:group>
					<xf:group tagname="tr">
						<xf:group tagname="th" class="w2tb_th ">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="조직레벨" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<xf:input class="" id="ibx_orgLevel" placeholder="" readOnly="true" style="width:150px;"
								ref="data:dlt_organizationBasic.ORG_LEVEL">
							</xf:input>
						</xf:group>
						<xf:group tagname="th" class="w2tb_th ">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="책임자" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<xf:select1 allOption="" appearance="minimal" chooseOption="true" class="" direction="auto" disabled="false"
								disabledClass="w2selectbox_disabled" id="sbx_OrgBossEmpCd" ref="data:dlt_organizationBasic.ORG_BOSS_EMP_CD" style="width:150px;" submenuSize="auto" chooseOptionLabel="전체">
								<xf:choices>
									<xf:itemset nodeset="data:dlt_organizationBoss">
										<xf:label ref="EMP_NM"></xf:label>
										<xf:value ref="EMP_CD"></xf:value>
									</xf:itemset>
								</xf:choices>
							</xf:select1>
						</xf:group>
					</xf:group>
					<xf:group tagname="tr">
						<xf:group tagname="th" class="w2tb_th ">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="개설일" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<w2:inputCalendar calendarValueType="yearMonthDate" focusOnDateSelect="false" footerDiv="true"
								id="cal_startDate" renderDiv="true"  rightAlign="false" style="width: 120px;"
								ref="data:dlt_organizationBasic.START_DATE">
							</w2:inputCalendar>
						</xf:group>
						<xf:group tagname="th" class="w2tb_th ">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="폐쇄일" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group tagname="td" class="w2tb_td">
							<w2:attributes></w2:attributes>
							<w2:inputCalendar calendarValueType="yearMonthDate" focusOnDateSelect="false" footerDiv="true" id="cal_endDate"
								renderDiv="true"  rightAlign="false" style="width: 120px;" ref="data:dlt_organizationBasic.END_DATE">
							</w2:inputCalendar>
						</xf:group>
					</xf:group>
					<xf:group tagname="tr">
						<xf:group class="w2tb_th " tagname="th">
							<w2:attributes>
								<w2:scope>row</w2:scope>
							</w2:attributes>
							<w2:textbox class="" id="" label="비고" ref="" style="" userData2=""></w2:textbox>
						</xf:group>
						<xf:group class="w2tb_td" tagname="td">
							<w2:attributes>
								<w2:colspan>3</w2:colspan>
								<w2:rowspan>1</w2:rowspan>
							</w2:attributes>
							<xf:textarea class="" id="ibx_note" style="width:100%;height: 82px;" ref="data:dlt_organizationBasic.NOTE"></xf:textarea>
						</xf:group>
					</xf:group>
				</xf:group>
			</xf:group>

			<xf:group class="btnbox" id="" style="">
				<xf:group class="fr" id="" style="">
					<xf:trigger class="btn_cm pt" ev:onclick="scwin.btn_saveOrganization_onclick" id="btn_saveOrganization" style="" type="button">
						<xf:label><![CDATA[저장]]></xf:label>
					</xf:trigger>
				</xf:group>
			</xf:group>
		</xf:group>

	</body>
</html>


<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:w2="http://www.inswave.com/websquare" xmlns:xf="http://www.w3.org/2002/xforms">
	<head meta_programId="HM003P01" meta_programName="사진 파일 업로드 팝업" meta_programDesc="사진 파일을 업로드하는 팝업 화면" meta_author="Inswave Systems" meta_date="2021.02.25">
		<w2:buildDate />
		<xf:model>
			<xf:instance>
				<data xmlns="" />
			</xf:instance>
			<w2:dataCollection>
			</w2:dataCollection>
		</xf:model>
		<w2:layoutInfo></w2:layoutInfo>
		<w2:publicInfo method=""></w2:publicInfo>

		<script type="text/javascript" lazy="false"><![CDATA[/**
 * 화면 초기화에 필요한 로직을 수행한다.
 */
scwin.onpageload = function () {
	var param = com.data.getParameter();
	scwin.closeCallbackFncName = param.callbackFn;
};

/**
 * 사진 업로드를 반환한다.
 */
scwin.btn_confirm_onclick = function () {
	upd_image.setSubDir('HM003');
	upd_image.submit();
};

scwin.upd_image_ondone = function (retXml) {
	var param = {
		fileStorePath: upd_image.getSubDir(),
		localfileList: WebSquare.xml.getValue(retXml, "ret/localfileList"),
		storedFileList: WebSquare.xml.getValue(retXml, "ret/storedFileList")
	};
	com.win.closePopup(param);
};

/**
 * 사진 업로드를 취소한다.
 */
scwin.btn_cancel_onclick = function () {
	com.win.closePopup();
};
]]></script>
	</head>
	<body ev:onpageload="scwin.onpageload">
    	<xf:group id="" class="pop_contents">
    		<xf:group style="" id="" class="tbbox">
    			<xf:group adaptive="layout" adaptiveThreshold="1024" tagname="table" style="" tabIndex="" id="" class="w2tb tb">
    				<w2:attributes>
    					<w2:summary></w2:summary>
    				</w2:attributes>
    				<xf:group tagname="colgroup">
    					<xf:group tagname="col" style="width:150px;"></xf:group>
    					<xf:group style="" tagname="col"></xf:group>
    				</xf:group>
    				<xf:group tagname="tr" style="">
    					<xf:group tagname="th" style="" class="w2tb_th">
    						<w2:attributes>
    							<w2:colspan>1</w2:colspan>
    							<w2:rowspan>1</w2:rowspan>
    						</w2:attributes>
    						<w2:textbox ref="" style="" userData2="" id="" label="사진업로드"></w2:textbox>
    					</xf:group>
    					<xf:group tagname="td" style="" class="w2tb_td">
    						<w2:attributes>
    							<w2:colspan>1</w2:colspan>
    							<w2:rowspan>1</w2:rowspan>
    						</w2:attributes>
    						<w2:upload imageStyle="position:absolute;vertical-align:middle;word-wrap:break-word"
    							inputStyle="vertical-align:middle;word-wrap:break-word" style="width: 100%;" id="upd_image" type="image"
    							ev:ondone="scwin.upd_image_ondone" action="">
    						</w2:upload>
    					</xf:group>
    				</xf:group>
    			</xf:group>
    		</xf:group>
    		<xf:group class="btnbox" id="" style="">
    			<xf:group class="fr" id="">
    				<xf:trigger class="btn_cm pt" id="btn_confirm" style="" type="button" ev:onclick="scwin.btn_confirm_onclick">
    					<xf:label><![CDATA[확인]]></xf:label>
    				</xf:trigger>
    				<xf:trigger class="btn_cm" id="btn_cancel" style="" type="button" ev:ondblclick="" ev:onclick="scwin.btn_cancel_onclick">
    					<xf:label><![CDATA[취소]]></xf:label>
    				</xf:trigger>
    			</xf:group>
    		</xf:group>
    	</xf:group>
	</body>
</html>