123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPZSN00300_팝업공지입력" classname="SPZSN00300_팝업공지입력" inheritanceid="" position="absolute 0 0 922 922" titletext="팝업공지입력" oninit="SPZSN00300_oninit" onload="SPZSN00300_onload">
- <Layouts>
- <Layout>
- <Static id="caption6" text="로그인시 팝업 공지 입력" class="tit_1" position="absolute 0 0 175 25"/>
- <Div id="group" taborder="7" class="div_SA" position="absolute 0 25 922 85">
- <Layouts>
- <Layout>
- <Static id="caption2" text="게시일" class="search_name" position="absolute 13 8 72 28" anchor="default"/>
- <Static id="caption3" text="제목" class="search_name" position="absolute 14 34 57 55" anchor="default"/>
- <Calendar id="Calendar_fromdd" taborder="5" position="absolute 66 8 168 28" value="null" type="normal" dateformat="yyyy-MM-dd ddd" anchor="default"/>
- <Calendar id="Calendar_todd" taborder="6" position="absolute 194 8 296 28" value="null" dateformat="yyyy-MM-dd ddd" anchor="default"/>
- <Static id="Static00" text="~" position="absolute 173 8 188 28" style="align:center middle;" anchor="default"/>
- <Static id="caption00" text="화면 사이즈 가로" class="search_name" position="absolute 336 8 457 29" anchor="default"/>
- <MaskEdit id="ipt_height" taborder="8" mask="#" onkeydown="ipt_rtno_onkeydown" class="input_search" position="absolute 559 8 624 29" style="align:center middle;" anchor="default"/>
- <Static id="caption01" text="세로" class="search_name" position="absolute 521 8 558 29" anchor="default"/>
- <MaskEdit id="ipt_width" taborder="9" mask="#" onkeydown="ipt_rtno_onkeydown" class="input_search" position="absolute 459 8 524 29" style="align:center middle;" anchor="default"/>
- <Edit id="ipt_title" taborder="10" position="absolute 66 34 624 54" anchor="default"/>
- <Static id="caption04" text="활성화여부" class="search_name" position="absolute 658 8 736 29" anchor="default"/>
- <Static id="caption05" text="공지직종" class="search_name" position="absolute 658 34 736 55" anchor="default"/>
- <Radio id="Radio_histstat" taborder="11" columncount="2" rowcount="0" position="absolute 743 8 856 28" innerdataset="@ds_histstat" codecolumn="cdid" datacolumn="cdnm" anchor="default"/>
- <Radio id="Radio_jobkind" taborder="12" columncount="3" rowcount="0" position="absolute 743 34 913 54" innerdataset="@ds_jobkind" codecolumn="cdid" datacolumn="cdnm" index="-1" anchor="default"/>
- </Layout>
- </Layouts>
- </Div>
- <Tab id="tab_notice" taborder="11" scrollbars="autoboth" position="absolute 0 92 922 922" canchange="tab_notice_canchange">
- <Tabpages>
- <Tabpage id="tab_hwp" text="한글편집기">
- <Layouts>
- <Layout>
- <ActiveX id="pHwpCtrl" position="absolute 0 0 922 803" progid="{bd9c32de-3155-4691-8972-097d53b10052}" useautobitmapcache="1" anchor="default" taborder="0" windowed="true"/>
- </Layout>
- </Layouts>
- </Tabpage>
- <Tabpage id="tab_html" text="HTML">
- <Layouts>
- <Layout>
- <TextArea id="ta_contents" taborder="0" position="absolute 0 0 922 803" wordwrap="char"/>
- </Layout>
- </Layouts>
- </Tabpage>
- </Tabpages>
- </Tab>
- <Button id="Button00" taborder="12" text="미리보기" onclick="Button00_onclick" class="btn4" position="absolute 789 94 867 114"/>
- <Button id="Button_save" taborder="13" text="저장" onclick="Button_save_onclick" class="btn5" position="absolute 734 94 787 114"/>
- <Button id="Button_close" taborder="14" text="닫기" onclick="Button_close_onclick" class="btn3" position="absolute 869 94 922 114"/>
- <Button id="btn_imgupload" taborder="15" text="이미지업로드" position="absolute 640 94 728 114" class="btn2" onclick="btn_imgupload_onclick" visible="false"/>
- <Div id="div_upload" taborder="16" position="absolute 112 122 729 482" class="div_SA2" style="shadow:outer 3,3 3 gray;" visible="false">
- <Layouts>
- <Layout>
- <Grid id="grd_images" taborder="0" useinputpanel="false" position="absolute 8 29 609 351" binddataset="ds_images" anchor="default" autofittype="col" autoenter="select" oncellclick="div_upload_grd_images_oncellclick" selecttype="multirow" oncelldblclick="div_upload_grd_images_oncelldblclick">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="32"/>
- <Column size="446"/>
- <Column size="50"/>
- <Column size="20"/>
- <Column size="52"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell/>
- <Cell col="1" text="파일명"/>
- <Cell col="2" colspan="2" text="파일크기" taborder="undefined"/>
- <Cell col="4" text="파일선택"/>
- </Band>
- <Band id="body">
- <Cell/>
- <Cell col="1" displaytype="text" text="bind:filenm"/>
- <Cell col="2" displaytype="number" style="line:1 solid #b0b0b0ff,0 solid #b0b0b0ff,1 solid #b0b0b0ff,1 solid #b0b0b0ff;" text="bind:filesizedp"/>
- <Cell col="3" style="padding:0 0 0 0;" text="KB"/>
- <Cell col="4" displaytype="button" edittype="button" style="padding:2 10 2 10;" text="열기"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Static id="Static00" text="업로드 할 이미지를 선택하세요" position="absolute 8 8 260 28" class="tit_2" anchor="default"/>
- <Shape id="Shape00" position="absolute 8 21 609 33" class="line_10" anchor="default"/>
- <Button id="btn_upload" taborder="1" text="Upload" position="absolute 499 4 555 24" class="btn5" anchor="default" onclick="div_upload_btn_upload_onclick"/>
- <Button id="btn_close" taborder="2" text="닫기" position="absolute 557 4 609 24" class="btn3" onclick="div_upload_btn_close_onclick" anchor="default"/>
- <Button id="btn_add" taborder="3" text="행추가" position="absolute 386 4 438 24" class="btn2" anchor="default" onclick="div_upload_btn_add_onclick"/>
- <Button id="btn_del" taborder="4" text="행삭제" position="absolute 440 4 492 24" class="btn2" anchor="default" onclick="div_upload_btn_del_onclick"/>
- <Static id="Static01" text="이미지 업로드 기능은 개발 보류" position="absolute 67 155 552 221" style="color:red;font:Dotum,24,bold;"/>
- </Layout>
- </Layouts>
- </Div>
- <Static id="Static00" text="※ 이미지 수정은 HTML 탭에서 IMG src의 URL을 직접 수정해야 합니다." position="absolute 140 94 592 114" style="color:red;font:Dotum,9,bold;"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="status" type="STRING" size="256"/>
- <Column id="genrdd" type="STRING" size="256"/>
- <Column id="genrno" type="STRING" size="256"/>
- <Column id="seqno" type="STRING" size="256"/>
- <Column id="histstat" type="STRING" size="256"/>
- <Column id="userinstcd" type="STRING" size="256"/>
- <Column id="jobkindcd" type="STRING" size="256"/>
- <Column id="ntcsubject" type="STRING" size="256"/>
- <Column id="ntccnts" type="STRING" size="256"/>
- <Column id="ntccnttype" type="STRING" size="256"/>
- <Column id="fromdd" type="STRING" size="256"/>
- <Column id="todd" type="STRING" size="256"/>
- <Column id="width" type="STRING" size="256"/>
- <Column id="height" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_histstat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cdnm" type="STRING" size="256"/>
- <Column id="cdid" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="cdnm">Y</Col>
- <Col id="cdid">Y</Col>
- </Row>
- <Row>
- <Col id="cdnm">N</Col>
- <Col id="cdid">N</Col>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_jobkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="cdid" type="STRING" size="256"/>
- <Column id="cdnm" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="cdnm">전체</Col>
- <Col id="cdid"/>
- </Row>
- <Row>
- <Col id="cdid">0330</Col>
- <Col id="cdnm">의사</Col>
- </Row>
- <Row>
- <Col id="cdid">1140</Col>
- <Col id="cdnm">간호사</Col>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_imagepath" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="realpath" type="STRING" size="256"/>
- <Column id="temppath" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="genrno" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_images" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="filenm" type="STRING" size="256" sumtext="파일명"/>
- <Column id="filedata" type="BLOB" size="256" sumtext="파일데이터"/>
- <Column id="filesize" type="STRING" size="256" sumtext="파일크기"/>
- <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
- <Column id="filesizedp" type="STRING" size="256" sumtext="파일크기표시용"/>
- <Column id="filepath" type="STRING" size="256" sumtext="파일경로"/>
- </ColumnInfo>
- </Dataset>
- </Objects>
- <Bind>
- <BindItem id="item2" compid="group.ipt_width" propid="displaynulltext" datasetid="ds_req" columnid="width"/>
- <BindItem id="item3" compid="group.ipt_height" propid="displaynulltext" datasetid="ds_req" columnid="height"/>
- <BindItem id="item4" compid="group.ipt_title" propid="displaynulltext" datasetid="ds_req" columnid="ntcsubject"/>
- <BindItem id="item5" compid="group.Radio_histstat" propid="value" datasetid="ds_req" columnid="histstat"/>
- <BindItem id="item6" compid="group.Radio_jobkind" propid="value" datasetid="ds_req" columnid="jobkindcd"/>
- <BindItem id="item0" compid="group.Calendar_fromdd" propid="value" datasetid="ds_req" columnid="fromdd"/>
- <BindItem id="item1" compid="group.Calendar_todd" propid="value" datasetid="ds_req" columnid="todd"/>
- <BindItem id="item7" compid="group.ipt_height" propid="value" datasetid="ds_req" columnid="height"/>
- <BindItem id="item8" compid="group.ipt_width" propid="value" datasetid="ds_req" columnid="width"/>
- <BindItem id="item9" compid="group.ipt_title" propid="value" datasetid="ds_req" columnid="ntcsubject"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs"; // 전체공통 스크립트
- function SPZSN00300_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj);
- }
- function SPZSN00300_onload(obj:Form, e:LoadEventInfo)
- {
- grdf_setRowTypeIcon(div_upload.grd_images, 0);
-
- tab_notice.tab_hwp.pHwpCtrl.ShowToolBar(true);
- tab_notice.tab_hwp.pHwpCtrl.ShowStatusBar(1);
- //글자 서식 툴만 show
- tab_notice.tab_hwp.pHwpCtrl.SetToolBar(-1, "TOOLBAR_FORMAT");
- tab_notice.tab_hwp.pHwpCtrl.SetToolBar(-1, "TOOLBAR_TABLE");
-
- //기존 데이터 수정
- if(plgv_new == false )
- {
- ds_req.setColumn(0, "status", "u");
- ds_req.setColumn(0, "genrdd", plgv_genrdd);
- ds_req.setColumn(0, "genrno", plgv_genrno);
- ds_req.setColumn(0, "histstat", plgv_histstat);
- ds_req.setColumn(0, "jobkindcd", plgv_jobkindcd);
- if(utlf_isNull(plgv_jobkindcd))
- {
- trace("jobkindcd is Null");
- group.Radio_jobkind.value = 0;
- ds_req.setColumn(0, "jobkindcd", "");
- }
- ds_req.setColumn(0, "ntcsubject", plgv_ntcsubject);
- ds_req.setColumn(0, "ntccnts", plgv_ntccnts);
- ds_req.setColumn(0, "fromdd", plgv_fromdd);
- ds_req.setColumn(0, "todd", plgv_todd);
- ds_req.setColumn(0, "width", plgv_width);
- ds_req.setColumn(0, "height", plgv_height);
-
- fHWPConvert(ds_req.getColumn(0, "ntccnts"));
- }
- //신규 입력
- else
- {
- ds_req.setColumn(0, "status", "i");
- ds_req.setColumn(0, "histstat", "Y");
- ds_req.setColumn(0, "jobkindcd", "");
- ds_req.setColumn(0, "ntcsubject", "");
- ds_req.setColumn(0, "ntccnts", "");
- ds_req.setColumn(0, "genrdd", utlf_getCurrentDate());
- ds_req.setColumn(0, "fromdd", utlf_getCurrentDate());
- ds_req.setColumn(0, "todd", utlf_getCurrentDate());
- ds_req.setColumn(0, "width", 520);
- ds_req.setColumn(0, "height", 430);
- }
-
- ds_req.setColumn(0, "ntccnttype", "HTML");
- }
- //미리보기
- function Button00_onclick(obj:Button, e:ClickEventInfo)
- {
- var varHTMLConvertResult = fGetContents(tab_notice.tabindex);
-
- fOpenNoticeDialog(varHTMLConvertResult);
- }
- // DB 또는 TextArea의 내용을 HWP OCX에 표시 하기 위한 함수
- function fHWPConvert(input) {
- if(ds_imagepath.rowcount <= 0) // 초기화 되어 있지 않다면 초기화
- fSetRealImagePath(ds_req.getColumn(0, "ntccnts"));
-
- fGetRealImagePath(input);
-
- tab_notice.tab_hwp.pHwpCtrl.SetTextFile(input, "HTML", "");
- }
- //한글에서 변환된 HTML 전체를 DB에 저장하기에는 양이 많으므로
- //불필요 부분 삭제
- function fHTMLConvert(input)
- {
- //1. HEAD 삭제
- var varStart = input.indexOf("<HEAD>");
- var varEnd = input.lastIndexOf("</HEAD>") + 7;
- var strText = input.slice(varStart, varEnd);
- var strResult = input.replace(strText, "");
-
- //2. CLASS=HStyle0 삭제
- var regExp = /\sCLASS=HStyle\d/g;
- strResult = strResult.replace(regExp, "");
-
- //3. 정렬을 div에 정렬로 변경
- strResult = strResult.replace("<P STYLE='text-align:center;'>", "<div align=\"center\">");
- strResult = strResult.replace("<P STYLE='text-align:left;'>", "<div align=\"left\">");
- strResult = strResult.replace("<P STYLE='text-align:right;'>", "<div align=\"right\">");
-
- //4. div 구분을 위하여 변경
- strResult = strResult.replace("<P>", "</div><div>");
-
- //5. div 구분으로 필요없는 </p> 삭제
- strResult = strResult.replace("</P>", "");
-
- //6. 밑줄의 경우 한글에서는 "underline"로 출력물이 나와 1.0에서 표시안됨
- strResult = strResult.replace("\"underline\"", "underline");
-
- //7. 취소선의 경우 한글에서는 "line-through"로 출력물이 나와 1.0에서 표시안됨, 따옴표는 \"
- strResult = strResult.replace("\"line-through\"", "line-through");
-
- return fSetRealImagePath(strResult); // 이미지 경로를 로컬이 아닌 웹 주소로 변경
- }
- //공지 다이얼로그에서 미리보기
- function fOpenNoticeDialog(varHTMLConvertResult)
- {
- var nMoniterIndex = system.getMonitorIndex(system.clientToScreenX(this.parent, this.parent.position.x), system.clientToScreenY(this.parent, this.parent.position.y)); //모니터번호
- var objScreenInfo = system.getScreenRect(nMoniterIndex);
-
- var nWidth = 710;
- var nHeight = 500;
-
- var nScreenLeft = objScreenInfo.left;
- var nScreenTop = objScreenInfo.top;
- var nScreenRight = objScreenInfo.right;
- var nScreenBottom = objScreenInfo.bottom;
- var nScreenWidth = nScreenRight - nScreenLeft;
- var nScreenHeight = nScreenBottom - nScreenTop;
-
- var objParam = new Object();
- objParam.plgv_parent = "SPZSN00300";
- objParam.plgv_ntcsubject = ds_req.getColumn(0,"ntcsubject");
- objParam.plgv_noticeContents = varHTMLConvertResult;
- objParam.plgv_noticeContentType = ds_req.getColumn(0,"ntccnttype");
- objParam.plgv_noticeDate = utlf_splitDateS(ds_req.getColumn(0,"genrdd"), "-");
- objParam.plgv_noticeFromdd = utlf_splitDateS(ds_req.getColumn(0,"fromdd"), "-");
- objParam.plgv_noticeTodd = utlf_splitDateS(ds_req.getColumn(0,"todd"), "-");
-
- var width = group.ipt_width.text;
- var height = group.ipt_height.text;
- if(!utlf_isNull(width)) nWidth = parseInt(width);
- if(!utlf_isNull(height)) nHeight = parseInt(height);
-
- if(nWidth < 480) nWidth = 480;
- if(nHeight < 250) nHeight = 250;
-
- objParam.plgv_width = nWidth;
- objParam.plgv_height = nHeight;
-
- var left = (nScreenLeft + (nScreenWidth / 2)) - (nWidth / 2);
- var top = (nScreenTop + (nScreenHeight / 2)) - (nHeight / 2);
-
- var xpt = left;
- var ypt = top;
-
- frmf_openInternal("form_login_noticeContents", "com_hismainxp::form_login_noticeContents.xfdl", objParam, false, null, xpt, ypt, nWidth, nHeight, "layered=true,resize=true,nocenter=true");
- }
- //저장
- function Button_save_onclick(obj:Button, e:ClickEventInfo)
- {
- var varHTMLConvertResult = fGetContents(tab_notice.tabindex);
- ds_req.setColumn(0, "ntccnts", varHTMLConvertResult);
-
- if(utlf_isNull(ds_req.getColumn(0, "ntcsubject")))
- {
- sysf_messageBox("제목을 ", "C001");
- return;
- }
-
- if(utlf_isNull(ds_req.getColumn(0, "fromdd")))
- {
- sysf_messageBox("시작 게시일을 ", "C001");
- return;
- }
-
- if(utlf_isNull(ds_req.getColumn(0, "todd")))
- {
- sysf_messageBox("종료 게시일을 ", "C001");
- return;
- }
-
- if(utlf_isNull(ds_req.getColumn(0, "width")))
- {
- sysf_messageBox("가로 화면사이즈를 ", "C001");
- return;
- }
-
- if(utlf_isNull(ds_req.getColumn(0, "height")))
- {
- sysf_messageBox("세로 화면사이즈를 ", "C001");
- return;
- }
-
- if(utlf_isNull(ds_req.getColumn(0, "histstat")))
- {
- sysf_messageBox("활성화 여부를 ", "C002");
- return;
- }
-
- var oParam = {};
- oParam.id = "SPZSN00002";
- oParam.service = "noticeinfoapp.noticeinfo";
- oParam.method = "SavePopupNotice";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_result=result";
- oParam.callback = "cf_SPZSN00002";
- oParam.async = false;
- tranf_submit(oParam);
-
- // 최초 insert 시에는 데이터 저장 후 genrno가 없다
- // 바로 다시 저장시 genrno가 없어서 저장이 안되기 때문에
- // insert 시 받아온 genrno를 사용하도록 함
- var genrno = ds_result.getColumn(0, "genrno");
- if(!utlf_isNull(genrno)) {
- ds_req.setColumn(0, "genrno", genrno);
- }
- }
- function cf_SPZSN00002(sSvcId, nErrorCode, sErrorMsg)
- {
- if(nErrorCode < 0) return;
- sysf_messageBox("저장되었습니다","I");
-
- // 저장이 완료되고난 후에는 update로 수정
- ds_req.setColumn(0, "status", "u");
- }
- function Button_close_onclick(obj:Button, e:ClickEventInfo)
- {
- opener.frmf_setParameter("SPZSN00300_popupendflag", "close");
- this.close();
- }
- function tab_notice_canchange(obj:Tab, e:TabIndexChangeEventInfo)
- {
- if(e.postindex == 1) {
- //btn_imgupload.visible = true;
- tab_notice.tab_html.ta_contents.value = fHTMLConvert(tab_notice.tab_hwp.pHwpCtrl.GetTextFile("HTML", ""));
- } else {
- //btn_imgupload.visible = false;
- fHWPConvert(tab_notice.tab_html.ta_contents.value);
- }
- }
- function fGetContents(tabindex) {
- var varHTMLConvertResult = "";
-
- if(tabindex == 1) {
- varHTMLConvertResult = tab_notice.tab_html.ta_contents.value;
- } else {
- varHTMLConvertResult = fHTMLConvert(tab_notice.tab_hwp.pHwpCtrl.GetTextFile("HTML", ""));
- }
-
- return varHTMLConvertResult;
- }
- function fSetRealImagePath(contents) {
- var datas = contents.split("<IMG src="); // 한글편집기 탭 내용
-
- var isInit = false;
- if(ds_imagepath.rowcount <= 0) { // 최초엔 무조건 초기화
- isInit = true;
- }
-
- if(isInit) {
- ds_imagepath.clearData();
-
- // 초기화 후 한글편집기 기준의 이미지 만큼 행 생성
- for(var i = 1; i < datas.length; i++)
- ds_imagepath.addRow();
- }
- var row = 0;
-
- for(var i = 1; i < datas.length; i++) { // 첫번째에는 src의 경로가 들어올 수 없음
- var data = datas[i];
-
- if(data.indexOf("file://") < 0) continue;
-
- var endIndex = data.indexOf("\"", 1);
- var path = data.substring(1, endIndex);
- if(isInit) {
- ds_imagepath.setColumn(row, "temppath", path);
- } else {
- var realpath = ds_imagepath.getColumn(row, "realpath");
-
- if(!utlf_isNull(realpath))
- contents = contents.replace(path, realpath);
- }
-
- row++;
- }
-
- return contents;
- }
- function fGetRealImagePath(contents) {
- var datas = contents.split("<IMG src=");
- if(datas.length > 1) {
- var row = 0;
-
- for(var i = 1; i < datas.length; i++) { // 첫번째에는 src의 경로가 들어올 수 없음
- var data = datas[i];
- if(data.indexOf("http://") < 0 && data.indexOf("https://") < 0) continue;
-
- var endIndex = data.indexOf("\"", 1);
- var path = data.substring(1, endIndex);
- ds_imagepath.setColumn(row, "realpath", path);
-
- row++;
- }
- }
- }
- function btn_imgupload_onclick(obj:Button, e:ClickEventInfo)
- {
- div_upload.visible = true;
- }
- function div_upload_btn_close_onclick(obj:Button, e:ClickEventInfo)
- {
- div_upload.visible = false;
- }
- function div_upload_btn_add_onclick(obj:Button, e:ClickEventInfo)
- {
- ds_images.addRow();
- }
- function div_upload_btn_del_onclick(obj:Button, e:ClickEventInfo)
- {
- var selectedRows = grdf_getSelectedRows(div_upload.grd_images);
-
- for(var i = selectedRows.length - 1; i >= 0; i--) {
- var row = selectedRows[i];
- var status = ds_images.getRowType(row);
-
- if(status == Dataset.ROWTYPE_INSERT){
- ds_images.deleteRow(row);
- }else{
- var arrPostion = new Array();
- arrPostion[0] = row;
- grdf_setStatus(div_upload.grd_images, "D", arrPostion);
- }
- }
- }
- function div_upload_grd_images_oncellclick(obj:Grid, e:GridClickEventInfo)
- {
- if(e.col == 4)
- fOpenFiles(e.row);
- }
- function div_upload_grd_images_oncelldblclick(obj:Grid, e:GridClickEventInfo)
- {
- fOpenFiles(e.row);
- }
- function fOpenFiles(row) {
- var fd = new FileDialog;
- var objVFileList = fd.open("첨부 할 이미지를 선택하여 주십시오.", FileDialog.MULTILOAD);
-
- if(!utlf_isNull(objVFileList)) {
- for(var i = 0; i < objVFileList.length; i++) {
- if(i > 0) {
- if(row < ds_images.rowcount - 1) {
- row = ds_images.insertRow(row + 1); // 아래행에 insert 하기 위해 1 더함
- } else {
- row = ds_images.addRow();
- }
- }
-
- var objFileinfo = dsf_writeFileToDs(objVFileList[i], ds_images, i, "filedata");
- ds_images.setColumn(row, "filenm", objFileinfo.filename);
- ds_images.setColumn(row, "filesize", objFileinfo.filesize);
- ds_images.setColumn(row, "filesizedp", Math.ceil(objFileinfo.filesize / 1024));
- ds_images.setColumn(row, "filetype", objFileinfo.filetype);
-
- //파일 크기가 너무 큰경우 메세지를 띄운다.
- if (!checkFileSize(objFileinfo.filesize)){
- sysf_messageBox(objFileinfo.filename + "\n파일 크기가 최대치(" + "10,240 " + "KB)를", "E003");
- ds_images.setColumn(row, "filenm", "");
- ds_images.setColumn(row, "filesize", "");
- ds_images.setColumn(row, "filesizedp", "");
- ds_images.setColumn(row, "filetype", "");
- ds_images.setColumn(row, "filedata", "");
- break;
- }
- }
- }
- }
- var gMaxSize = 10485760; //10,485,760
- function checkFileSize(fileSize)
- {
- if (fileSize <= gMaxSize)
- return true;
- else
- return false;
- }
- function div_upload_btn_upload_onclick(obj:Button, e:ClickEventInfo)
- {
-
- }
- ]]></Script>
- </Form>
- </FDL>
|