123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : HIT
- * Job Name :
- * File Name : comm_ds.xjs
- * Creator : 임준호
- * Make Date : 2014-02-05
- *
- * Description : dataset 관련 공통 스트립트
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-02-18 HIT
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- /********************************************************************************************************************/
- /************************* Dataset 관련 함수 ***********************************************************************/
- /********************************************************************************************************************/
- // dsf_createDs : 데이터셋을 동적으로 생성한다.
- // dsf_createDsRow : key:value 형태의 데이터들을 Single Row를 가지는 데이터셋으로 생성해준다.
- // dsf_copyDs : dataset을 복사한다.
- // dsf_copyColInfo : dataset의 column을 복사한다.
- // (삭제)dsf_copyNodeListType : 목적 데이터에 소스 데이터을을 mdoe방식에 따라 copy 함
- // (삭제)dsf_copyNodesetType : 목적 데이터셋에 소스 데데이터셋을 mdoe방식에 따라 copy 함.
- // dsf_copyDsWithPostfix : 목적 노드의 자식 노드를 삭제후 소스 노드의 자식 노드에 postfix의 노드네임을 추가 하여 copy
- // dsf_copyDsWithPrefix : 목적 노드의 자식 노드를 삭제후 소스 노드의 자식 노드에 Prefix의 노드네임을 앞에 추가 하여 copy
- // dsf_deleteSelectedRows : 선택된 행들을 모두 지우거나 deleted 상태로 마크
- // dsf_datasetUpdateChk : 데이터셋이 변경 됬는지 체크
- // dsf_getObjFrmDsRow : 데이터셋의 특정 Row를 Object Literal로 값으로 반환 (신규 2014-05-27)
- // dsf_setDsRowFrmObj : Object Literal의 값을 데이터셋의 특정 Row의 각Column명과 메칭하여 값 설정 (신규 2014-05-27)
- // dsf_setDefaultVal : dataset의 특정컬럼에 Default 값을 넣어준다. (신규 2014-08-12)
- // dsf_setFixVal : dataset의 특정컬럼에 고정값을 넣어준다. (신규 2016-03-10)
- // dsf_deleteDs : dataset윽 삭제한다. (신규 2014-08.19)
- // dsf_getDsCSV : Dataset을 CSV로 반환한다. (신규 2014.09.24)
- // dsf_setCSVToDs : CSV 데이터를 Dataset 으로 생성한다. (신규 2014.09.24)
- // dsf_addDsItem : 데이타셋 아이템 추가 함수 (신규 2014.12.19)
- // dsf_setTypeFormat : 데이타셋의 컬럼별 타입과 포맷을 설정하는 함수 (신규 2015.01.19)
- // dsf_changeBind : 컴포넌트에 Bind 되어 있는 값을 변경 한다. (신규 2015.01.28)
- // dsf_deleteColumn : Dataset의 특정컬럼을 제거한다. (신규 2016.03.10)
- // dsf_getColumnNullToEmpty : dataset의 특정컬럼 조회시 컬럼이 없거나 값일 없을 경우 ""값을 리턴해준다. (신규 2016.11.25)
- /********************************************************************************************************************/
- /************************* 파일첨부 관련 함수 *********************************************************************/
- /********************************************************************************************************************/
- // dsf_writeFileToDs : dataset의 특정컬럼에 주어진 VirtualFile 객체의 내용을 BLOB 형식으로 write 한다.
- // dsf_readFileFromDs : dataset의 특정컬럼으로부터 BLOCB 형식의 데이터를 읽어와서 로컬파일시스템에 하나의 파일로 저장한다.
- /**********************************************************************************
- * 함수명 : dsf_createDs
- * 설 명 : 데이터셋을 동적으로 생성한다.
- * argument : sDsName (dataset ID)
- * : arrColInfo (dataset 컬럼 정보
- * : [{col:"userid", type:"string", size:256}, {col:"usernm", type:"string", size:256}]
- * : type과 size는 생략가능하다.
- * return Type : String - sDsName
- * 작성자 : 임준호
- **********************************************************************************/
- function dsf_createDs(sDsName, arrColInfo, bUseClientLayout){
- //arrColInfo = [{col: "userid", type:"string", size:256}, {col: "usernm", type:"string", size:256}]
-
- if(this.objects[sDsName] != null){
- this.objects[sDsName].clear();
- }else{
- var objDs = new Dataset(sDsName);
- this.addChild(sDsName, objDs);
- objDs.name = sDsName;
- }
-
- //var objDs = new Dataset;
- //this.addChild(sDsName, objDs);
-
- //useClientLayout 설정
- if(!utlf_isNull(bUseClientLayout)){
- this.objects[sDsName].useclientlayout = bUseClientLayout;
- }
-
- //컴럼 구성
- if(!utlf_isNull(arrColInfo)){
- for(var i in arrColInfo){
- if(arrColInfo[i].type == null) arrColInfo[i].type = "String";
- if(arrColInfo[i].size == null) arrColInfo[i].size = 256;
- this.objects[sDsName].addColumn(arrColInfo[i].col, arrColInfo[i].type, arrColInfo[i].size);
- }
- }
-
- return sDsName;
- }
- /**********************************************************************************
- * 함수명 : dsf_createDsRow
- * 설 명 : key:value 형태의 데이터들을 Single Row를 가지는 데이터셋으로 생성해준다.
- * argument : sDsName (dataset ID)
- * : objParam (dataset 컬럼 & Value)
- * : 작성예)
- * : <1 column>
- * : {col:"userid", type:"string", size:256, val:"test"}
- * : <2 column 이상 (대괄호 주의)>
- * : [{col:"userid", type:"string", size:256, val:"test"}, {col:"usernm", type:"string", size:256, val:"테스트"}]
- * : type(default:String)과 size(default:256)는 생략가능하다.
- * return Type : String - sDsName
- * 작성자 : 임준호
- **********************************************************************************/
- function dsf_createDsRow(sDsName, objParam, bUseClientLayout){
-
- //var objParam = utlf_args2Object(sParam);
-
- if(this.objects[sDsName] != null){
- this.objects[sDsName].clear();
- }else{
- var objDs = new Dataset;
- this.addChild(sDsName, objDs);
- objDs.name = sDsName;
- }
-
- this.objects[sDsName].addRow();
-
- //컬럼, ROW 구성
- if(utlf_isNull(objParam.length)){
- //컬럼이 1개일경우, 단일 literal로 넘어왔을때
- if(objParam.type == null) objParam.type = "String";
- if(objParam.size == null) objParam.size = 256;
- if(utlf_isNull(objParam.val) || objParam.val == "undefined") objParam.val = "";
- this.objects[sDsName].addColumn(objParam.col, objParam.type, objParam.size);
- this.objects[sDsName].setColumn(0, objParam.col, objParam.val);
- }else{
- //컬럼이 2개 이상일 경우, array로 넘어왔을때
- for(var i in objParam){
- //trace("undefined="+utlf_transNullToEmpty(objParam[i].val));
- if(objParam[i].type == null) objParam[i].type = "String";
- if(objParam[i].size == null) objParam[i].size = 256;
- if(utlf_isNull(objParam[i].val) || objParam[i].val == "undefined") objParam[i].val = "";
- this.objects[sDsName].addColumn(objParam[i].col, objParam[i].type, objParam[i].size);
- this.objects[sDsName].setColumn(0, objParam[i].col, objParam[i].val);
- //trace(objParam[i].col+"="+objParam[i].val);
- //trace(utlf_transNullToEmpty(objParam[i].val));
- }
- }
-
- //useClientLayout 설정
- if(!utlf_isNull(bUseClientLayout)){
- this.objects[sDsName].useclientlayout = bUseClientLayout;
- }
- //trace(eval(sDsName).saveXML());
- return sDsName;
- }
- //[{col:"userid", val:"test"}, {col:"usernm", val:"테스트"}]
- function dsf_addRow(objDs:Dataset, arrParam){
-
- var nRowNum = objDs.addRow();
-
- for(var i in arrParam){
- objDs.setColumn(nRowNum, arrParam[i].col, arrParam[i].val);
- }
- }
- /**********************************************************************************
- * 함수명 : dsf_copyDs
- * 설 명 : dataset을 복사한다.
- * argument : dsDest - 목적 dataset
- * dsSrc - 소스 dataset
- * sMode - copy방식 (replace:교체, after:dest ds 마지막행 이후에 추가, before:dest ds 첫행에 삽입
- * return Type : Number - copy row count
- * 작성자 : 임준호
- **********************************************************************************/
- function dsf_copyDs(dsDest:Dataset, dsSrc:Dataset, sMode:String){
-
- var nCopyCount = 0;
-
- try{
- if(sMode === "after"){
- //append
- //같은 col id만 추가한다.
- nCopyCount = dsDest.appendData(dsSrc, true);
- }else if(sMode === "before"){
- //insert 0
- var nSrcRowCnt = dsSrc.rowcount;
- var nSrcColCnt = dsSrc.colcount;
- for(var i=(nSrcRowCnt-1) ; i>=0 ; i--){
- dsDest.insertRow(0);
- for(var j=0 ; j<nSrcColCnt ; j++){
- var sSrcColId = dsSrc.getColID(j);
-
- if(!utlf_isNull(dsDest.getColumnInfo(sSrcColId))){
- dsDest.setColumn(0, sSrcColId, dsSrc.getColumn(i, sSrcColId));
- }
- }
- dsDest.setRowType(Dataset.ROWTYPE_NORMAL);
- nCopyCount++;
- }
- }else{
- //replace
- nCopyCount = dsDest.copyData(dsSrc);
- }
- }catch(e){
- nCopyCount = 0;
- sysf_catchTrace(e);
- }
-
- return nCopyCount;
- }
- /**********************************************************************************
- * 함수명 : dsf_copyColInfo
- * 설 명 : dataset의 column을 복사한다.
- * argument : dsDest - 목적 dataset
- * dsSrc - 소스 dataset
- * bReplace - 목적 dataset의 기존 col정보 유지 여부
- * return Type :
- * 작성자 : 임준호
- **********************************************************************************/
- function dsf_copyColInfo(dsDest:Dataset, dsSrc:Dataset, bReplace){
-
- var nSrcColCnt = dsSrc.colcount;
-
- if(utlf_isNull(bReplace)) bReplace = true;
-
- if(bReplace) dsDest.clear();
-
- for(var j=0 ; j<nSrcColCnt ; j++){
- var sSrcColId = dsSrc.getColID(j);
-
- var objSrcColInfo = dsSrc.getColumnInfo(sSrcColId);
- var objDestColIno = new ColumnInfo(objSrcColInfo.name, objSrcColInfo.type, objSrcColInfo.size);
-
- dsDest.addColumnInfo(sSrcColId, objDestColIno);
- }
- }
- /**********************************************************************************
- * 함수명 : dsf_copyNodeListType (->dsf_copyDs사용)
- * 설명 : 목적 데이터셋에 소스 데이터셋을을 mdoe방식에 따라 copy 함
- * argument :
- Object [destModel] - 목적 dataset
- Object [srcModel] - 원본 dataset
- String [sMode] - copy 방식( "replace" | "after" | "before" )
- * return Type : none
- * 작성자 : tobesoft
- **********************************************************************************/
- // function dsf_copyNodeListType(destDS, srcDs, sMode) {
- //
- // if(srcDs.getRowCount() == 0) return;
- //
- // if( sMode != "before" ) {
- // if( sMode == "replace" || sMode == null ) {
- // destDS.clearData();
- // }
- //
- // var nRow;
- // for( var i=0; i < srcDs.getRowCount(); i++ ) {
- // nRow = destDS.addRow();
- // destDS.copyRow(nRow, srcDs, i);
- // }
- // }
- // else
- // {
- // for( var i=0; i < srcDs.getRowCount(); i++ ) {
- // nRow = destDS.insertRow(0);
- // destDS.copyRow(nRow, srcDs, i);
- // }
- // }
- // }
- /**********************************************************************************
- * 함수명 : dsf_copyNodesetType (삭제)
- * 설명 : 목적 노드데이터에 소스 데이터을 mdoe방식에 따라 copy 함.
- * argument :
- Object [destModel] - 목적 dataset
- Object [srcModel] - 원본 dataset
- String [sMode] - copy 방식( "replace" | "after" | "before" )
- * return Type : none
- * 작성자 : tobesoft
- **********************************************************************************/
- // function dsf_copyNodesetType( destDS, srcDs, sMode) {
- //
- // if(srcDs.getRowCount() == 0) return;
- //
- // if( sMode != "before" ) {
- // if( sMode == "replace" || sMode == null ) {
- // destDS.clear();
- // }
- //
- // destDS.copyData(srcDs);
- // }
- // else
- // {
- // for( var i=0; i < srcDs.getRowCount(); i++ ) {
- // nRow = destDS.insertRow(0);
- // destDS.copyRow(nRow, srcDs, i);
- // }
- // }
- // }
- /**********************************************************************************
- * 함수명 : dsf_copyDsWithPostfix
- * 설명 : 목적 노드의 자식 노드를 삭제후 소스 노드의 자식 노드에 postfix의 노드네임을 추가 하여 copy
- * argument :
- destDS - 목적 dataset
- srcDS - 원본 dataset
- postfix -추가 할 노드 네임
-
- * return Type : none
- * 작성자 : tobesoft
- **********************************************************************************/
- function dsf_copyDsWithPostfix(destDS, srcDS, postfix) {
-
- destDS.clear();
- destDS.loadXML(srcDS.saveXML(srcDS,"a"));
- var objCol = new Object();
- var sColID = "";
- for(var i=0; i < srcDS.getColCount(); i++)
- {
- sColID = srcDS.getColID(i);
- destDS.updateColID(sColID, sColID+postfix);
- }
-
- destDS.applyChange();
- }
- /**********************************************************************************
- * 함수명 : dsf_copyDsWithPrefix
- * 설명 : 목적 노드의 자식 노드를 삭제후 소스 노드의 자식 노드에 Prefix의 노드네임을 추가 하여 copy
- * argument :
- destDS - 목적 dataset
- srcDS - 원본 dataset
- Prefix -추가 할 노드 네임
-
- * return Type : none
- * 작성자 : tobesoft
- **********************************************************************************/
- function dsf_copyDsWithPrefix(destDS, srcDS, prefix) {
-
- destDS.clear();
- destDS.loadXML(srcDS.saveXML(srcDS,"a"));
- var objCol = new Object();
- var sColID = "";
- for(var i=0; i < srcDS.getColCount(); i++)
- {
- sColID = srcDS.getColID(i);
- destDS.updateColID(sColID, prefix+sColID);
- }
-
- destDS.applyChange();
- }
- /**********************************************************************************
- * 함수명 : dsf_deleteSelectedRows
- * 설명 : 선택된 행들을 모두 지우거나 deleted 상태로 마크
- * argument : Object grd - 그리드 객체
- Boolean markonly - true이면 지우지 않고 상태만 delete 상태로 변경
- * return Type : none
- * 작성자 : tobesoft
- **********************************************************************************/
- function dsf_deleteSelectedRows(grd,markonly) {
- var rowIdx;
- var bindDs = eval(grd.binddataset);
-
- var arrSelected = new Array();
-
- var sSelectType = grd.selecttype;
- if(sSelectType == "row" || sSelectType == "currow" || sSelectType == "cell")
- {
- arrSelected[0] = bindDs.rowposition;
- }
- else
- {
- for(var i =0; i < bindDs.getRowCount(); i++)
- {
- //선택된 행인지 체크
- if(bindDs.getSelect(i) == true)
- {
- arrSelected.push(i);
- }
- }
- }
- if (arrSelected.length > 0) {
- if (markonly == true) { // mark delete row 상태만 변경
-
- for(var k = arrSelected.length -1; k >= 0; k--)
- {
- if(bindDs.getRowType(arrSelected[k]) == 2) //추가된 행이면
- {
- bindDs.deleteRow(arrSelected[k]);
- }
- else
- {
- bindDs.updatecontrol = false;
- bindDs.setRowType(arrSelected[k], "D");
- bindDs.updatecontrol = true;
- }
- }
- }
- else //row 삭제
- {
- for(var k = arrSelected.length -1; k >= 0; k--)
- {
- //bindDs.updatecontrol = false;
- bindDs.deleteRow(arrSelected[k]);
- //bindDs.updatecontrol = true;
- }
- }
- }
- }
- /**********************************************************************************
- * 함수명 : dsf_datasetUpdateChk
- * 설명 : 데이터셋이 변경 됬는지 체크
- * argument : Object objDs - 데이터셋
- * return Type : Boolean : true - 데이터셋 업데이트 됨, false - 데이터셋 변경 없음
- * 작성자 : tobesoft
- **********************************************************************************/
- function dsf_datasetUpdateChk(objDs)
- {
- var rowCnt,i,j;
- var rowType;
- // 삭제된 Row값 유무체크.
- if(objDs.getDeletedRowCount()>0){
- return true;
- }
-
- if( objDs.getCaseCount("getRowType(rowidx)==2 || getRowType(rowidx)==4 || getRowType(rowidx)==8")>0 ) return true;
-
- return false;
- }
- /**********************************************************************************
- * 함수명 : dsf_getObjFrmDsRow
- * 설명 : 데이터셋의 특정 Row를 Object Literal로 값으로 반환
- * argument : Dataset : ds - 대상 데이터셋, Number : cr - 복사할 대상 행.
- * return Type : Object
- * 작성자 : tobesoft
- **********************************************************************************/
- function dsf_getObjFrmDsRow( ds:Dataset, cr:Number ) {
- var cols = ds.getColCount();
- var objDs = new Object();
- var fildNm = "";
-
- if( ds.rowcount <= cr ) return objDs;
-
- for(var i=0; i<cols; i++) {
- fildNm = ds.getColID(i);
- objDs[fildNm] = ds.getColumn(cr, fildNm);
- }
-
- return objDs;
- }
- /**********************************************************************************
- * 함수명 : dsf_setDsRowFrmObj
- * 설명 : Object Literal의 값을 데이터셋의 특정 Row의 각Column명과 메칭하여 값 설정
- * argument : Dataset : ds - 대상 데이터셋, Object : obj - 복사할 Object, Number : cr - 복사할 대상 행.
- * return Type : Boolean : true - 데이터셋 업데이트 됨, false - 데이터셋 변경 없음
- * 작성자 : tobesoft
- **********************************************************************************/
- function dsf_setDsRowFrmObj( ds:Dataset, obj:Object, cr:Number) {
- var cols = ds.getColCount();
- var objDs = obj;
- var fildNm = "";
-
- if( ds.rowcount <= cr ) return false;
-
- for(var i=0; i<cols; i++) {
- fildNm = ds.getColID(i);
- if( typeof(objDs[fildNm]) != "undefined" ) {
- ds.setColumn(cr, fildNm, objDs[fildNm]);
- }
- }
-
- return true;
- }
- /********************************************************************************************************************/
- /************************* 파일첨부 관련 함수 *********************************************************************/
- /********************************************************************************************************************/
- var dsfgv_mimetype = {};
- dsfgv_mimetype['x3d'] = 'application/vnd.hzn-3d-crossword';
- dsfgv_mimetype['3gp'] = 'video/3gpp';
- dsfgv_mimetype['3g2'] = 'video/3gpp2';
- dsfgv_mimetype['mseq'] = 'application/vnd.mseq';
- dsfgv_mimetype['pwn'] = 'application/vnd.3m.post-it-notes';
- dsfgv_mimetype['plb'] = 'application/vnd.3gpp.pic-bw-large';
- dsfgv_mimetype['psb'] = 'application/vnd.3gpp.pic-bw-small';
- dsfgv_mimetype['pvb'] = 'application/vnd.3gpp.pic-bw-var';
- dsfgv_mimetype['tcap'] = 'application/vnd.3gpp2.tcap';
- dsfgv_mimetype['7z'] = 'application/x-7z-compressed';
- dsfgv_mimetype['abw'] = 'application/x-abiword';
- dsfgv_mimetype['ace'] = 'application/x-ace-compressed';
- dsfgv_mimetype['acc'] = 'application/vnd.americandynamics.acc';
- dsfgv_mimetype['acu'] = 'application/vnd.acucobol';
- dsfgv_mimetype['atc'] = 'application/vnd.acucorp';
- dsfgv_mimetype['adp'] = 'audio/adpcm';
- dsfgv_mimetype['aab'] = 'application/x-authorware-bin';
- dsfgv_mimetype['aam'] = 'application/x-authorware-map';
- dsfgv_mimetype['aas'] = 'application/x-authorware-seg';
- dsfgv_mimetype['air'] = 'application/vnd.adobe.air-application-installer-package+zip';
- dsfgv_mimetype['swf'] = 'application/x-shockwave-flash';
- dsfgv_mimetype['fxp'] = 'application/vnd.adobe.fxp';
- dsfgv_mimetype['pdf'] = 'application/pdf';
- dsfgv_mimetype['ppd'] = 'application/vnd.cups-ppd';
- dsfgv_mimetype['dir'] = 'application/x-director';
- dsfgv_mimetype['xdp'] = 'application/vnd.adobe.xdp+xml';
- dsfgv_mimetype['xfdf'] = 'application/vnd.adobe.xfdf';
- dsfgv_mimetype['aac'] = 'audio/x-aac';
- dsfgv_mimetype['ahead'] = 'application/vnd.ahead.space';
- dsfgv_mimetype['azf'] = 'application/vnd.airzip.filesecure.azf';
- dsfgv_mimetype['azs'] = 'application/vnd.airzip.filesecure.azs';
- dsfgv_mimetype['azw'] = 'application/vnd.amazon.ebook';
- dsfgv_mimetype['ami'] = 'application/vnd.amiga.ami';
- dsfgv_mimetype['apk'] = 'application/vnd.android.package-archive';
- dsfgv_mimetype['cii'] = 'application/vnd.anser-web-certificate-issue-initiation';
- dsfgv_mimetype['fti'] = 'application/vnd.anser-web-funds-transfer-initiation';
- dsfgv_mimetype['atx'] = 'application/vnd.antix.game-component';
- dsfgv_mimetype['mpkg'] = 'application/vnd.apple.installer+xml';
- dsfgv_mimetype['aw'] = 'application/applixware';
- dsfgv_mimetype['les'] = 'application/vnd.hhe.lesson-player';
- dsfgv_mimetype['swi'] = 'application/vnd.aristanetworks.swi';
- dsfgv_mimetype['s'] = 'text/x-asm';
- dsfgv_mimetype['atomcat'] = 'application/atomcat+xml';
- dsfgv_mimetype['atomsvc'] = 'application/atomsvc+xml';
- dsfgv_mimetype['atom'] = 'application/atom+xml';
- dsfgv_mimetype['ac'] = 'application/pkix-attr-cert';
- dsfgv_mimetype['aif'] = 'audio/x-aiff';
- dsfgv_mimetype['avi'] = 'video/x-msvideo';
- dsfgv_mimetype['aep'] = 'application/vnd.audiograph';
- dsfgv_mimetype['dxf'] = 'image/vnd.dxf';
- dsfgv_mimetype['dwf'] = 'model/vnd.dwf';
- dsfgv_mimetype['par'] = 'text/plain-bas';
- dsfgv_mimetype['bcpio'] = 'application/x-bcpio';
- dsfgv_mimetype['bin'] = 'application/octet-stream';
- dsfgv_mimetype['bmp'] = 'image/bmp';
- dsfgv_mimetype['torrent'] = 'application/x-bittorrent';
- dsfgv_mimetype['cod'] = 'application/vnd.rim.cod';
- dsfgv_mimetype['mpm'] = 'application/vnd.blueice.multipass';
- dsfgv_mimetype['bmi'] = 'application/vnd.bmi';
- dsfgv_mimetype['sh'] = 'application/x-sh';
- dsfgv_mimetype['btif'] = 'image/prs.btif';
- dsfgv_mimetype['rep'] = 'application/vnd.businessobjects';
- dsfgv_mimetype['bz'] = 'application/x-bzip';
- dsfgv_mimetype['bz2'] = 'application/x-bzip2';
- dsfgv_mimetype['csh'] = 'application/x-csh';
- dsfgv_mimetype['c'] = 'text/x-c';
- dsfgv_mimetype['cdxml'] = 'application/vnd.chemdraw+xml';
- dsfgv_mimetype['css'] = 'text/css';
- dsfgv_mimetype['cdx'] = 'chemical/x-cdx';
- dsfgv_mimetype['cml'] = 'chemical/x-cml';
- dsfgv_mimetype['csml'] = 'chemical/x-csml';
- dsfgv_mimetype['cdbcmsg'] = 'application/vnd.contact.cmsg';
- dsfgv_mimetype['cla'] = 'application/vnd.claymore';
- dsfgv_mimetype['c4g'] = 'application/vnd.clonk.c4group';
- dsfgv_mimetype['sub'] = 'image/vnd.dvb.subtitle';
- dsfgv_mimetype['cdmia'] = 'application/cdmi-capability';
- dsfgv_mimetype['cdmic'] = 'application/cdmi-container';
- dsfgv_mimetype['cdmid'] = 'application/cdmi-domain';
- dsfgv_mimetype['cdmio'] = 'application/cdmi-object';
- dsfgv_mimetype['cdmiq'] = 'application/cdmi-queue';
- dsfgv_mimetype['c11amc'] = 'application/vnd.cluetrust.cartomobile-config';
- dsfgv_mimetype['c11amz'] = 'application/vnd.cluetrust.cartomobile-config-pkg';
- dsfgv_mimetype['ras'] = 'image/x-cmu-raster';
- dsfgv_mimetype['dae'] = 'model/vnd.collada+xml';
- dsfgv_mimetype['csv'] = 'text/csv';
- dsfgv_mimetype['cpt'] = 'application/mac-compactpro';
- dsfgv_mimetype['wmlc'] = 'application/vnd.wap.wmlc';
- dsfgv_mimetype['cgm'] = 'image/cgm';
- dsfgv_mimetype['ice'] = 'x-conference/x-cooltalk';
- dsfgv_mimetype['cmx'] = 'image/x-cmx';
- dsfgv_mimetype['xar'] = 'application/vnd.xara';
- dsfgv_mimetype['cmc'] = 'application/vnd.cosmocaller';
- dsfgv_mimetype['cpio'] = 'application/x-cpio';
- dsfgv_mimetype['clkx'] = 'application/vnd.crick.clicker';
- dsfgv_mimetype['clkk'] = 'application/vnd.crick.clicker.keyboard';
- dsfgv_mimetype['clkp'] = 'application/vnd.crick.clicker.palette';
- dsfgv_mimetype['clkt'] = 'application/vnd.crick.clicker.template';
- dsfgv_mimetype['clkw'] = 'application/vnd.crick.clicker.wordbank';
- dsfgv_mimetype['wbs'] = 'application/vnd.criticaltools.wbs+xml';
- dsfgv_mimetype['cryptonote'] = 'application/vnd.rig.cryptonote';
- dsfgv_mimetype['cif'] = 'chemical/x-cif';
- dsfgv_mimetype['cmdf'] = 'chemical/x-cmdf';
- dsfgv_mimetype['cu'] = 'application/cu-seeme';
- dsfgv_mimetype['cww'] = 'application/prs.cww';
- dsfgv_mimetype['curl'] = 'text/vnd.curl';
- dsfgv_mimetype['dcurl'] = 'text/vnd.curl.dcurl';
- dsfgv_mimetype['mcurl'] = 'text/vnd.curl.mcurl';
- dsfgv_mimetype['scurl'] = 'text/vnd.curl.scurl';
- dsfgv_mimetype['car'] = 'application/vnd.curl.car';
- dsfgv_mimetype['pcurl'] = 'application/vnd.curl.pcurl';
- dsfgv_mimetype['cmp'] = 'application/vnd.yellowriver-custom-menu';
- dsfgv_mimetype['dssc'] = 'application/dssc+der';
- dsfgv_mimetype['xdssc'] = 'application/dssc+xml';
- dsfgv_mimetype['deb'] = 'application/x-debian-package';
- dsfgv_mimetype['uva'] = 'audio/vnd.dece.audio';
- dsfgv_mimetype['uvi'] = 'image/vnd.dece.graphic';
- dsfgv_mimetype['uvh'] = 'video/vnd.dece.hd';
- dsfgv_mimetype['uvm'] = 'video/vnd.dece.mobile';
- dsfgv_mimetype['uvu'] = 'video/vnd.uvvu.mp4';
- dsfgv_mimetype['uvp'] = 'video/vnd.dece.pd';
- dsfgv_mimetype['uvs'] = 'video/vnd.dece.sd';
- dsfgv_mimetype['uvv'] = 'video/vnd.dece.video';
- dsfgv_mimetype['dvi'] = 'application/x-dvi';
- dsfgv_mimetype['seed'] = 'application/vnd.fdsn.seed';
- dsfgv_mimetype['dtb'] = 'application/x-dtbook+xml';
- dsfgv_mimetype['res'] = 'application/x-dtbresource+xml';
- dsfgv_mimetype['ait'] = 'application/vnd.dvb.ait';
- dsfgv_mimetype['svc'] = 'application/vnd.dvb.service';
- dsfgv_mimetype['eol'] = 'audio/vnd.digital-winds';
- dsfgv_mimetype['djvu'] = 'image/vnd.djvu';
- dsfgv_mimetype['dtd'] = 'application/xml-dtd';
- dsfgv_mimetype['mlp'] = 'application/vnd.dolby.mlp';
- dsfgv_mimetype['wad'] = 'application/x-doom';
- dsfgv_mimetype['dpg'] = 'application/vnd.dpgraph';
- dsfgv_mimetype['dra'] = 'audio/vnd.dra';
- dsfgv_mimetype['dfac'] = 'application/vnd.dreamfactory';
- dsfgv_mimetype['dts'] = 'audio/vnd.dts';
- dsfgv_mimetype['dtshd'] = 'audio/vnd.dts.hd';
- dsfgv_mimetype['dwg'] = 'image/vnd.dwg';
- dsfgv_mimetype['geo'] = 'application/vnd.dynageo';
- dsfgv_mimetype['es'] = 'application/ecmascript';
- dsfgv_mimetype['mag'] = 'application/vnd.ecowin.chart';
- dsfgv_mimetype['mmr'] = 'image/vnd.fujixerox.edmics-mmr';
- dsfgv_mimetype['rlc'] = 'image/vnd.fujixerox.edmics-rlc';
- dsfgv_mimetype['exi'] = 'application/exi';
- dsfgv_mimetype['mgz'] = 'application/vnd.proteus.magazine';
- dsfgv_mimetype['epub'] = 'application/epub+zip';
- dsfgv_mimetype['eml'] = 'message/rfc822';
- dsfgv_mimetype['nml'] = 'application/vnd.enliven';
- dsfgv_mimetype['xpr'] = 'application/vnd.is-xpr';
- dsfgv_mimetype['xif'] = 'image/vnd.xiff';
- dsfgv_mimetype['xfdl'] = 'application/vnd.xfdl';
- dsfgv_mimetype['emma'] = 'application/emma+xml';
- dsfgv_mimetype['ez2'] = 'application/vnd.ezpix-album';
- dsfgv_mimetype['ez3'] = 'application/vnd.ezpix-package';
- dsfgv_mimetype['fst'] = 'image/vnd.fst';
- dsfgv_mimetype['fvt'] = 'video/vnd.fvt';
- dsfgv_mimetype['fbs'] = 'image/vnd.fastbidsheet';
- dsfgv_mimetype['fe_launch'] = 'application/vnd.denovo.fcselayout-link';
- dsfgv_mimetype['f4v'] = 'video/x-f4v';
- dsfgv_mimetype['flv'] = 'video/x-flv';
- dsfgv_mimetype['fpx'] = 'image/vnd.fpx';
- dsfgv_mimetype['npx'] = 'image/vnd.net-fpx';
- dsfgv_mimetype['flx'] = 'text/vnd.fmi.flexstor';
- dsfgv_mimetype['fli'] = 'video/x-fli';
- dsfgv_mimetype['ftc'] = 'application/vnd.fluxtime.clip';
- dsfgv_mimetype['fdf'] = 'application/vnd.fdf';
- dsfgv_mimetype['f'] = 'text/x-fortran';
- dsfgv_mimetype['mif'] = 'application/vnd.mif';
- dsfgv_mimetype['fm'] = 'application/vnd.framemaker';
- dsfgv_mimetype['fh'] = 'image/x-freehand';
- dsfgv_mimetype['fsc'] = 'application/vnd.fsc.weblaunch';
- dsfgv_mimetype['fnc'] = 'application/vnd.frogans.fnc';
- dsfgv_mimetype['ltf'] = 'application/vnd.frogans.ltf';
- dsfgv_mimetype['ddd'] = 'application/vnd.fujixerox.ddd';
- dsfgv_mimetype['xdw'] = 'application/vnd.fujixerox.docuworks';
- dsfgv_mimetype['xbd'] = 'application/vnd.fujixerox.docuworks.binder';
- dsfgv_mimetype['oas'] = 'application/vnd.fujitsu.oasys';
- dsfgv_mimetype['oa2'] = 'application/vnd.fujitsu.oasys2';
- dsfgv_mimetype['oa3'] = 'application/vnd.fujitsu.oasys3';
- dsfgv_mimetype['fg5'] = 'application/vnd.fujitsu.oasysgp';
- dsfgv_mimetype['bh2'] = 'application/vnd.fujitsu.oasysprs';
- dsfgv_mimetype['spl'] = 'application/x-futuresplash';
- dsfgv_mimetype['fzs'] = 'application/vnd.fuzzysheet';
- dsfgv_mimetype['g3'] = 'image/g3fax';
- dsfgv_mimetype['gmx'] = 'application/vnd.gmx';
- dsfgv_mimetype['gtw'] = 'model/vnd.gtw';
- dsfgv_mimetype['txd'] = 'application/vnd.genomatix.tuxedo';
- dsfgv_mimetype['ggb'] = 'application/vnd.geogebra.file';
- dsfgv_mimetype['ggt'] = 'application/vnd.geogebra.tool';
- dsfgv_mimetype['gdl'] = 'model/vnd.gdl';
- dsfgv_mimetype['gex'] = 'application/vnd.geometry-explorer';
- dsfgv_mimetype['gxt'] = 'application/vnd.geonext';
- dsfgv_mimetype['g2w'] = 'application/vnd.geoplan';
- dsfgv_mimetype['g3w'] = 'application/vnd.geospace';
- dsfgv_mimetype['gsf'] = 'application/x-font-ghostscript';
- dsfgv_mimetype['bdf'] = 'application/x-font-bdf';
- dsfgv_mimetype['gtar'] = 'application/x-gtar';
- dsfgv_mimetype['texinfo'] = 'application/x-texinfo';
- dsfgv_mimetype['gnumeric'] = 'application/x-gnumeric';
- dsfgv_mimetype['kml'] = 'application/vnd.google-earth.kml+xml';
- dsfgv_mimetype['kmz'] = 'application/vnd.google-earth.kmz';
- dsfgv_mimetype['gqf'] = 'application/vnd.grafeq';
- dsfgv_mimetype['gif'] = 'image/gif';
- dsfgv_mimetype['gv'] = 'text/vnd.graphviz';
- dsfgv_mimetype['gac'] = 'application/vnd.groove-account';
- dsfgv_mimetype['ghf'] = 'application/vnd.groove-help';
- dsfgv_mimetype['gim'] = 'application/vnd.groove-identity-message';
- dsfgv_mimetype['grv'] = 'application/vnd.groove-injector';
- dsfgv_mimetype['gtm'] = 'application/vnd.groove-tool-message';
- dsfgv_mimetype['tpl'] = 'application/vnd.groove-tool-template';
- dsfgv_mimetype['vcg'] = 'application/vnd.groove-vcard';
- dsfgv_mimetype['h261'] = 'video/h261';
- dsfgv_mimetype['h263'] = 'video/h263';
- dsfgv_mimetype['h264'] = 'video/h264';
- dsfgv_mimetype['hpid'] = 'application/vnd.hp-hpid';
- dsfgv_mimetype['hps'] = 'application/vnd.hp-hps';
- dsfgv_mimetype['hdf'] = 'application/x-hdf';
- dsfgv_mimetype['rip'] = 'audio/vnd.rip';
- dsfgv_mimetype['hbci'] = 'application/vnd.hbci';
- dsfgv_mimetype['jlt'] = 'application/vnd.hp-jlyt';
- dsfgv_mimetype['pcl'] = 'application/vnd.hp-pcl';
- dsfgv_mimetype['hpgl'] = 'application/vnd.hp-hpgl';
- dsfgv_mimetype['hvs'] = 'application/vnd.yamaha.hv-script';
- dsfgv_mimetype['hvd'] = 'application/vnd.yamaha.hv-dic';
- dsfgv_mimetype['hvp'] = 'application/vnd.yamaha.hv-voice';
- dsfgv_mimetype['sfd-hdstx'] = 'application/vnd.hydrostatix.sof-data';
- dsfgv_mimetype['stk'] = 'application/hyperstudio';
- dsfgv_mimetype['hal'] = 'application/vnd.hal+xml';
- dsfgv_mimetype['html'] = 'text/html';
- dsfgv_mimetype['irm'] = 'application/vnd.ibm.rights-management';
- dsfgv_mimetype['sc'] = 'application/vnd.ibm.secure-container';
- dsfgv_mimetype['ics'] = 'text/calendar';
- dsfgv_mimetype['icc'] = 'application/vnd.iccprofile';
- dsfgv_mimetype['ico'] = 'image/x-icon';
- dsfgv_mimetype['igl'] = 'application/vnd.igloader';
- dsfgv_mimetype['ief'] = 'image/ief';
- dsfgv_mimetype['ivp'] = 'application/vnd.immervision-ivp';
- dsfgv_mimetype['ivu'] = 'application/vnd.immervision-ivu';
- dsfgv_mimetype['rif'] = 'application/reginfo+xml';
- dsfgv_mimetype['3dml'] = 'text/vnd.in3d.3dml';
- dsfgv_mimetype['spot'] = 'text/vnd.in3d.spot';
- dsfgv_mimetype['igs'] = 'model/iges';
- dsfgv_mimetype['i2g'] = 'application/vnd.intergeo';
- dsfgv_mimetype['cdy'] = 'application/vnd.cinderella';
- dsfgv_mimetype['xpw'] = 'application/vnd.intercon.formnet';
- dsfgv_mimetype['fcs'] = 'application/vnd.isac.fcs';
- dsfgv_mimetype['ipfix'] = 'application/ipfix';
- dsfgv_mimetype['cer'] = 'application/pkix-cert';
- dsfgv_mimetype['pki'] = 'application/pkixcmp';
- dsfgv_mimetype['crl'] = 'application/pkix-crl';
- dsfgv_mimetype['pkipath'] = 'application/pkix-pkipath';
- dsfgv_mimetype['igm'] = 'application/vnd.insors.igm';
- dsfgv_mimetype['rcprofile'] = 'application/vnd.ipunplugged.rcprofile';
- dsfgv_mimetype['irp'] = 'application/vnd.irepository.package+xml';
- dsfgv_mimetype['jad'] = 'text/vnd.sun.j2me.app-descriptor';
- dsfgv_mimetype['jar'] = 'application/java-archive';
- dsfgv_mimetype['class'] = 'application/java-vm';
- dsfgv_mimetype['jnlp'] = 'application/x-java-jnlp-file';
- dsfgv_mimetype['ser'] = 'application/java-serialized-object';
- dsfgv_mimetype['java'] = 'text/x-java-source,java';
- dsfgv_mimetype['js'] = 'application/javascript';
- dsfgv_mimetype['json'] = 'application/json';
- dsfgv_mimetype['joda'] = 'application/vnd.joost.joda-archive';
- dsfgv_mimetype['jpm'] = 'video/jpm';
- dsfgv_mimetype['jpeg'] = 'image/jpeg';
- dsfgv_mimetype['jpg'] = 'image/jpeg';
- dsfgv_mimetype['jpgv'] = 'video/jpeg';
- dsfgv_mimetype['ktz'] = 'application/vnd.kahootz';
- dsfgv_mimetype['mmd'] = 'application/vnd.chipnuts.karaoke-mmd';
- dsfgv_mimetype['karbon'] = 'application/vnd.kde.karbon';
- dsfgv_mimetype['chrt'] = 'application/vnd.kde.kchart';
- dsfgv_mimetype['kfo'] = 'application/vnd.kde.kformula';
- dsfgv_mimetype['flw'] = 'application/vnd.kde.kivio';
- dsfgv_mimetype['kon'] = 'application/vnd.kde.kontour';
- dsfgv_mimetype['kpr'] = 'application/vnd.kde.kpresenter';
- dsfgv_mimetype['ksp'] = 'application/vnd.kde.kspread';
- dsfgv_mimetype['kwd'] = 'application/vnd.kde.kword';
- dsfgv_mimetype['htke'] = 'application/vnd.kenameaapp';
- dsfgv_mimetype['kia'] = 'application/vnd.kidspiration';
- dsfgv_mimetype['kne'] = 'application/vnd.kinar';
- dsfgv_mimetype['sse'] = 'application/vnd.kodak-descriptor';
- dsfgv_mimetype['lasxml'] = 'application/vnd.las.las+xml';
- dsfgv_mimetype['latex'] = 'application/x-latex';
- dsfgv_mimetype['lbd'] = 'application/vnd.llamagraphics.life-balance.desktop';
- dsfgv_mimetype['lbe'] = 'application/vnd.llamagraphics.life-balance.exchange+xml';
- dsfgv_mimetype['jam'] = 'application/vnd.jam';
- dsfgv_mimetype['apr'] = 'application/vnd.lotus-approach';
- dsfgv_mimetype['pre'] = 'application/vnd.lotus-freelance';
- dsfgv_mimetype['nsf'] = 'application/vnd.lotus-notes';
- dsfgv_mimetype['org'] = 'application/vnd.lotus-organizer';
- dsfgv_mimetype['scm'] = 'application/vnd.lotus-screencam';
- dsfgv_mimetype['lwp'] = 'application/vnd.lotus-wordpro';
- dsfgv_mimetype['lvp'] = 'audio/vnd.lucent.voice';
- dsfgv_mimetype['m3u'] = 'audio/x-mpegurl';
- dsfgv_mimetype['m4v'] = 'video/x-m4v';
- dsfgv_mimetype['hqx'] = 'application/mac-binhex40';
- dsfgv_mimetype['portpkg'] = 'application/vnd.macports.portpkg';
- dsfgv_mimetype['mgp'] = 'application/vnd.osgeo.mapguide.package';
- dsfgv_mimetype['mrc'] = 'application/marc';
- dsfgv_mimetype['mrcx'] = 'application/marcxml+xml';
- dsfgv_mimetype['mxf'] = 'application/mxf';
- dsfgv_mimetype['nbp'] = 'application/vnd.wolfram.player';
- dsfgv_mimetype['ma'] = 'application/mathematica';
- dsfgv_mimetype['mathml'] = 'application/mathml+xml';
- dsfgv_mimetype['mbox'] = 'application/mbox';
- dsfgv_mimetype['mc1'] = 'application/vnd.medcalcdata';
- dsfgv_mimetype['mscml'] = 'application/mediaservercontrol+xml';
- dsfgv_mimetype['cdkey'] = 'application/vnd.mediastation.cdkey';
- dsfgv_mimetype['mwf'] = 'application/vnd.mfer';
- dsfgv_mimetype['mfm'] = 'application/vnd.mfmp';
- dsfgv_mimetype['msh'] = 'model/mesh';
- dsfgv_mimetype['mads'] = 'application/mads+xml';
- dsfgv_mimetype['mets'] = 'application/mets+xml';
- dsfgv_mimetype['mods'] = 'application/mods+xml';
- dsfgv_mimetype['meta4'] = 'application/metalink4+xml';
- dsfgv_mimetype['potm'] = 'application/vnd.ms-powerpoint.template.macroenabled.12';
- dsfgv_mimetype['docm'] = 'application/vnd.ms-word.document.macroenabled.12';
- dsfgv_mimetype['dotm'] = 'application/vnd.ms-word.template.macroenabled.12';
- dsfgv_mimetype['mcd'] = 'application/vnd.mcd';
- dsfgv_mimetype['flo'] = 'application/vnd.micrografx.flo';
- dsfgv_mimetype['igx'] = 'application/vnd.micrografx.igx';
- dsfgv_mimetype['es3'] = 'application/vnd.eszigno3+xml';
- dsfgv_mimetype['mdb'] = 'application/x-msaccess';
- dsfgv_mimetype['asf'] = 'video/x-ms-asf';
- dsfgv_mimetype['exe'] = 'application/x-msdownload';
- dsfgv_mimetype['cil'] = 'application/vnd.ms-artgalry';
- dsfgv_mimetype['cab'] = 'application/vnd.ms-cab-compressed';
- dsfgv_mimetype['ims'] = 'application/vnd.ms-ims';
- dsfgv_mimetype['applicatio'] = 'application/x-ms-application';
- dsfgv_mimetype['clp'] = 'application/x-msclip';
- dsfgv_mimetype['mdi'] = 'image/vnd.ms-modi';
- dsfgv_mimetype['eot'] = 'application/vnd.ms-fontobject';
- dsfgv_mimetype['xls'] = 'application/vnd.ms-excel';
- dsfgv_mimetype['xlam'] = 'application/vnd.ms-excel.addin.macroenabled.12';
- dsfgv_mimetype['xlsb'] = 'application/vnd.ms-excel.sheet.binary.macroenabled.12';
- dsfgv_mimetype['xltm'] = 'application/vnd.ms-excel.template.macroenabled.12';
- dsfgv_mimetype['xlsm'] = 'application/vnd.ms-excel.sheet.macroenabled.12';
- dsfgv_mimetype['chm'] = 'application/vnd.ms-htmlhelp';
- dsfgv_mimetype['crd'] = 'application/x-mscardfile';
- dsfgv_mimetype['lrm'] = 'application/vnd.ms-lrm';
- dsfgv_mimetype['mvb'] = 'application/x-msmediaview';
- dsfgv_mimetype['mny'] = 'application/x-msmoney';
- dsfgv_mimetype['pptx'] = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
- dsfgv_mimetype['sldx'] = 'application/vnd.openxmlformats-officedocument.presentationml.slide';
- dsfgv_mimetype['ppsx'] = 'application/vnd.openxmlformats-officedocument.presentationml.slideshow';
- dsfgv_mimetype['potx'] = 'application/vnd.openxmlformats-officedocument.presentationml.template';
- dsfgv_mimetype['xlsx'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
- dsfgv_mimetype['xltx'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.template';
- dsfgv_mimetype['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
- dsfgv_mimetype['dotx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.template';
- dsfgv_mimetype['obd'] = 'application/x-msbinder';
- dsfgv_mimetype['thmx'] = 'application/vnd.ms-officetheme';
- dsfgv_mimetype['onetoc'] = 'application/onenote';
- dsfgv_mimetype['pya'] = 'audio/vnd.ms-playready.media.pya';
- dsfgv_mimetype['pyv'] = 'video/vnd.ms-playready.media.pyv';
- dsfgv_mimetype['ppt'] = 'application/vnd.ms-powerpoint';
- dsfgv_mimetype['ppam'] = 'application/vnd.ms-powerpoint.addin.macroenabled.12';
- dsfgv_mimetype['sldm'] = 'application/vnd.ms-powerpoint.slide.macroenabled.12';
- dsfgv_mimetype['pptm'] = 'application/vnd.ms-powerpoint.presentation.macroenabled.12';
- dsfgv_mimetype['ppsm'] = 'application/vnd.ms-powerpoint.slideshow.macroenabled.12';
- dsfgv_mimetype['mpp'] = 'application/vnd.ms-project';
- dsfgv_mimetype['pub'] = 'application/x-mspublisher';
- dsfgv_mimetype['scd'] = 'application/x-msschedule';
- dsfgv_mimetype['xap'] = 'application/x-silverlight-app';
- dsfgv_mimetype['stl'] = 'application/vnd.ms-pki.stl';
- dsfgv_mimetype['cat'] = 'application/vnd.ms-pki.seccat';
- dsfgv_mimetype['vsd'] = 'application/vnd.visio';
- dsfgv_mimetype['wm'] = 'video/x-ms-wm';
- dsfgv_mimetype['wma'] = 'audio/x-ms-wma';
- dsfgv_mimetype['wax'] = 'audio/x-ms-wax';
- dsfgv_mimetype['wmx'] = 'video/x-ms-wmx';
- dsfgv_mimetype['wmd'] = 'application/x-ms-wmd';
- dsfgv_mimetype['wpl'] = 'application/vnd.ms-wpl';
- dsfgv_mimetype['wmz'] = 'application/x-ms-wmz';
- dsfgv_mimetype['wmv'] = 'video/x-ms-wmv';
- dsfgv_mimetype['wvx'] = 'video/x-ms-wvx';
- dsfgv_mimetype['wmf'] = 'application/x-msmetafile';
- dsfgv_mimetype['trm'] = 'application/x-msterminal';
- dsfgv_mimetype['doc'] = 'application/msword';
- dsfgv_mimetype['wri'] = 'application/x-mswrite';
- dsfgv_mimetype['wps'] = 'application/vnd.ms-works';
- dsfgv_mimetype['xbap'] = 'application/x-ms-xbap';
- dsfgv_mimetype['xps'] = 'application/vnd.ms-xpsdocument';
- dsfgv_mimetype['mid'] = 'audio/midi';
- dsfgv_mimetype['mpy'] = 'application/vnd.ibm.minipay';
- dsfgv_mimetype['afp'] = 'application/vnd.ibm.modcap';
- dsfgv_mimetype['rms'] = 'application/vnd.jcp.javame.midlet-rms';
- dsfgv_mimetype['tmo'] = 'application/vnd.tmobile-livetv';
- dsfgv_mimetype['prc'] = 'application/x-mobipocket-ebook';
- dsfgv_mimetype['mbk'] = 'application/vnd.mobius.mbk';
- dsfgv_mimetype['dis'] = 'application/vnd.mobius.dis';
- dsfgv_mimetype['plc'] = 'application/vnd.mobius.plc';
- dsfgv_mimetype['mqy'] = 'application/vnd.mobius.mqy';
- dsfgv_mimetype['msl'] = 'application/vnd.mobius.msl';
- dsfgv_mimetype['txf'] = 'application/vnd.mobius.txf';
- dsfgv_mimetype['daf'] = 'application/vnd.mobius.daf';
- dsfgv_mimetype['fly'] = 'text/vnd.fly';
- dsfgv_mimetype['mpc'] = 'application/vnd.mophun.certificate';
- dsfgv_mimetype['mpn'] = 'application/vnd.mophun.application';
- dsfgv_mimetype['mj2'] = 'video/mj2';
- dsfgv_mimetype['mpga'] = 'audio/mpeg';
- dsfgv_mimetype['mxu'] = 'video/vnd.mpegurl';
- dsfgv_mimetype['mpeg'] = 'video/mpeg';
- dsfgv_mimetype['m21'] = 'application/mp21';
- dsfgv_mimetype['mp4a'] = 'audio/mp4';
- dsfgv_mimetype['mp4'] = 'video/mp4';
- dsfgv_mimetype['mp4'] = 'application/mp4';
- dsfgv_mimetype['m3u8'] = 'application/vnd.apple.mpegurl';
- dsfgv_mimetype['mus'] = 'application/vnd.musician';
- dsfgv_mimetype['msty'] = 'application/vnd.muvee.style';
- dsfgv_mimetype['mxml'] = 'application/xv+xml';
- dsfgv_mimetype['ngdat'] = 'application/vnd.nokia.n-gage.data';
- dsfgv_mimetype['n-gage'] = 'application/vnd.nokia.n-gage.symbian.install';
- dsfgv_mimetype['ncx'] = 'application/x-dtbncx+xml';
- dsfgv_mimetype['nc'] = 'application/x-netcdf';
- dsfgv_mimetype['nlu'] = 'application/vnd.neurolanguage.nlu';
- dsfgv_mimetype['dna'] = 'application/vnd.dna';
- dsfgv_mimetype['nnd'] = 'application/vnd.noblenet-directory';
- dsfgv_mimetype['nns'] = 'application/vnd.noblenet-sealer';
- dsfgv_mimetype['nnw'] = 'application/vnd.noblenet-web';
- dsfgv_mimetype['rpst'] = 'application/vnd.nokia.radio-preset';
- dsfgv_mimetype['rpss'] = 'application/vnd.nokia.radio-presets';
- dsfgv_mimetype['n3'] = 'text/n3';
- dsfgv_mimetype['edm'] = 'application/vnd.novadigm.edm';
- dsfgv_mimetype['edx'] = 'application/vnd.novadigm.edx';
- dsfgv_mimetype['ext'] = 'application/vnd.novadigm.ext';
- dsfgv_mimetype['gph'] = 'application/vnd.flographit';
- dsfgv_mimetype['ecelp4800'] = 'audio/vnd.nuera.ecelp4800';
- dsfgv_mimetype['ecelp7470'] = 'audio/vnd.nuera.ecelp7470';
- dsfgv_mimetype['ecelp9600'] = 'audio/vnd.nuera.ecelp9600';
- dsfgv_mimetype['oda'] = 'application/oda';
- dsfgv_mimetype['ogx'] = 'application/ogg';
- dsfgv_mimetype['oga'] = 'audio/ogg';
- dsfgv_mimetype['ogv'] = 'video/ogg';
- dsfgv_mimetype['dd2'] = 'application/vnd.oma.dd2+xml';
- dsfgv_mimetype['oth'] = 'application/vnd.oasis.opendocument.text-web';
- dsfgv_mimetype['opf'] = 'application/oebps-package+xml';
- dsfgv_mimetype['qbo'] = 'application/vnd.intu.qbo';
- dsfgv_mimetype['oxt'] = 'application/vnd.openofficeorg.extension';
- dsfgv_mimetype['osf'] = 'application/vnd.yamaha.openscoreformat';
- dsfgv_mimetype['weba'] = 'audio/webm';
- dsfgv_mimetype['webm'] = 'video/webm';
- dsfgv_mimetype['odc'] = 'application/vnd.oasis.opendocument.chart';
- dsfgv_mimetype['otc'] = 'application/vnd.oasis.opendocument.chart-template';
- dsfgv_mimetype['odb'] = 'application/vnd.oasis.opendocument.database';
- dsfgv_mimetype['odf'] = 'application/vnd.oasis.opendocument.formula';
- dsfgv_mimetype['odft'] = 'application/vnd.oasis.opendocument.formula-template';
- dsfgv_mimetype['odg'] = 'application/vnd.oasis.opendocument.graphics';
- dsfgv_mimetype['otg'] = 'application/vnd.oasis.opendocument.graphics-template';
- dsfgv_mimetype['odi'] = 'application/vnd.oasis.opendocument.image';
- dsfgv_mimetype['oti'] = 'application/vnd.oasis.opendocument.image-template';
- dsfgv_mimetype['odp'] = 'application/vnd.oasis.opendocument.presentation';
- dsfgv_mimetype['otp'] = 'application/vnd.oasis.opendocument.presentation-template';
- dsfgv_mimetype['ods'] = 'application/vnd.oasis.opendocument.spreadsheet';
- dsfgv_mimetype['ots'] = 'application/vnd.oasis.opendocument.spreadsheet-template';
- dsfgv_mimetype['odt'] = 'application/vnd.oasis.opendocument.text';
- dsfgv_mimetype['odm'] = 'application/vnd.oasis.opendocument.text-master';
- dsfgv_mimetype['ott'] = 'application/vnd.oasis.opendocument.text-template';
- dsfgv_mimetype['ktx'] = 'image/ktx';
- dsfgv_mimetype['sxc'] = 'application/vnd.sun.xml.calc';
- dsfgv_mimetype['stc'] = 'application/vnd.sun.xml.calc.template';
- dsfgv_mimetype['sxd'] = 'application/vnd.sun.xml.draw';
- dsfgv_mimetype['std'] = 'application/vnd.sun.xml.draw.template';
- dsfgv_mimetype['sxi'] = 'application/vnd.sun.xml.impress';
- dsfgv_mimetype['sti'] = 'application/vnd.sun.xml.impress.template';
- dsfgv_mimetype['sxm'] = 'application/vnd.sun.xml.math';
- dsfgv_mimetype['sxw'] = 'application/vnd.sun.xml.writer';
- dsfgv_mimetype['sxg'] = 'application/vnd.sun.xml.writer.global';
- dsfgv_mimetype['stw'] = 'application/vnd.sun.xml.writer.template';
- dsfgv_mimetype['otf'] = 'application/x-font-otf';
- dsfgv_mimetype['osfpvg'] = 'application/vnd.yamaha.openscoreformat.osfpvg+xml';
- dsfgv_mimetype['dp'] = 'application/vnd.osgi.dp';
- dsfgv_mimetype['pdb'] = 'application/vnd.palm';
- dsfgv_mimetype['p'] = 'text/x-pascal';
- dsfgv_mimetype['paw'] = 'application/vnd.pawaafile';
- dsfgv_mimetype['pclxl'] = 'application/vnd.hp-pclxl';
- dsfgv_mimetype['efif'] = 'application/vnd.picsel';
- dsfgv_mimetype['pcx'] = 'image/x-pcx';
- dsfgv_mimetype['psd'] = 'image/vnd.adobe.photoshop';
- dsfgv_mimetype['prf'] = 'application/pics-rules';
- dsfgv_mimetype['pic'] = 'image/x-pict';
- dsfgv_mimetype['chat'] = 'application/x-chat';
- dsfgv_mimetype['p10'] = 'application/pkcs10';
- dsfgv_mimetype['p12'] = 'application/x-pkcs12';
- dsfgv_mimetype['p7m'] = 'application/pkcs7-mime';
- dsfgv_mimetype['p7s'] = 'application/pkcs7-signature';
- dsfgv_mimetype['p7r'] = 'application/x-pkcs7-certreqresp';
- dsfgv_mimetype['p7b'] = 'application/x-pkcs7-certificates';
- dsfgv_mimetype['p8'] = 'application/pkcs8';
- dsfgv_mimetype['plf'] = 'application/vnd.pocketlearn';
- dsfgv_mimetype['pnm'] = 'image/x-portable-anymap';
- dsfgv_mimetype['pbm'] = 'image/x-portable-bitmap';
- dsfgv_mimetype['pcf'] = 'application/x-font-pcf';
- dsfgv_mimetype['pfr'] = 'application/font-tdpfr';
- dsfgv_mimetype['pgn'] = 'application/x-chess-pgn';
- dsfgv_mimetype['pgm'] = 'image/x-portable-graymap';
- dsfgv_mimetype['png'] = 'image/png';
- dsfgv_mimetype['ppm'] = 'image/x-portable-pixmap';
- dsfgv_mimetype['pskcxml'] = 'application/pskc+xml';
- dsfgv_mimetype['pml'] = 'application/vnd.ctc-posml';
- dsfgv_mimetype['ai'] = 'application/postscript';
- dsfgv_mimetype['pfa'] = 'application/x-font-type1';
- dsfgv_mimetype['pbd'] = 'application/vnd.powerbuilder6';
- dsfgv_mimetype['pgp'] = 'application/pgp-signature';
- dsfgv_mimetype['box'] = 'application/vnd.previewsystems.box';
- dsfgv_mimetype['ptid'] = 'application/vnd.pvi.ptid1';
- dsfgv_mimetype['pls'] = 'application/pls+xml';
- dsfgv_mimetype['str'] = 'application/vnd.pg.format';
- dsfgv_mimetype['ei6'] = 'application/vnd.pg.osasli';
- dsfgv_mimetype['dsc'] = 'text/prs.lines.tag';
- dsfgv_mimetype['psf'] = 'application/x-font-linux-psf';
- dsfgv_mimetype['qps'] = 'application/vnd.publishare-delta-tree';
- dsfgv_mimetype['wg'] = 'application/vnd.pmi.widget';
- dsfgv_mimetype['qxd'] = 'application/vnd.quark.quarkxpress';
- dsfgv_mimetype['esf'] = 'application/vnd.epson.esf';
- dsfgv_mimetype['msf'] = 'application/vnd.epson.msf';
- dsfgv_mimetype['ssf'] = 'application/vnd.epson.ssf';
- dsfgv_mimetype['qam'] = 'application/vnd.epson.quickanime';
- dsfgv_mimetype['qfx'] = 'application/vnd.intu.qfx';
- dsfgv_mimetype['qt'] = 'video/quicktime';
- dsfgv_mimetype['rar'] = 'application/x-rar-compressed';
- dsfgv_mimetype['ram'] = 'audio/x-pn-realaudio';
- dsfgv_mimetype['rmp'] = 'audio/x-pn-realaudio-plugin';
- dsfgv_mimetype['rsd'] = 'application/rsd+xml';
- dsfgv_mimetype['rm'] = 'application/vnd.rn-realmedia';
- dsfgv_mimetype['bed'] = 'application/vnd.realvnc.bed';
- dsfgv_mimetype['mxl'] = 'application/vnd.recordare.musicxml';
- dsfgv_mimetype['musicxml'] = 'application/vnd.recordare.musicxml+xml';
- dsfgv_mimetype['rnc'] = 'application/relax-ng-compact-syntax';
- dsfgv_mimetype['rdz'] = 'application/vnd.data-vision.rdz';
- dsfgv_mimetype['rdf'] = 'application/rdf+xml';
- dsfgv_mimetype['rp9'] = 'application/vnd.cloanto.rp9';
- dsfgv_mimetype['jisp'] = 'application/vnd.jisp';
- dsfgv_mimetype['rtf'] = 'application/rtf';
- dsfgv_mimetype['rtx'] = 'text/richtext';
- dsfgv_mimetype['link66'] = 'application/vnd.route66.link66+xml';
- dsfgv_mimetype['rss'] = 'application/rss+xml';
- dsfgv_mimetype['shf'] = 'application/shf+xml';
- dsfgv_mimetype['st'] = 'application/vnd.sailingtracker.track';
- dsfgv_mimetype['svg'] = 'image/svg+xml';
- dsfgv_mimetype['sus'] = 'application/vnd.sus-calendar';
- dsfgv_mimetype['sru'] = 'application/sru+xml';
- dsfgv_mimetype['setpay'] = 'application/set-payment-initiation';
- dsfgv_mimetype['setreg'] = 'application/set-registration-initiation';
- dsfgv_mimetype['sema'] = 'application/vnd.sema';
- dsfgv_mimetype['semd'] = 'application/vnd.semd';
- dsfgv_mimetype['semf'] = 'application/vnd.semf';
- dsfgv_mimetype['see'] = 'application/vnd.seemail';
- dsfgv_mimetype['snf'] = 'application/x-font-snf';
- dsfgv_mimetype['spq'] = 'application/scvp-vp-request';
- dsfgv_mimetype['spp'] = 'application/scvp-vp-response';
- dsfgv_mimetype['scq'] = 'application/scvp-cv-request';
- dsfgv_mimetype['scs'] = 'application/scvp-cv-response';
- dsfgv_mimetype['sdp'] = 'application/sdp';
- dsfgv_mimetype['etx'] = 'text/x-setext';
- dsfgv_mimetype['movie'] = 'video/x-sgi-movie';
- dsfgv_mimetype['ifm'] = 'application/vnd.shana.informed.formdata';
- dsfgv_mimetype['itp'] = 'application/vnd.shana.informed.formtemplate';
- dsfgv_mimetype['iif'] = 'application/vnd.shana.informed.interchange';
- dsfgv_mimetype['ipk'] = 'application/vnd.shana.informed.package';
- dsfgv_mimetype['tfi'] = 'application/thraud+xml';
- dsfgv_mimetype['shar'] = 'application/x-shar';
- dsfgv_mimetype['rgb'] = 'image/x-rgb';
- dsfgv_mimetype['slt'] = 'application/vnd.epson.salt';
- dsfgv_mimetype['aso'] = 'application/vnd.accpac.simply.aso';
- dsfgv_mimetype['imp'] = 'application/vnd.accpac.simply.imp';
- dsfgv_mimetype['twd'] = 'application/vnd.simtech-mindmapper';
- dsfgv_mimetype['csp'] = 'application/vnd.commonspace';
- dsfgv_mimetype['saf'] = 'application/vnd.yamaha.smaf-audio';
- dsfgv_mimetype['mmf'] = 'application/vnd.smaf';
- dsfgv_mimetype['spf'] = 'application/vnd.yamaha.smaf-phrase';
- dsfgv_mimetype['teacher'] = 'application/vnd.smart.teacher';
- dsfgv_mimetype['svd'] = 'application/vnd.svd';
- dsfgv_mimetype['rq'] = 'application/sparql-query';
- dsfgv_mimetype['srx'] = 'application/sparql-results+xml';
- dsfgv_mimetype['gram'] = 'application/srgs';
- dsfgv_mimetype['grxml'] = 'application/srgs+xml';
- dsfgv_mimetype['ssml'] = 'application/ssml+xml';
- dsfgv_mimetype['skp'] = 'application/vnd.koan';
- dsfgv_mimetype['sgml'] = 'text/sgml';
- dsfgv_mimetype['sdc'] = 'application/vnd.stardivision.calc';
- dsfgv_mimetype['sda'] = 'application/vnd.stardivision.draw';
- dsfgv_mimetype['sdd'] = 'application/vnd.stardivision.impress';
- dsfgv_mimetype['smf'] = 'application/vnd.stardivision.math';
- dsfgv_mimetype['sdw'] = 'application/vnd.stardivision.writer';
- dsfgv_mimetype['sgl'] = 'application/vnd.stardivision.writer-global';
- dsfgv_mimetype['sm'] = 'application/vnd.stepmania.stepchart';
- dsfgv_mimetype['sit'] = 'application/x-stuffit';
- dsfgv_mimetype['sitx'] = 'application/x-stuffitx';
- dsfgv_mimetype['sdkm'] = 'application/vnd.solent.sdkm+xml';
- dsfgv_mimetype['xo'] = 'application/vnd.olpc-sugar';
- dsfgv_mimetype['au'] = 'audio/basic';
- dsfgv_mimetype['wqd'] = 'application/vnd.wqd';
- dsfgv_mimetype['sis'] = 'application/vnd.symbian.install';
- dsfgv_mimetype['smi'] = 'application/smil+xml';
- dsfgv_mimetype['xsm'] = 'application/vnd.syncml+xml';
- dsfgv_mimetype['bdm'] = 'application/vnd.syncml.dm+wbxml';
- dsfgv_mimetype['xdm'] = 'application/vnd.syncml.dm+xml';
- dsfgv_mimetype['sv4cpio'] = 'application/x-sv4cpio';
- dsfgv_mimetype['sv4crc'] = 'application/x-sv4crc';
- dsfgv_mimetype['sbml'] = 'application/sbml+xml';
- dsfgv_mimetype['tsv'] = 'text/tab-separated-values';
- dsfgv_mimetype['tiff'] = 'image/tiff';
- dsfgv_mimetype['tao'] = 'application/vnd.tao.intent-module-archive';
- dsfgv_mimetype['tar'] = 'application/x-tar';
- dsfgv_mimetype['tcl'] = 'application/x-tcl';
- dsfgv_mimetype['tex'] = 'application/x-tex';
- dsfgv_mimetype['tfm'] = 'application/x-tex-tfm';
- dsfgv_mimetype['tei'] = 'application/tei+xml';
- dsfgv_mimetype['txt'] = 'text/plain';
- dsfgv_mimetype['dxp'] = 'application/vnd.spotfire.dxp';
- dsfgv_mimetype['sfs'] = 'application/vnd.spotfire.sfs';
- dsfgv_mimetype['tsd'] = 'application/timestamped-data';
- dsfgv_mimetype['tpt'] = 'application/vnd.trid.tpt';
- dsfgv_mimetype['mxs'] = 'application/vnd.triscape.mxs';
- dsfgv_mimetype['t'] = 'text/troff';
- dsfgv_mimetype['tra'] = 'application/vnd.trueapp';
- dsfgv_mimetype['ttf'] = 'application/x-font-ttf';
- dsfgv_mimetype['ttl'] = 'text/turtle';
- dsfgv_mimetype['umj'] = 'application/vnd.umajin';
- dsfgv_mimetype['uoml'] = 'application/vnd.uoml+xml';
- dsfgv_mimetype['unityweb'] = 'application/vnd.unity';
- dsfgv_mimetype['ufd'] = 'application/vnd.ufdl';
- dsfgv_mimetype['uri'] = 'text/uri-list';
- dsfgv_mimetype['utz'] = 'application/vnd.uiq.theme';
- dsfgv_mimetype['ustar'] = 'application/x-ustar';
- dsfgv_mimetype['uu'] = 'text/x-uuencode';
- dsfgv_mimetype['vcs'] = 'text/x-vcalendar';
- dsfgv_mimetype['vcf'] = 'text/x-vcard';
- dsfgv_mimetype['vcd'] = 'application/x-cdlink';
- dsfgv_mimetype['vsf'] = 'application/vnd.vsf';
- dsfgv_mimetype['wrl'] = 'model/vrml';
- dsfgv_mimetype['vcx'] = 'application/vnd.vcx';
- dsfgv_mimetype['mts'] = 'model/vnd.mts';
- dsfgv_mimetype['vtu'] = 'model/vnd.vtu';
- dsfgv_mimetype['vis'] = 'application/vnd.visionary';
- dsfgv_mimetype['viv'] = 'video/vnd.vivo';
- dsfgv_mimetype['ccxml'] = 'application/ccxml+xml,';
- dsfgv_mimetype['vxml'] = 'application/voicexml+xml';
- dsfgv_mimetype['src'] = 'application/x-wais-source';
- dsfgv_mimetype['wbxml'] = 'application/vnd.wap.wbxml';
- dsfgv_mimetype['wbmp'] = 'image/vnd.wap.wbmp';
- dsfgv_mimetype['wav'] = 'audio/x-wav';
- dsfgv_mimetype['davmount'] = 'application/davmount+xml';
- dsfgv_mimetype['woff'] = 'application/x-font-woff';
- dsfgv_mimetype['wspolicy'] = 'application/wspolicy+xml';
- dsfgv_mimetype['webp'] = 'image/webp';
- dsfgv_mimetype['wtb'] = 'application/vnd.webturbo';
- dsfgv_mimetype['wgt'] = 'application/widget';
- dsfgv_mimetype['hlp'] = 'application/winhlp';
- dsfgv_mimetype['wml'] = 'text/vnd.wap.wml';
- dsfgv_mimetype['wmls'] = 'text/vnd.wap.wmlscript';
- dsfgv_mimetype['wmlsc'] = 'application/vnd.wap.wmlscriptc';
- dsfgv_mimetype['wpd'] = 'application/vnd.wordperfect';
- dsfgv_mimetype['stf'] = 'application/vnd.wt.stf';
- dsfgv_mimetype['wsdl'] = 'application/wsdl+xml';
- dsfgv_mimetype['xbm'] = 'image/x-xbitmap';
- dsfgv_mimetype['xpm'] = 'image/x-xpixmap';
- dsfgv_mimetype['xwd'] = 'image/x-xwindowdump';
- dsfgv_mimetype['der'] = 'application/x-x509-ca-cert';
- dsfgv_mimetype['fig'] = 'application/x-xfig';
- dsfgv_mimetype['xhtml'] = 'application/xhtml+xml';
- dsfgv_mimetype['xml'] = 'application/xml';
- dsfgv_mimetype['xdf'] = 'application/xcap-diff+xml';
- dsfgv_mimetype['xenc'] = 'application/xenc+xml';
- dsfgv_mimetype['xer'] = 'application/patch-ops-error+xml';
- dsfgv_mimetype['rl'] = 'application/resource-lists+xml';
- dsfgv_mimetype['rs'] = 'application/rls-services+xml';
- dsfgv_mimetype['rld'] = 'application/resource-lists-diff+xml';
- dsfgv_mimetype['xslt'] = 'application/xslt+xml';
- dsfgv_mimetype['xop'] = 'application/xop+xml';
- dsfgv_mimetype['xpi'] = 'application/x-xpinstall';
- dsfgv_mimetype['xspf'] = 'application/xspf+xml';
- dsfgv_mimetype['xul'] = 'application/vnd.mozilla.xul+xml';
- dsfgv_mimetype['xyz'] = 'chemical/x-xyz';
- dsfgv_mimetype['yang'] = 'application/yang';
- dsfgv_mimetype['yin'] = 'application/yin+xml';
- dsfgv_mimetype['zir'] = 'application/vnd.zul';
- dsfgv_mimetype['zip'] = 'application/zip';
- dsfgv_mimetype['zmm'] = 'application/vnd.handheld-entertainment+xml';
- dsfgv_mimetype['zaz'] = 'application/vnd.zzazz.deck+xml';
- /**********************************************************************************
- * 함수명 : dsf_writeFileToDs
- * 설 명 : dataset의 특정컬럼에 주어진 VirtualFile 객체의 내용을 B
- * LOB 형식으로 write 한다.
- * argument : objVFile - write 할 VirtualFile
- * objDataset - 목적 dataset
- * nRow - 파일데이터를 저장할 데이터셋의 행위치
- * sColName - 파일데이터를 저장할 데이터셋의 컬럼명
- *
- * return Type : Object - 저장된 파일에 대한 정보를 담은 객체
- * 작성자 : 이상준
- **********************************************************************************/
- function dsf_writeFileToDs(objVFile, objDataset:Dataset, nRow, sColName)
- {
- var rtn = objVFile.open(VirtualFile.openRead | VirtualFile.openBinary);
- objVFile.seek(0,VirtualFile.seekBegin);
- var bData = new Buffer(objVFile.read(objVFile.getFileSize()));
-
- var objColInfo = objDataset.getColumnInfo(sColName);
-
- objDataset.setColumn(nRow,sColName,bData.data);
-
- // 파일을 닫기전 필요한 파라미터 세팅
- var objFileinfo = new Object();
- objFileinfo.filename = objVFile.filename;
- objFileinfo.filesize = objVFile.getFileSize();
-
- var sExt = objVFile.filename.substring(objVFile.filename.indexOf(".")+1, objVFile.filename.length);
- objFileinfo.filetype = dsfgv_mimetype[sExt];
- if(objFileinfo.filetype == undefined) {
- objFileinfo.filetype = 'application/octet-stream';
- }
- // 파일을 닫는다.
- objVFile.close();
-
- return objFileinfo; // FileInfo 반환
- }
- /**********************************************************************************
- * 함수명 : dsf_readFileFromDs
- * 설 명 : dataset의 특정컬럼으로부터 BLOCB 형식의 데이터를 읽어와서
- * 로컬파일시스템에 하나의 파일로 저장한다.
- * argument : sFilePath - 저장될 파일의 경로
- * objDataset - 원본 dataset
- * nRow - 파일데이터를 읽어오는 데이터셋의 행위치
- * sColName - 파일데이터를 읽어오는 데이터셋의 컬럼명
- *
- * return Type : VirtualFile - 저장된 파일에 대한 객체
- * 작성자 : 이상준
- **********************************************************************************/
- function dsf_readFileFromDs(sFilePath, objDataset:Dataset, nRow, sColName)
- {
- // export 시 내문서로 저장이 되기 때문에 파일 이동을 한다.
- this.setWaitCursor(true,true);
- var objExtCommon = new ExtCommon();
- var userHomeDir = system.convertRealPath("%MYDOCUMENT%");
- var arrFileName = sFilePath.split("\\");
- var preFilePath = userHomeDir + arrFileName[arrFileName.length-1];
-
- var objBytes = objDataset.getColumn(nRow ,sColName);
- var objBuf = new Buffer(objBytes);
- //var vfile = new VirtualFile(sFilePath , VirtualFile.openWrite | VirtualFile.openBinary);
- var vfile = new VirtualFile(preFilePath , VirtualFile.openWrite | VirtualFile.openBinary);
- var rtn = vfile.write(objBuf.data);
- vfile.close();
-
- // 파일이동
- if(objExtCommon.IsFileExist(sFilePath)) objExtCommon.DeleteFile(sFilePath);
- objExtCommon.MoveFile(preFilePath, sFilePath, false);
- this.setWaitCursor(false,true);
-
- return sFilePath;
- }
- /**********************************************************************************
- * 함수명 : dsf_setDefaultVal
- * 설 명 : dataset의 특정컬럼에 Default 값을 넣어준다.
- * argument : oDataset - 원본 dataset
- * colNameNVals - Default 값을 적용할 데이터셋의 컬럼명과 Default 값
- * 사용예시 : 1) dsf_setDefaultVal(dataset, "appyn:Y,pid:1234");
- * 2) dsf_setDefaultVal(dataset, "all"); <- 전체 컬럼에 대해서 undefined 값이 나오지 않도록 디폴트값을 ''으로 설정
- * <- useClientLayout 옵션이 true 일때만 사용가능
- * (false 일때는 컬럼 정보 없는 경우가 있어 불가능 함)
- * return Type :
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_setDefaultVal(oDataset:Dataset, colNameNVals, bAddRow) {
- var allChangeMode = (colNameNVals == "all") ? true : false;
-
- if(allChangeMode) {
- colNameNVals = "";
- var colCount = oDataset.colcount;
- var colCount2 = colCount - 1;
-
- for(var i = 0; i < colCount; i++) {
- var postFix = (i == colCount2) ? '' : ',';
- colNameNVals += oDataset.getColID(i) + ":" + '' + postFix;
- }
- }
-
- var tempVals = colNameNVals.split(',');
- if(tempVals.length < 1)
- return;
-
- var vals = tempVals[0].split(':');
- if(vals.length < 1)
- return;
- if(!allChangeMode && !oDataset.getColumnInfo(vals[0]))
- oDataset.addColumn(vals[0], "string");
-
- var expr = "utlf_isNull(" + vals[0] + ")";
-
- for(var i = 1; i < tempVals.length; i++) {
- var vals = tempVals[i].split(':');
-
- if(!allChangeMode && !oDataset.getColumnInfo(vals[0]))
- oDataset.addColumn(vals[0], "string");
-
- expr += " || " + "utlf_isNull(" + vals[0] + ")";
- }
-
- if(bAddRow && oDataset.rowcount == 0) oDataset.addRow();
-
- oDataset.enableevent = false;
- oDataset.filter(expr);
-
- for(var i = 0; i < oDataset.rowcount; i++) {
- for(var j = 0; j < tempVals.length; j++) {
- var vals = tempVals[j].split(':');
- if(utlf_isNull(oDataset.getColumn(i, vals[0]))) {
- oDataset.setColumn(i, vals[0], vals[1]);
- }
- }
- }
-
- oDataset.filter("");
- oDataset.enableevent = true;
- }
- /**********************************************************************************
- * 함수명 : dsf_setFixVal
- * 설 명 : dataset의 특정컬럼에 고정값을 넣어준다.
- * argument : oDataset - 원본 dataset
- * colNameNVals - 고정값을 적용할 데이터셋의 컬럼명과 고정값
- * 사용예시 : 1) dsf_setFixVal(dataset, "appyn:Y,pid:1234");
- * return Type :
- * 작성자 :
- **********************************************************************************/
- function dsf_setFixVal(oDataset:Dataset, colNameNVals) {
-
- var tempVals = colNameNVals.split(',');
- if(tempVals.length < 1)
- return;
-
- var vals = tempVals[0].split(':');
- if(vals.length < 1)
- return;
- if(!oDataset.getColumnInfo(vals[0]))
- oDataset.addColumn(vals[0], "string");
-
- for(var i = 1; i < tempVals.length; i++) {
- var vals = tempVals[i].split(':');
-
- if(!oDataset.getColumnInfo(vals[0]))
- oDataset.addColumn(vals[0], "string");
-
- }
-
- oDataset.enableevent = false;
-
- for(var i = 0; i < oDataset.rowcount; i++) {
- for(var j = 0; j < tempVals.length; j++) {
- var vals = tempVals[j].split(':');
- oDataset.setColumn(i, vals[0], vals[1]);
- }
- }
-
- oDataset.enableevent = true;
- }
- /**********************************************************************************
- * 함수명 : dsf_deleteDs
- * 설 명 : dataset을 삭제한다.
- * argument : sDsName - 원본 dataset 의 이름
- * dsf_deleteDs("ds_tempPatlist");
- * return Type :
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_deleteDs(sDsName) {
- if(utlf_isNull(this.objects[sDsName])) return;
-
- var oRemoveDs = this.removeChild(sDsName);
- delete oRemoveDs;
- oRemoveDs = null;
- }
- /**********************************************************************************
- * 함수명 : dsf_getDsCSV
- * 설 명 : Dataset을 CSV로 반환한다.
- * argument : oDataset - Dataset 객체
- nRow - 특정행만 CSV로 만들고 싶을때 행 index를 넘겨준다.
- sHeaderFlag - 해더 정보는 빼고 CSV로 만들때 사용("N"을 넘기면 된다)
- sStatus - 이 값에 해당하는 행의 값만 추출할 때 사용("status:I")
- sRtnCheck - sStatus에 해당하는 값에 따라 해당하는 아이템의 갯수 체크하여 리턴값을 넘기도록 함
- * return Type : String rCSV
- a▦b▦c▩true▦1▦1▩true▦3▦3▩true▦5▦5▩
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_getDsCSV(oDataset:Dataset, nRow, sHeaderFlag, status, sRtnCheck) {
- if (oDataset.rowcount == 0)
- return "";
- var sColSep = "▦";
- var sRowSep = "▩";
- var rCSV = "";
-
- var colCount = oDataset.colcount;
- var colCount2 = oDataset.colcount - 1;
- var rowCount = oDataset.rowcount;
-
- if(colCount == 0)
- return "";
-
- var colIDs = new Array();
-
- for(var i = 0; i < colCount; i++) {
- var postFix = (i == colCount2) ? sRowSep : sColSep;
- colIDs[i] = oDataset.getColID(i);
-
- if(sHeaderFlag != "N")
- rCSV += colIDs[i] + postFix;
- }
- var row = 0;
-
- if(!utlf_isNull(nRow)) {
- row = nRow;
- rowCount = nRow + 1;
- }
-
- var statusColNm;
- var statusColVal;
- if(!utlf_isNull(status)) {
- statusColNm = status.split(":")[0];
- statusColVal = status.split(":")[1];
- }
-
- var selCnt = 0;
-
- while(row < rowCount) {
- if(utlf_isNull(status) || (oDataset.getColumn(row, statusColNm) == statusColVal)) {
- for(var i = 0; i < colCount; i++) {
- var postFix = (i == colCount2) ? sRowSep : sColSep;
- var value = oDataset.getColumn(row, colIDs[i]);
- if(utlf_isNull(value)) value = "";
-
- rCSV += value + postFix;
- }
-
- selCnt++;
- }
- row++;
- }
-
- if(!utlf_isNull(sRtnCheck) && selCnt == 0)
- return "N";
- return rCSV;
- }
- /**********************************************************************************
- * 함수명 : dsf_setCSVToDs
- * 설 명 : CSV 데이터를 Dataset 으로 생성한다.
- * argument : sDsName - 생성할 Dataset의 이름
- CSV - CSV 데이터
- * 사용예 : dsf_setCSVToDs("ds_patordinfolist", "a▦b▦c▩true▦1▦1▩true▦3▦3▩true▦5▦5▩");
-
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_setCSVToDs(sDsName, CSV) {
- if(utlf_isNull(CSV)) {
- dsf_createDs(sDsName);
- return;
- }
- var sColSep = "▦";
- var sRowSep = "▩";
-
- var CSVArray = CSV.split(sRowSep);
- var CSVArrayCnt = CSVArray.length - 1;
-
- // 헤더값, 즉 컬럼명을 얻어온다
- var nodeNameArray = CSVArray[0].split(sColSep);
-
- // 컬럼의 개수를 얻어온다
- var nodeNameArrayCnt = nodeNameArray.length;
-
- var arrColInfo = new Array();
- for(var i = 0; i < nodeNameArrayCnt; i++) {
- arrColInfo.push({col: nodeNameArray[i]});
- }
-
- // 파라미터로 넘겨준 이름으로 Dataset을 생성한다.
- dsf_createDs(sDsName, arrColInfo);
-
- // 생성한 Dataset의 객체를 가져온다.
- var oDataset = this.objects[sDsName];
-
- for(var i = 1; i < CSVArrayCnt; i++) {
- // i번째 로우(행)의 컬럼 데이터들을 가지고 온다
- var valueArray = CSVArray[i].split(sColSep);
- var rowpos = oDataset.addRow();
-
- for(var j = 0; j < nodeNameArrayCnt; j++) {
- // 각 로우(행)의 데이터를 컬럼 단위로 하나하나 가지고 와서 oDataset의 컬럼에 하나하나 넣어준다
- oDataset.setColumn(rowpos, nodeNameArray[j], valueArray[j]);
- }
- }
-
- oDataset.applyChange();
- }
- /**********************************************************************************
- * 함수명 : dsf_makeValue
- * 설 명 : model.makeValue를 대체하기 위해 ds에 column유무를 체크하고 있으면
- * setColumn 없으면 컬럼 생성후 setColumn 실행
- * argument : objDs - 데이터셋
- * sColnm - 컬럼명
- * sData - 입력할 데이터
- * nRow - 추가할 행(default : 0)
- * return Type :
- * 작성자 : 노회식
- **********************************************************************************/
- function dsf_makeValue(objDs, sColnm, sType, sData, nRow) {
- // 컬럼정보 있는지 확인후 없으면 생성
- if(utlf_isNull(objDs.getColumnInfo(sColnm))) {
- var a = objDs.addColumn(sColnm,sType);
- }
- // 바디로우 없으면 한줄 생성
- // if(objDs.rowcount==0) {
- // objDs.addRow();
- // }
- // 로우값 들어오지 않았다면 첫줄
- if(utlf_isNull(nRow)) {
- nRow = 0;
- }
- // 로우값 만큼 로우 생성
- if(nRow >= objDs.rowcount) {
- for(var mi = objDs.rowcount ; mi <= nRow ; mi++) {
- objDs.addRow();
- }
- }
- objDs.setColumn(nRow,sColnm,sData);
- }
- /**********************************************************************************
- * 함수명 : dsf_addDsItem
- * 설명 : 데이타셋 아이템 추가 함수
- * argument : Dataset objDs - 해당 데이타셋 오브젝트
- String sCodeCol - 추가 할 code에 해당하는 데이타셋 컬럼 이름
- String sDataCol - 추가 할 data에 해당하는 데이타셋 컬럼 이름
- String sLabel - 추가 할 아이템 Label
- String sValue - 추가 할 아이템 Value
- String nPosition - 추가 할 위치 ( "above" | "below" )
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_addDsItem( objDs:Dataset, sCodeCol, sDataCol, sLabel, sValue, sPosition ) {
- if(utlf_isNull(sLabel) && utlf_isNull(sValue) ) {
- sLabel = "전체";
- sValue = "-";
- }
-
- if(utlf_isNull(sCodeCol)) sCodeCol = "cdid";
- if(utlf_isNull(sDataCol)) sDataCol = "cdnm";
-
- if(utlf_isNull(sPosition) ) sPosition = "init";
-
- if(sPosition == "init" || sPosition == "above")
- {
- var nRow = objDs.insertRow(0);
- objDs.setColumn(nRow, sCodeCol, sValue);
- objDs.setColumn(nRow, sDataCol, sLabel);
- }
- else
- {
- var nRow = objDs.addRow();
- objDs.setColumn(nRow, sCodeCol, sValue);
- objDs.setColumn(nRow, sDataCol, sLabel);
- }
- }
- /**********************************************************************************
- * 함수명 : dsf_setTypeFormat
- * 설명 : 데이타셋의 컬럼별 타입과 포맷을 설정하는 함수(기존에 Mapfile에서 설정하여 쓰던 것을 함수로 설정하도록 함)
- * argument : Dataset oDataset - 해당 데이타셋 오브젝트
- String colNameNFormat - 지정 할 컬럼별 타입과 포맷(컬럼별 구분은 '^', 한 컬럼은 컬럼이름:타입:포맷 형식으로 표현)
- - 이 때 포맷의 소수점 앞자리는 무시하고 소수점 아래의 # 갯수에 따라 소수점의 자릿수를 지정함
- * 사용예 : dsf_setTypeFormat(ds_send, "prcpvol:FLOAT^prcpqty:FLOAT^prcptims:INT^prcpdayno:INT");
- - prcpvol 컬럼에 FLOAT 타입을 적용(이렇게 변경 후 기본적으로 FLOAT은 비지니스단으로 넘어갈때 소수점 첫째자리까지 표시됨)
- - prcpqty 컬럼에 FLOAT 타입을 적용
- - prcptims, prcpdayno 컬럼에 INT 타입을 적용
- dsf_setTypeFormat(ds_send, "prcpvol:FLOAT:#.##^prcpqty:FLOAT:#.#^prcptims:INT^prcpdayno:INT");
- - prcpvol 컬럼에 FLOAT 타입을 적용하고 #.## 소수점 둘째자리까지 표시하는 포맷 적용
- - prcpqty 컬럼에 FLOAT 타입을 적용하고 #.# 소수점 첫재자리까지 표시하는 포맷 적용
- - prcptims, prcpdayno 컬럼에 INT 타입을 적용
- dsf_setTypeFormat(ds_send, "rcptamt:INT:#,###^prcpqty:FLOAT^prcptims:INT^prcpdayno:INT");
- - rcptamt 컬럼에 INT 타입을 적용하고 #,### 형태의 포맷을 적용(세자리마다 쉼표 찍는 포맷)
- - prcpqty 컬럼에 FLOAT 타입을 적용
- - prcptims, prcpdayno 컬럼에 INT 타입을 적용
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_setTypeFormat(oDataset:Dataset, colNameNFormat) {
- var tempVals = colNameNFormat.split('^');
- if(tempVals.length < 1)
- return;
-
- var vals = tempVals[0].split(':');
- if(vals.length < 1)
- return;
-
- oDataset.enableevent = false;
-
- var colArray = new Array();
- var index = 0;
-
- for(var i = 0; i < tempVals.length; i++) {
- var vals = tempVals[i].split(':');
-
- var columnInfo = oDataset.getColumnInfo(vals[0]);
- columnInfo.type = "STRING"; // String 으로 바꿔놓고 해야 아래 format으로 변환된 값으로 바뀜
-
- if(vals.length == 3 && !utlf_isNull(vals[2])) {
- colArray[index] = new Array(2);
- colArray[index][0] = vals[0]; // 컬럼id
- colArray[index++][1] = vals[2]; // format 형식
- }
- }
- if(colArray.length > 0) {
- for(var i = 0; i < oDataset.rowcount; i++) {
- for(j = 0; j < colArray.length; j++) {
- var value = oDataset.getColumn(i, colArray[j][0]);
- oDataset.setColumn(i, colArray[j][0], utlf_setFormat(value, colArray[j][1]));
- }
- }
- }
-
- for(var i = 0; i < tempVals.length; i++) {
- var vals = tempVals[i].split(':');
-
- var columnInfo = oDataset.getColumnInfo(vals[0]);
- columnInfo.type = vals[1]; // 원래 설정할 타입으로 다시 변경
- }
-
- oDataset.enableevent = true;
- }
- /*
- function dsf_clearDsList(checkDsNm, model){
- // utlf_addLog("***** dsf_clearDsList checkDsNm : " + checkDsNm );
- // utlf_addLog("***** this.objects.length : " + this.objects.length );
-
- var rCnt = 0;
- var model;
- if( utlf_isNull(model) ){ model = this;}
- //else{ model = eval(Model); }
-
- for(var i=0; i<model.objects.length; i++){
- var temp = (model.objects[i].name).indexOf( checkDsNm );
- if( temp > -1 ){
- // utlf_addLog("***** this.object[" + i + "].name : " + this.objects[i].name );
- var dsSrcNm = model.objects[i].name;
- var tempNm = dsSrcNm.substring(checkDsNm.length, dsSrcNm.length);
- // utlf_addLog("***** tempNm : " + tempNm);
- model.objects[i].clearData();
- rCnt++;
- }
- }
-
- return rCnt;
- }
- function dsf_copyDsList(dsDestNm, dsSrcNm, sMode, destModel, srcModel ){
- // utlf_addLog("***** dsf_copyDsList dsDestNm : " + dsDestNm + " dsSrcNm : " + dsSrcNm + " sMode : " + sMode + " *****");
-
- if( utlf_isNull(destModel) ) destModel = this;
- //else destModel = eval(destModel);
-
- if( utlf_isNull(srcModel) ) srcModel = this;
- //else srcModel = eval(srcModel);
- // utlf_addLog(" destModel : " + destModel);
- // utlf_addLog(" srcModel : " + srcModel);
-
- // 복사 전 목적노드 리스트 초기화
- var clearCnt = dsf_clearDsList(dsDestNm, destModel);
- if( clearCnt > 0 ) utlf_addLog("***** [" + dsDestNm + "] Node List Clear Count : " + clearCnt + " *****");
-
- for(var i=0; i<srcModel.objects.length; i++){
- var temp = (srcModel.objects[i].name).indexOf( dsSrcNm );
- if( temp > -1 ){
- // utlf_addLog("***** srcModel.object[" + i + "].name : " + srcModel.objects[i].name );
- // utlf_addLog("***** srcModel.object[" + i + "].rowcount : " + srcModel.objects[i].rowcount );
- var temp_dsSrcNm = srcModel.objects[i].name;
- var dsSrc = srcModel.objects[i];
- var temp_dsDestNm = temp_dsSrcNm.substring(temp_dsSrcNm.length, dsSrcNm.length);
-
- if( !utlf_isNull(temp_dsDestNm) && !utlf_isNull(dsDestNm) ){
- var dsDest = destModel.objects[dsDestNm + temp_dsDestNm];
- // sysf_trace("dsDest : " +dsDest);
- if( utlf_isNull(dsDest) ){
- // var rNm = dsf_createDs(dsDestNm + temp_dsDestNm);
- // dsDest = this.objects[rNm];
- var sDsName = dsDestNm + temp_dsDestNm;
- var objDs = new Dataset(sDsName);
- destModel.addChild(sDsName, objDs);
- objDs.name = sDsName;
- dsDest = destModel.objects[sDsName];
- // utlf_addLog("dsDest : " +dsDest);
- }
-
- if( utlf_isNull(sMode) ) sMode = "replace";
-
- var rCnt = dsDest.copyData(dsSrc);
- //var rCnt = dsf_copyDs(dsDest, dsSrc, sMode);
-
- utlf_addLog("***** copyDs dsDest : " + dsDest.name + " dsDest copyCnt : " + rCnt + " *****");
- }
- }
- }
- }
- */
- function dsf_clearDsList(arrDs, tForm){
- var rCnt = 0;
- if( utlf_isNull(tForm) ) tForm = this;
-
- for( var i=0; i< arrDs.length; i++ ){
- var oDsNm = arrDs[i];
- var oDs = tForm.objects[oDsNm];
- if( oDs != null ){
- var nRowCnt = oDs.clearData();
- rCnt++;
- utlf_addLog("***** clearDs : " + oDs.name + " nRowCnt : " + nRowCnt + " *****");
- }
- }
- return rCnt;
- }
- /*
- arrdsDest, arrdsSrc 는 같은 한쌍.
- */
- function dsf_copyDsList(arrdsDest, arrdsSrc, sMode, destForm, srcForm ){
-
- if( utlf_isNull(destForm) ) destForm = this;
- if( utlf_isNull(srcForm) ) srcForm = this;
-
- utlf_addLog("@@@@@ destForm : " + destForm.name + " srcForm : " + srcForm.name + " @@@@@");
- if( arrdsDest.length != arrdsSrc.length ){
- utlf_addLog("@@@@@ arrayList count is not the same. check please! @@@@@");
- return;
- }
-
- if( utlf_isNull(sMode) ) sMode = "replace";
-
- if( sMode != "append" ){
- // 복사 전 목적노드 리스트 초기화
- var clearCnt = dsf_clearDsList(arrdsDest, destForm);
- if( clearCnt > 0 ) utlf_addLog("@@@@@ [" + arrdsDest + "] Node List Clear Count : " + clearCnt + " @@@@@@");
- }
-
- var rCnt = 0;
- for(var i=0; i<arrdsDest.length; i++){
- var oDest = destForm.objects[arrdsDest[i]];
- var oSrc = srcForm.objects[arrdsSrc[i]];
- if( oDest == null ){
- var sDsName = arrdsDest[i];
- var objDs = new Dataset(sDsName);
- destForm.addChild(sDsName, objDs);
- objDs.name = sDsName;
- oDest = destForm.objects[sDsName];
- }
-
- if( sMode == "replace" ){
- rCnt = oDest.copyData(oSrc, true);
- utlf_addLog("***** copyData dsDest : " + oDest.name + " dsDest copyCnt : " + rCnt + " *****");
- }else if ( sMode == "append" ){
- // copy column info
- if( !utlf_isNull(oSrc.filterstr) ){
- dsf_createDs("tmp_oSrc");
- tmp_oSrc.copyData(oSrc, true);
-
- dsf_copyColInfo(oDest, tmp_oSrc, false);
- rCnt = oDest.appendData(tmp_oSrc, true);
-
- dsf_deleteDs("tmp_oSrc");
- }else{
- dsf_copyColInfo(oDest, oSrc, false);
- rCnt = oDest.appendData(oSrc, true);
- }
- utlf_addLog("***** appendData dsDest : " + oDest.name + " dsDest copyCnt : " + rCnt + " *****");
- }
- }
- }
- /**********************************************************************************
- * 함수명 : dsf_changeBind
- * 설명 : 컴포넌트에 Bind 되어 있는 값을 변경 한다.
- * argument : String sCompId - 해당 컴포넌트 이름
- String sColNm - 변경 할 컬럼 이름
- String sDsNm - 변경할 데이터셋 이름
-
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_changeBind(sCompId, sColNm, sDsNm) {
- for(var i = 0; i < this.binds.length; i++) {
- if(this.binds[i].compid == sCompId) {
- this.binds[i].columnid = sColNm;
- if(!utlf_isNull(sDsNm))
- this.binds[i].datasetid = sDsNm;
- this.binds[i].bind();
- break;
- }
- }
- }
- /**********************************************************************************
- * 함수명 : dsf_mergeColumn
- * 설 명 : DS의 컬럼을 합친다.
- * argument : dsDest - 목적데이터셋
- * dsSrc - 소스데이터셋
- flag - 중복데이터컬럼 세팅 구분(추민수) default -> false, true일경우 중복데이터컬럼값도 변경
- * return Type :
- * 작성자 : 노회식
- **********************************************************************************/
- function dsf_mergeColumn(dsDest, dsSrc, flag) {
- var destRcnt = dsDest.rowcount;
- var srcRcnt = dsSrc.rowcount;
- var srcCcnt = dsSrc.colcount;
-
- if(utlf_isNull(flag)){
- flag = false;
- }
- if(destRcnt < srcRcnt) {
- for(var i = destRcnt ; i < srcRcnt ; i++) {
- dsDest.addRow();
- }
- }
-
- for(var i = 0 ; i < srcCcnt ; i++) {
- var colInfo = dsSrc.getColumnInfo(i);
- var colNm = colInfo.name;
- var colType = colInfo.type;
- if(utlf_isNull(dsDest.getColumnInfo(colNm))) {
- dsDest.addColumn(colNm,colType);
- for(var j = 0 ; j < srcRcnt; j++) {
- dsDest.setColumn(j,colNm,dsSrc.getColumn(j,colNm));
- }
- } else {
- if(flag == true){
- for(var j = 0 ; j < srcRcnt; j++) {
- dsDest.setColumn(j,colNm,dsSrc.getColumn(j,colNm));
- }
- }
- }
- }
- }
- /**********************************************************************************
- * 함수명 : dsf_deleteColumn
- * 설 명 : DS의 컬럼을 제거한다
- * argument : oDataset - 원본 dataset
- * colName - 삭제할 데이셋의 컬럼명
- * 사용예시 : 1) dsf_deleteColumn(dataset, "appyn,pid");
- * return Type :
- * 작성자 :
- **********************************************************************************/
- function dsf_deleteColumn(oDataset:Dataset, colName) {
-
- var vals = colName.split(',');
- if(vals.length < 1)
- return;
-
- var updatecontrol = oDataset.updatecontrol;
-
- if( updatecontrol )
- oDataset.updatecontrol = false;
-
- oDataset.enableevent = false;
-
- for(var i = 0; i < vals.length; i++) {
- if(oDataset.getColumnInfo(vals[i]) != null)
- oDataset.deleteColumn(vals[i]);
- }
-
- oDataset.enableevent = true;
-
- if( updatecontrol )
- oDataset.updatecontrol = true;
- }
- /**********************************************************************************
- * 함수명 : dsf_getColumnNullToEmpty
- * 설 명 : dataset의 특정컬럼 조회시 컬럼이 없거나 값일 없을 경우 ""값을 리턴해준다.
- * argument : oDS - 원본 dataset
- * row - 행번호
- * colNm - 컬럼명
- * 사용예시 : dsf_getColumnNullToEmpty(dataset, 0, "genrdd");
- * return Type :
- * 작성자 : 김상목
- **********************************************************************************/
- function dsf_getColumnNullToEmpty(oDS, row, colNm) {
- var result = "";
- var colInfo = oDS.getColumnInfo(colNm);
-
- if(!utlf_isNull(colInfo)) {
- result = utlf_transNullToEmpty(oDS.getColumn(row, colNm));
- }
-
- return result;
- }]]></Script>
|