1//íì ê´ë ¨ìì 2window.POPUP = { 3 'OZ_WIDTH' : 900, 4 'OZ_HEIGHT' : 800 5}; 6String.prototype.toUnicode = function(){ 7 var result = ""; 8 for(var i = 0; i < this.length; i++){ 9 // Assumption: all characters are < 0xffff 10 result += "\\u" + ("000" + this[i].charCodeAt(0).toString(16)).substr(-4); 11 } 12 return result; 13}; 14 15$.downloadFile = function(url, data, method){ 16 if( url && data ){ 17 //data can be string of parameters or array/object 18 19 if( typeof data === 'object' ) { 20 var arr = []; 21 for( var key in data ) { 22 arr.push(key + "=" + data[key]); 23 } 24 data = arr.join("&"); 25 } 26 27 try { 28 var arr1 = []; 29 $.each( data.split("&"), function(){ 30 var pair = this.split("="); 31 arr1.push(pair[0] + "=" + btoa(unescape(encodeURIComponent(pair[1])))); 32 }); 33 if ( isAndroidNativeApp() ) { 34 Android.requestDownload(url, arr1.join("&") ); 35 return false; 36 } 37 38 if( isIosWebView() ){ 39 webkit.messageHandlers.downloadHandler.postMessage(JSON.stringify({ 40 result : { 41 url : url, 42 data : arr1.join("&") 43 } 44 })); 45 return false; 46 } 47 } catch ( e ) { 48 console.log('error'); 49 } 50 51 //split params into form inputs 52 var inputs = ''; 53 jQuery.each(data.split('&'), function(){ 54 var pair = this.split('='); 55 inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ btoa(unescape(encodeURIComponent(pair[1]))) +'" />'; 56 }); 57 //send request 58 jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>') 59 .appendTo('body').submit().remove(); 60 }; 61 62}; 63 64$.downloadFile3 = function(url, data, method){debugger; 65 if( url && data ){ 66 //data can be string of parameters or array/object 67 68 if( typeof data === 'object' ) { 69 var arr = []; 70 for( var key in data ) { 71 arr.push(key + "=" + data[key]); 72 } 73 data = arr.join("&"); 74 } 75 76 //split params into form inputs 77 var inputs = ''; 78 jQuery.each(data.split('&'), function(){ 79 var pair = this.split('='); 80 inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; 81 }); 82 //send request 83 jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>') 84 .appendTo('body').submit().remove(); 85 }; 86 87}; 88/* 89 * PKM`s ë¼ì´ë¸ë¬ë¦¬ 90 * @author PKM : [email protected] 91 */ 92var gfnc_transaction = function(url, params, callback, async, dataType) { 93 async = (async === false) ? false : true; 94 if(async) gfnc_Progress(true); 95 params = params ? params : {}; 96 97 if(!callback) { 98 callback = gfnc_afterCallBack; 99 } 100 101 $.ajax({ 102 type: "POST", 103 url: url, 104 dataType: dataType ? dataType : "json", 105 data: JSON.stringify(params), 106 async: async, 107 contentType: "application/json; charset=utf-8", 108 success: function(data, status) { 109 if(data.result == "error") { 110 alert(_ERR_LOGIC + "\n" + data.msg); 111 } else { 112 callback(data); 113 } 114 115 if(this.async) { 116 if(async) gfnc_Progress(false); 117 } 118 119 }, 120 error : function(request, status, error) { 121 alert(_ERR_AJAX_IO + "\n" + request.status + " : " + error); 122 if (async) gfnc_Progress(false); 123 } 124 }); 125}; 126 127function gfnc_afterCallBack(code, record) { 128 gfnc_Progress(false); 129 return; 130} 131var mak = true; 132 133 134function gfnc_Progress(flag) { 135 if(flag){ 136 if(mak){ 137 $("#maLoading").addClass("ma-show"); 138 mak = false; 139 }; 140 //modal("modalProcessing", "show"); 141 }else{ 142 if(!mak){ 143 $("#maLoading").removeClass("ma-show"); 144 mak = true; 145 } 146 147 //modal("modalProcessing", "hide"); 148 } 149} 150 151function modal(id, value) 152{ 153 $("#" + id).modal(value); 154} 155 156var setEditor = function(editorId, height, minHeight, maxHeight, focus) 157{ 158 $("#" + editorId).summernote({ 159 lang: "ko-KR", 160 height: height, 161 minHeight: minHeight, 162 maxHeight: maxHeight, 163 focus: focus, 164 dialogsFade: true, 165 placeholder: "ë´ì©ì ì ë ¥íì¸ì", 166 fontNames: ["NanumGothic", "NanumGothicBold"], 167 fontNamesIgnoreCheck: ["NanumGothic", "NanumGothicBold"], 168 toolbar: [ 169 ["style", ["style"]], 170 ["fontsize", ["fontsize"]], 171 ["color", ["color"]], 172 ["font", ["bold", "italic", "underline", "strikethrough", "superscript", "subscript", "clear"]], 173 ["paragraph", ["ul", "ol", "paragraph", "height"]], 174 ["misc", ["undo", "redo"]] 175 ], 176 callbacks: { 177 onImageUpload: function(files) 178 { 179 for(var i = 0; i < files.length; i++) 180 { 181 sendFile(files[i], editorId); 182 } 183 } 184 } 185 }); 186}; 187 188var sendFile = function(file, editorId) 189{ 190 modal("modalProcessing", "show"); 191 192 var data = new FormData(); 193 data.append("file", file); 194 data.append("type", "summernote"); 195 196 $.ajax({ 197 type: "POST", 198 url: "/file/upload.ajax", 199 cache: false, 200 dataType: "json", 201 processData: false, 202 async: true, 203 contentType: false, 204 data: data, 205 success: function(data, status) 206 { 207 if(data.result == "error") 208 { 209 if(data.errorType == "ext") 210 { 211 alert(_MSG_WRONG_FILE_EXT_SUMMERNOTE + "\nì ë¡ë ì ì¸ íì¼ : " + data.fileName); 212 } 213 else if(data.errorType == "size") 214 { 215 alert(_MSG_WRONG_FILE_SIZE_SUMMERNOTE + "\nì ë¡ë ì ì¸ íì¼ : " + data.fileName); 216 } 217 else 218 { 219 alert(_ERR_LOGIC + "\n" + data.msg); 220 } 221 } 222 else 223 {
224 $("#" + editorId).summernote("insertImage", data.fileFullPath); 225 } 226 227 modal("modalProcessing", "hide"); 228 }, 229 error: function(request, status, statusText) 230 { 231 alert(_ERR_AJAX_IO + "\n" + request.status + " : " + statusText); 232 233 modal("modalProcessing", "hide"); 234 } 235 }); 236}; 237 238var axjFileUpload = function(targetId, fileFolder, pageMode, fileKey, fileCnt, fileSize) 239{ 240 myUpload[targetId].setConfig({ 241 targetID: targetId, 242 targetButtonClass: "Red", 243 uploadFileName: "file", 244 // file_types: "image/*", //audio/*|video/*|image/*|MIME_type (accept) 245 dropBoxID: targetId + "QueueBox", 246 queueBoxID: targetId + "QueueBox", 247 // queueBoxAppendType: "(prepend || append)", 248 onClickUploadedItem: function() // ì ë¡ëë 목ë¡ì í´ë¦íì ë. 249 { 250 $("#fileModifyName").val(this.fileModifyName); 251 $("#fileOriginName").val(this.fileOriginName); 252 $("#fileFolder").val(this.fileFolder); 253 var form = document.fileDownloadForm; 254 form.action = "/file/download.do"; 255 form.submit(); 256 }, 257 uploadMaxFileSize: (fileSize || 31457280), // ì ë¡ëë ê°ë³ íì¼ ì¬ì´ì¦. 258 uploadMaxFileCount: fileCnt, // ì ë¡ëë íì¼ê°¯ì ì í 0 ì 무ì í. 259 uploadUrl: "/file/upload.ajax", 260 uploadPars: {type: "axj", fileFolder: fileFolder}, 261 deleteUrl: "/file/delete.ajax", 262 deletePars: {type: pageMode, fileFolder: fileFolder}, 263 buttonTxt: "íì¼ì í", 264 fileKeys: { // ìë²ìì 리í´íë json key ì ì (idë ìì½ì´ ì¬ì©í ì ìì) 265 name: "fileOriginName", 266 type: "fileExt", 267 saveName: "fileModifyName", 268 fileSize: "fileSize", 269 uploadedPath: "fileFullPath", 270 thumbPath: "fileFullPath", 271 fileFolder: "fileFolder" // ìë²ìì í¤ê°ì ë¤ë¥´ê² ì¤ì í ì ìë¤ë ê²ì íì¸ í기 ìí´ ì´ë¦ì ë¤ë¥´ê² ì²ë¦¬í ìì ì ëë¤. 272 }, 273 onbeforeFileSelect: function() 274 { 275 return true; 276 }, 277 onUpload: function() 278 {}, 279 onComplete: function() 280 { 281 modal("modalProcessing", "hide"); 282 }, 283 onStart: function() 284 { 285 modal("modalProcessing", "show"); 286 }, 287 onDelete: function(fileInfo) 288 { 289 var uploadedList = myUpload[targetId].uploadedList; 290 for(var i = 0; i < uploadedList.length; i++) 291 { 292 if(fileInfo._id_ == uploadedList[i]._id_) 293 { 294 uploadedList.splice(i, 1); 295 } 296 } 297 }, 298 onError: function(errorType, extData) 299 { 300 if(errorType == "html5Support") 301 { 302 // alert("ë¸ë¼ì°ì ì§ììí¨."); 303 } 304 else if(errorType == "fileSize") 305 { 306 //alert(_MSG_WRONG_FILE_SIZE_AXJ + "\nì ë¡ë ì ì¸ íì¼ : " + extData.name); 307 //alert(_MSG_WRONG_FILE_SIZE_AXJ); 308 alert('ì ë¡ë íì¼ì ì¬ì´ì¦ë ' + calculateToBytes(fileSize) + 'MB를 ì´ê³¼í ì ììµëë¤.'); 309 } 310 else if(errorType == "fileCount") 311 { 312 // alert("ì ë¡ë ê°¯ì ì´ê³¼ ì´ê³¼ë ìì´í ì ì ë¡ë ëì§ ììµëë¤."); 313 } 314 else 315 { 316 alert("ìììì."); 317 } 318 modal("modalProcessing", "hide"); 319 } 320 }); 321 322 // ìë²ì ì ì¥ë íì¼ ëª©ë¡ì ë¶ë¬ì ì ë¡ëë 목ë¡ì ì¶ê° í©ëë¤. ----------------------------- s 323 if(pageMode == "modify") 324 { 325 var url = "/file/list.ajax"; 326 var pars = "fileKey=" + fileKey; 327 new AXReq(url, {pars:pars, onsucc:function(res){ 328 if(res.result == "ok") 329 { 330 myUpload[targetId].setUploadedList(res.fileList); 331 } 332 else 333 { 334 alert(_ERR_FILE_LIST + "\n" + res.msg); 335 } 336 }}); 337 } 338 // ìë²ì ì ì¥ë íì¼ ëª©ë¡ì ë¶ë¬ì ì ë¡ëë 목ë¡ì ì¶ê° í©ëë¤. ----------------------------- e 339}; 340 341function toPrint(id, mode, title, close) 342{ 343 var printOption = { 344 /* 345 * printMode : íì ì¤ì . popup = íì ì°½, iframe = iframe 346 * pageTitle : ì¸ì íì´í. 347 * leaveOpen : ì¸ì í ì°½ë«ê¸°. false = ì¸ìí ì°½ë«ê¸°. 348 */ 349 printMode: mode, 350 pageTitle: title, 351 leaveOpen: close}; 352 353 $("#" + id).printElement(printOption); 354} 355 356function checkFirstAlp(str){ 357 if(str === "" || str === undefined || str === null){ 358 return false; 359 } 360 361 var re = /^[a-zA-Z]/ 362 if(!re.test(str)){ 363 return false; 364 } 365 366 return true; 367} 368 369function onlyAlpNum() // ì«ìì ì문ìë§ ì ë ¥ íì©. 370{ 371 if((event.keyCode < 48) || ((event.keyCode > 57) && (event.keyCode < 65)) || ((event.keyCode > 90) && (event.keyCode < 97)) || (event.keyCode > 122)) 372 { 373 if(navigator.appName == "Netscape") 374 { 375 event.preventDefault(); 376 } 377 else 378 { 379 event.returnValue = false;
380 } 381 } 382} 383 384function onlyNum() // ì«ìë§ ì ë ¥ íì©. 385{ 386 if((event.keyCode < 48) || (event.keyCode > 57)) 387 { 388 if(navigator.appName == "Netscape") 389 { 390 event.preventDefault(); 391 } 392 else 393 { 394 event.returnValue = false; 395 } 396 } 397} 398 399function onlyHangul() // íê¸ë§ ì ë ¥ íì©. 400{ 401 if((event.keyCode < 12592) || (event.keyCode > 12687)) 402 { 403 if(navigator.appName=="Netscape") 404 { 405 event.preventDefault(); 406 } 407 else 408 { 409 event.returnValue = false; 410 } 411 } 412} 413 414function dataNullCheck(value) // Input Data Null ì²´í¬ ì¬ë¶. 415{ 416 var temp = $.trim(value); 417 418 if(temp === "" || temp === undefined || temp === null) 419 { 420 return true; 421 } 422 else 423 { 424 return false; 425 } 426} 427 428function dataNullAndLengthCheck(value, num) // Input Data Null ì²´í¬, ì ë ¥ ê° ê¸¸ì´ ì²´í¬. 429{ 430 var temp = $.trim(value); 431 432 if(temp === "" || temp === undefined || temp === null) 433 { 434 return true; 435 } 436 else 437 { 438 if(temp.length >= num) 439 { 440 return false; 441 } 442 else 443 { 444 return true; 445 } 446 447 return false; 448 } 449} 450 451function isValidEmail(email) // ì´ë©ì¼ íì ê²ì¬. 452{ 453 var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/; 454 if(email.search(format) != -1) 455 { 456 return true; // ì¬ë°ë¥¸ í¬ë§· íì. 457 } 458 459 return false; 460} 461 462function specialStrReplace(text) // html íê·¸ xssì²ë¦¬. 463{ 464 return text.replace(/\&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/\"/g, """).replace(/\'/g, "'").replace(/\r\n|\r|\n/g, "<br/>\n"); 465} 466 467function getToday() 468{ 469 var date = new Date(); 470 471 return (date.getFullYear()).toString() + (("00" + (date.getMonth() + 1).toString()).slice(-2)) + ("00" + (date.getDate()).toString()).slice(-2); 472} 473 474function getDate(currentDate, type, calVal) // YYYYMMDD íì. 475{ 476 var year = Number(currentDate.substring(0, 4)); 477 var month = Number(currentDate.substring(4, 6)); 478 var day = Number(currentDate.substring(6, 8)); 479 var monthArr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); 480 481 if(type == "year") 482 { 483 if(calVal < 0) 484 { 485 year = year - Math.abs(calVal); 486 } 487 else 488 { 489 year = year + Math.abs(calVal); 490 } 491 } 492 else if(type == "month") 493 { 494 if(calVal < 0) 495 { 496 month = month - Math.abs(calVal); 497 498 if(month == 0) 499 { 500 year = year - 1; 501 month = 12; 502 } 503 } 504 else 505 { 506 month = month + Math.abs(calVal); 507 508 if(month == 13) 509 { 510 year = year + 1; 511 month = 1; 512 } 513 } 514 } 515 else if(type == "day") 516 { 517 var tempDate = new Date(year, month - 1, day); 518 519 if(calVal < 0) 520 { 521 tempDate.setDate(tempDate.getDate() - Math.abs(calVal)); 522 } 523 else 524 { 525 tempDate.setDate(tempDate.getDate() + Math.abs(calVal)); 526 } 527 528 year = tempDate.getFullYear(); 529 month = tempDate.getMonth() + 1; 530 day = tempDate.getDate(); 531 } 532 533 if(year < 2000 || year > 2030) 534 { 535 alert(_MSG_INPUT_CALENDAR_RANGE); 536 537 return; 538 } 539 540 if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) 541 { 542 monthArr[1] = "29"; 543 } 544 545 if(monthArr[month -1] < day) 546 { 547 day = monthArr[month -1]; 548 } 549 550 return year.toString() + (("00" + month.toString()).slice(-2)) + ("00" + day.toString()).slice(-2); 551} 552 553function calculateToBytes(bytes) // íì¼ì¸ì´ì¦ ë³í. 554{ 555 var s = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB']; 556 var e = Math.floor(Math.log(bytes) / Math.log(1024)); 557 558 if (e == "-Infinity") 559 { 560 return "0" + s[0]; 561 } 562 else 563 { 564 //return (bytes / Math.pow(1024, Math.floor(e))).toFixed(2) + s[e]; 565 return (bytes / Math.pow(1024, Math.floor(e))); 566 } 567} 568 569function getDefaultGridDataSet(gridData, pageSize){ 570 var pageSize = pageSize || gridData.length, 571 gridDataSet = { 572 records : gridData, 573 page : 0, 574 recordTotal : gridData.length, 575 pageSize : pageSize, 576 pageTotal : Math.ceil(gridData.length / pageSize) 577 }; 578 return gridDataSet; 579} 580 581function transformTozTreeFormat(menuInfo, keyOpt){ 582 583 var defaultOpt = { 584 key : "menuId", 585 parentKey : "prtMenuId", 586 childKey : "nodes" 587 }; 588 589 defaultOpt = angular.extend(defaultOpt, keyOpt); 590 591 var i,l, 592 key = defaultOpt.key || "menuId", 593 parentKey = defaultOpt.parentKey || "prtMenuId", 594 childKey = defaultOpt.childKey || "nodes", 595 sNodes = menuInfo; 596 if (!key || key=="" || !sNodes) return []; 597 598 if(Object.prototype.toString.apply(sNodes)){ 599 var r = []; 600 var tmpMap = []; 601 for (i=0, l=sNodes.length; i<l; i++) { 602 tmpMap[sNodes[i][key]] = sNodes[i]; 603 } 604 for (i=0, l=sNodes.length; i<l; i++) { 605 if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) { 606 if (!tmpMap[sNodes[i][parentKey]][childKey]) 607 tmpMap[sNodes[i][parentKey]][childKey] = []; 608 tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]); 609 } else { 610 r.push(sNodes[i]); 611 } 612 } 613 return r; 614 }else { 615 return [sNodes]; 616 } 617} 618 619function clone(obj) { 620 if (obj === null || typeof(obj) !== 'object') 621 return obj; 622 623 var copy = obj.constructor(); 624 625 for (var attr in obj) { 626 if (obj.hasOwnProperty(attr)) { 627 copy[attr] = obj[attr]; 628 } 629 } 630 631 return copy; 632} 633 634// ê³µíµ ìì ë¤ì´ë¡ë 635function portalExcelDownload(fileName, columns, data, style){ 636 // 637 // // null data 공백ì¼ë¡ ì¹í 638 // angular.forEach(data, function(row){ 639 // angular.forEach(row, function(column, key){ 640 // if( column === null || typeof column === "undefined" ){ 641 // row[key] = ''; 642 // } 643 // }); 644 // }); 645 // 646 var tempData = angular.copy(data); 647 var excelData =[]; 648 var cnt = columns.length; 649 650 for(var i = 0; i < cnt ; i++){ 651 excelData.push(columns[i].columnid) 652 } 653 // null data 공백ì¼ë¡ ì¹í 654 angular.forEach(tempData, function(row){ 655 angular.forEach(row, function(column, key){ 656 if( column === null || typeof column === "undefined" ){ 657 row[key] = ''; 658 } 659 for(var i = 0; i < cnt ; i++){ 660 if(columns[i].columnid===key){ 661 row[columns[i].title] = row[key]; 662 delete row[key]; 663 } 664 665 if(excelData.indexOf(key) == -1) { 666 delete row[key]; 667 } 668 } 669 }); 670 }); 671 var defaultStyle = { 672 sheetid: fileName + ' Sheet', 673 headers: true, 674 /*column: { 675 style:'font-size:12px;background:pink' 676 },*/ 677 columns: columns 678 }; 679 alasql('SELECT * INTO XLSX("' + fileName + '.xlsx",?) FROM ?',[defaultStyle, tempData]); 680} 681 682//ê¸°ê° ê³ì° 683function getPeriod(startDate, endDate) { 684 return moment(endDate).diff(moment(startDate), 'days') + 1; 685} 686 687function submitWithJson(obj, data, target, method) { 688 try { 689 var param = null; 690 // json objectì´ë¼ë©´ 691 if ( obj && Object.prototype.toString.call(obj) === '[object Object]' ) { 692 param = { 693 'url' : obj.url || '' 694 ,'data' : obj.data || {} 695 ,'target' : obj.target || '_self' 696 ,'method' : obj.method || 'POST' 697 }; 698 } 699 else { 700 param = { 701 'url' : obj || '' 702 ,'data' : data || {} 703 ,'target' : target || '_self' 704 ,'method' : method || 'POST' 705 }; 706 } 707 708 //ëë¤í ì를 ì¶ë ¥ 709 var curDate = new Date(); 710 var ranNumber = Math.floor(Math.random() * 10000) + 1; 711 var strId = ""; 712 strId += param.target; 713 strId += "_"; 714 strId += curDate.getFullYear(); 715 strId += curDate.getMonth(); 716 strId += curDate.getDay(); 717 strId += curDate.getHours(); 718 strId += curDate.getMinutes(); 719 strId += curDate.getSeconds(); 720 strId += "_" + ranNumber; 721 722 var $newForm = jQuery("<form></form>") 723 .attr("name" , strId) 724 .attr("id" , strId) 725 .attr("method", param.method); 726 if ( $newForm ) { 727 if ( Object.prototype.toString.call(param.data) === "[object Array]") { 728 jQuery.each(param.data, function(index, val) { 729 var row = val; 730 jQuery.each(row, function(key, val) { 731 jQuery("<input type='hidden'>") 732 .attr("name" , key) 733 .attr("value", val) 734 .appendTo($newForm); 735 }); 736 }); 737 $newForm.appendTo(document.body); 738 } 739 else { 740 jQuery.each(param.data, function(key, val) { 741 jQuery("<input type='hidden'>") 742 .attr("name" , key) 743 .attr("id" , key) 744 .attr("value", val) 745 .appendTo($newForm); 746 }); 747 $newForm.appendTo(document.body); 748 } 749 750 var myForm = $newForm[0]; 751 myForm.action = param.url; 752 myForm.method = param.method; 753 myForm.target = param.target; 754 755 myForm.submit(); 756 $newForm.remove(); 757 }//if ( $popForm ) { 758 } 759 catch (e) {alert(e.message);} 760 finally {} 761} 762
763//ë¸ë¼ì°ì ì¸ì ì¤í 리ì§ì ê²ìì¡°ê±´ set 764function setSearchInfo(searchKey, searchInfo, tableParams){ 765 var params = {}; 766 if(tableParams && tableParams.page()){ 767 searchInfo.page = tableParams.page(); 768 } 769 params[searchKey] = searchInfo; 770 sessionStorage.setItem('searchInfo', JSON.stringify(params[searchKey])); 771} 772 773//ë¸ë¼ì°ì ì¸ì ì¤í 리ì§ì ê²ìì¡°ê±´ get 774function getSearchInfo(searchKey){ 775 var searchInfo = JSON.parse(sessionStorage.getItem('searchInfo')); 776 if(searchInfo){ 777 searchInfo[searchKey]; 778 } 779 return searchInfo; 780} 781 782//모ë°ì¼ ì ì ì¬ë¶ 783function checkMobile(){ 784 if(navigator.userAgent.match(/Android|Mobile|iP(hone|od|ad)|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/)){ 785 return true; 786 }else{ 787 return false; 788 } 789} 790 791function getMapData( data, defaultField, targetField, val ){ 792 for( var i = 0 ; i < data.length ; i ++ ){ 793 if( data[i][defaultField] == val ){ 794 return data[i][targetField]; 795 } 796 } 797} 798function validateEmail(email) { 799 var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 800 return re.test(email); 801} 802function numberWithCommas(x) { 803 if( dataNullCheck(x) ) return 0; 804 return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 805} 806function formatZipNumber( zipNumber ){ 807 zipNumber = zipNumber.trim(); 808 809 if( dataNullCheck(zipNumber) || !( zipNumber.length == 5 || zipNumber.length == 6)){ 810 return ""; 811 } 812 813 if( zipNumber.length === 5 ) { 814 return zipNumber; 815 } 816 817 if ( zipNumber.length === 6 ) { 818 return zipNumber.substr(0,3) + "-" + zipNumber.substr(3); 819 } 820 821 return ""; 822} 823function fn_tis_comm_getDate( objDate ) 824{ 825 var rtnDate; 826 var strYear, strMonth, strDay; 827 828 strYear = objDate.getFullYear(); 829 830 if( objDate.getMonth() < 9 ) { 831 strMonth = '0' + (objDate.getMonth()+1); 832 }else { 833 strMonth = objDate.getMonth() + 1; 834 } 835 if( objDate.getDate() < 9 ) { 836 strDay = '0' + objDate.getDate(); 837 }else { 838 strDay = objDate.getDate(); 839 } 840 return strYear.toString() + strMonth.toString() + strDay.toString(); 841 842 return rtnDate; 843} 844function fn_tis_comm_ems2_pop( targetKey, loginDt, l_empno ) 845{ 846 targetKey = targetKey.replace(/=/g,"$"); 847 //loginDt = loginDt.replace(/=/g,"$"); 848 l_empno = l_empno.replace(/=/g,"$"); 849 //alert( "temp_emp_no=" + temp_emp_no + "l_empno=" + l_emp_no ); 850 851 encodeURIComponent(targetKey); 852 //encodeURIComponent(loginDt); 853 encodeURIComponent(l_empno); 854 //window.open( "/Upload/COMM/ems/cauwebsso.html?type=7&target_key=" + targetKey + "&login_dt=" + loginDt + "&login_id=" + l_empno, 'ems2', 'width=900,height=700,status=no,toolbar=no,menubar=no,scrollbars=yes' ); 855 window.open( "/html/ems/cauwebsso.html?type=7&target_key=" + targetKey + "&emp_no=" + l_empno, 'ems2', 'width=1100,height=750,scrollbars=yes' ); 856} 857 858//ì¤ìí ë³í 859function getParseFloat(inputValue, defaultValue){ 860 var result = parseFloat(inputValue); 861 if(isNaN(result)){ 862 return defaultValue; 863 }else{ 864 return result; 865 } 866} 867 868function gridDateFormat( value ){ 869 if( dataNullCheck(value ) ) return ""; 870 871 if( value.length == 8){ 872 return getDateFormat("YYYYMMDD", value, "YYYY.MM.DD" ).replace("Invalid date", ""); 873 } else { 874 return getDateFormatDefault(value).replace("Invalid date", ""); 875 } 876} 877 878function gridNumberFormat( value ){ 879 if( dataNullCheck(value ) ) return 0; 880 881 return numberWithCommas(value); 882} 883 884function gridSummaryNumberFormat( method, value ){ 885 if( dataNullCheck(value ) ) return 0; 886 887 return numberWithCommas(value); 888} 889function getDateFormat(sourceFormat, input, targetFormat ){ 890 targetFormat = targetFormat || "YYYY.MM.DD"; 891 return moment(input, sourceFormat).format(targetFormat); 892} 893 894function getDateFormatDefault(input){ 895 return moment(input).format('YYYY.MM.DD'); 896} 897 898function getStringToDateFormat(input){ 899 return moment(input).format('YYYY.MM.DD')+" "+moment(input).format('HH:mm:ss'); 900} 901function trim( str ){ 902 if( dataNullCheck(str) ){ 903 return ""; 904 } 905 return str.trim(); 906} 907 908String.prototype.byteLength = function() { 909 var l= 0; 910 911 for(var idx=0; idx < this.length; idx++) { 912 var c = escape(this.charAt(idx)); 913 914 if( c.length==1 ) l ++; 915 else if( c.indexOf("%u")!=-1 ) l += 2; 916 else if( c.indexOf("%")!=-1 ) l += c.length/3; 917 } 918 919 return l; 920}; 921 922String.prototype.cut = function(len) { 923 var str = this; 924 var l = 0; 925 for (var i=0; i<str.length; i++) { 926 l += (str.charCodeAt(i) > 128) ? 2 : 1; 927 if (l > len) return str.substring(0,i); 928 } 929 return str.toString(); 930}; 931 932 933// í¬í릿 ë보기 934var ShowMore = function() { 935 936 this.show = true; 937 this.call = 0; 938 this.action = function( list, num, moreNum ) { 939 if( !Array.isArray(list) ) { 940 return null; 941 } 942 943 this.call++; 944 var _sliceNum = num || 5; // ì¶ê°í 리ì¤í¸ ì 945 var _moreNum = moreNum || 3; // ë보기 íì 946 var _length = list.length; 947 948 var _returnList = list.slice(0, _sliceNum * this.call); 949 if( this.call >= _moreNum || _length - _returnList.length == 0 ) { 950 this.show = false;
951 } else { 952 this.show = true; 953 } 954 955 return _returnList; 956 }; 957}; 958 959var toPortletFmt = function( portels) { 960 var data = {}; 961 jQuery.each(portels, function(index, val) { 962 data[val.id]= val; 963 }); 964 return data; 965}; 966 967// ì´ë¯¸ì§ to í ì¤í¸ 968function replaceImgToText(list, objNm) { 969 970 list.forEach(function( obj ){ 971 obj[objNm] = obj[objNm].replace(/<img(.*?)>/gi,'<div class=\"nb-p-imageText\">[ ì´ë¯¸ì§ì ëë¤ ]</div>'); 972 }); 973 974 return list; 975} 976 977// unicode ë³í 978function unicodeToChar(text) { 979 return text.replace(/\\u[\dA-F]{4}/gi, 980 function (match) { 981 return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16)); 982 }); 983} 984 985function formatMask(str, chr) { 986 str = str.trim(); 987 988 var temp = ""; 989 990 if(str != null && str.length > 1){ 991 temp = str.substring(0, 1); 992 993 for (var i = 0; i < str.length-1; i++) { 994 temp = temp + chr; 995 } 996 }else{ 997 temp = str; 998 } 999 return temp; 1000} 1001 1002function trimstring(str){ 1003 if (str.trim) 1004 return str.trim(); 1005 else 1006 return str.replace(/(^\s*)|(\s*$)/g, ""); //find and remove spaces from left and right hand side of string 1007} 1008function isIosWebView(){ 1009 var standalone = window.navigator.standalone, 1010 userAgent = window.navigator.userAgent.toLowerCase(), 1011 safari = /safari/.test( userAgent ), 1012 ios = /macintosh|iphone|ipod|ipad/.test( userAgent ); 1013 1014 if( ios ) { 1015 1016 if ( !standalone && !safari ) { 1017 return true; 1018 1019 }; 1020 } 1021 return false; 1022} 1023 1024function isAndroidNativeApp(){ 1025 return /cauplus\/[0-9\.]/.test(navigator.userAgent); 1026} 1027
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.