1 /** 2 * ì¿ í¤ ë°ì´í° ë³ì 3 * 4 * @type {string} 5 */ 6 var COOKIEDATA = document.cookie; 7 8 /** 9 * 모ë°ì¼ 기기 ê²ì¦ ë³ì 10 * 11 * @type {boolean} 12 */ 13 var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ? true : false; 14 15 /** 16 * ë³´ì문ì ìë¡ê³ 침 í¨ì 17 * 18 * @param obj 19 * @return {boolean} 20 */ 21function captchaReload(obj) { 22 var imgObj = $(obj).closest('.captcha-lay').find('img'); 23 imgObj.click(); 24 25 return false; 26} 27 28/** 29 * ìë°ì¤í¬ë¦½í¸ ëì í¸ì¶ í¨ì 30 */ 31function dynamicLoadJs(url, implementationCode, location) { 32 var scriptTag = document.createElement('script'); 33 scriptTag.src = url; 34 scriptTag.onload = implementationCode; 35 scriptTag.onreadystatechange = implementationCode; 36 37 location.appendChild(scriptTag); 38} 39 40 /** 41 * 문ì ì릿ì ì±ì°ê¸°(str pad) í¨ì 42 * 43 * @description 문ìì´ì ì§ì í 길ì´ê° ëëë¡ ë¤ë¥¸ 문ìì´ë¡ ì±ì°ë í¨ì 44 * @param str 문ì 45 * @param max ì´ ì릿ì 46 * @param pad ì±ì¸ 문ì 47 * @param type 문ì를 ì±ì¸ ìì¹ 48 * @return {*|string} 49 */ 50 function str_pad (str, max, pad, type) { 51 str = str.toString(); 52 if (type == 'right') { 53 return str.length < max ? str_pad(str + pad, max) : str; 54 } else { 55 return str.length < max ? str_pad(pad + str, max) : str; 56 } 57} 58 59/* ì«ì ì ë ¥ íí°ë§ */ 60function fnReplaceNumber(input, replaceType) { 61 var result = input; 62 63 var reg =/[^\d]/g; 64 var regOnlyNumber = /[^\d]/g; 65 var regWithComma = /[^\d\,]/g; 66 var regWithCommaAndDot = /[^\d\,\.]/g; 67 68 if (typeof(replaceType) == 'undefined') { 69 replaceType = 'regWithCommaAndDot'; 70 } 71 72 if (replaceType == 'regWithCommaAndDot') { 73 reg = regWithCommaAndDot; 74 } else if (replaceType == 'regWithComma') { 75 reg = regWithComma; 76 } else { 77 reg = regOnlyNumber; 78 } 79 80 result = result + ''; // 문ìë¡ ë³í 81 result = result.replace(reg, ''); 82 return result; 83} 84function onlyNumberInput(obj) { 85 var value = obj.val(); 86 if (typeof(value) !== 'undefined') { 87 var replaceType = obj.attr('data-onlyNumberType'); 88 var replaceValue = fnReplaceNumber(value, replaceType); 89 obj.val(replaceValue); 90 } 91} 92/** 93 * ë³ì ì´ê¸°ê° ê²ì¦ í¨ì 94 */ 95function defineVar(value, init_value) { 96 if (typeof (value) === 'undefined' || value === null || value === '') { 97 value = init_value; 98 } 99 return value; 100} 101 102/** 103 * ê³µíµ ì림창 í¸ì¶ í¨ì 104 * 105 * @param msg ë´ì© 106 * @param userfunc ì½ë°± í¨ì 107 */ 108function commonModalAlert(msg, userfunc) { 109 msg = msg.replace(/<br\s*[\/]?>/gi, '\n'); 110 alert(msg); 111 if (typeof(userfunc) == 'function'){ 112 var Func = userfunc; 113 Func(); 114 }else{ 115 if (userfunc) { 116 var Func = window[userfunc]; 117 Func(); 118 } 119 } 120} 121 122/** 123 * ê³µíµ ì림창 í¸ì¶ í¨ì 124 * 125 * @param msg ë´ì© 126 * @param userfunc ì½ë°± í¨ì 127 */ 128function commonModalConfirm(msg, userfunc) { 129 msg = msg.replace(/<br\s*[\/]?>/gi, '\n'); 130 if (typeof(userfunc) == 'function' && confirm(msg)){ 131 var Func = userfunc; 132 Func(); 133 } 134} 135 136/* ëì ìì± */ 137var usedRandomNumber = []; 138function randomNumber(){ 139 var i = 0; 140 var createdRandomNumber = makeRandomNumber(i); 141 while (usedRandomNumber.indexOf(createdRandomNumber) > -1) { 142 createdRandomNumber = makeRandomNumber(i); 143 i++; 144 } 145 usedRandomNumber.push(createdRandomNumber); 146 return createdRandomNumber; 147} 148function makeRandomNumber(seed) { 149 var time = new Date(), 150 time = String(time.getTime()), 151 idx = time.slice(7,-1); 152 153 var createdRandomNumber = 'tmp_'+idx+seed; 154 return createdRandomNumber; 155} 156 157 $(document).ready(function () { 158 // ajax ìì± ì¤ì ì´ë²¤í¸ 159 $.ajaxSetup({ 160 headers: { 161 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 162 } 163 }); 164 165 $(document).on('keyup', '.onlyNumberInput', function () { 166 onlyNumberInput($(this)); 167 }); 168 }); 169 170 function alertPageMoveBack(msg = '') 171 { 172 alert(msg); 173 history.go(-1); 174 } 175 176 177/** 178 * input ìì ì ë ¥ ìµë ê¸¸ì´ ì í í¨ì 179 * 180 * @description input ì리ë©í¸ì maxlength íëª©ì´ ìì¼ë©´ span.input-group-text ì리벤í¸ì data-for ì리ë©í¸ê° 181 * í´ë¹ inputì id를 ì°¾ì maxlength를 íìíê³ , í´ë¹ maxlength를 ëì§ ìê² ì²ë¦¬í¨. 182 */ 183function maxLengthCheck() { 184 // ìµë ê¸¸ì´ ê° ì í¨ì± ê²ì¦ 185 $("[maxlength]:not([maxlength=''])").each(function() { 186 var getLength = function($e) { 187 var length = Number($e.val().length); 188 var maxlength = Number($e.attr('maxlength')); 189 return {'length':length, 'maxlength':maxlength}; 190 }; 191 192 var setLength = function(id, length, maxlength) { 193 $("span[data-for='" + id + "']").html("<span class='cur_cnt'>"+length + "</span>/" + maxlength); 194 }; 195 196 var lengthObj = getLength($(this)); 197 setLength($(this).attr('id'), lengthObj.length, lengthObj.maxlength); 198 $(this).on('input', function() { 199 var lengthObj = getLength($(this)); 200 if(lengthObj.length > lengthObj.maxlength) { 201 $(this).val($(this).val().slice(0, lengthObj.maxlength)); 202 lengthObj = getLength($(this)); 203 } 204 setLength($(this).attr('id'), lengthObj.length, lengthObj.maxlength); 205 }); 206 }); 207} 208 209/** 210 * ë¤êµì´ ë©ìì§ íë¼ë¯¸í° ì¹í 211 * 212 * @description ë¤êµì´ ë©ìì§ì í¬í¨ë :attribute를 íë¼ë¯¸í°ê°ì¼ë¡ ì¹í 213 */ 214function getExpandMessage(message, param){ 215 216 if(message === undefined){ 217 message = ''; 218 } 219 220 if(param === undefined){ 221 param = {}; 222 } 223 224 var reg = /:([a-z]*)/g; 225 var arrAttr = message.match(reg); 226 227 $.each(arrAttr,function(idx, attribute) { 228 if(Object.keys(param).length !== 0){ 229 if(param[attribute] !== undefined){ 230 message = message.replace(attribute, param[attribute]); 231 } 232 } 233 }); 234 235 return message; 236} 237 238function callLink(el){ 239 event.preventDefault(); 240 var tel = $(el).attr('href'); 241 var target = $(el).is('[target]'); 242 googleAdsAutoTrackingEvent('call'); 243 if(isMobile){ 244 if(target === true){ 245 window.open("tel:"+tel); 246 }else{ 247 location.href="tel:"+tel; 248 } 249 }else{ 250 alert(getExpandMessage(window.i18n.common.common.call_link_pc_not_use.message)) 251 return false;
252 } 253} 254 255// /** 256// * snake to camel parser 257// * @param {string} camelType upper/lower 258// * @param {string} str snake case string 259// * @returns 260// */ 261function toCamel (camelType, str) { 262 let outputRows = ""; 263 let arrInputRows = str.split("\n"); 264 arrInputRows.forEach( words=>{ 265 let camelWords = ""; 266 let doUpper = false; 267 for (let word of Array.from(words)) { 268 if (word === "_") { 269 doUpper = true; 270 continue; 271 } 272 if (doUpper) { 273 camelWords += word.toUpperCase(); 274 doUpper = false; 275 } else { 276 camelWords += word.toLowerCase(); 277 } 278 if (camelWords.length === 1 && camelType === "upper") { 279 camelWords = camelWords.toUpperCase(); 280 } 281 } 282 outputRows += camelWords+"\n" 283 }); 284 return outputRows; 285} 286 287/** 288 * camel to snake parser 289 * @param {string} snakeType upper/lower 290 * @param {string} str snake case string 291 * @returns 292 */ 293 function toSnake (snakeType, str) { 294 let outputRows = ""; 295 let arrInputRows = str.split("\n"); 296 arrInputRows.forEach( words=>{ 297 let snakeWords = "";
298 Array.from(words).forEach( word=>{ 299 if (word.toUpperCase()===word && snakeWords.length!==0) { 300 snakeWords += "_"; 301 } 302 if (snakeType==="upper") { 303 snakeWords += word.toUpperCase(); 304 } else { 305 snakeWords += word.toLowerCase(); 306 } 307 }); 308 outputRows += snakeWords+"\n" 309 }); 310 311 return outputRows; 312} 313 314 315/** 316 * html decode 317 * @param {string} text upper/lower 318 * @returns 319 */ 320function decodeHTMLEntities(text) { 321 return $("<textarea/>") 322 .html(text) 323 .text(); 324} 325 326/** 327 * html encode 328 * @param {string} text upper/lower 329 * @returns 330 */ 331function encodeHTMLEntities(text) { 332 var textArea = document.createElement('textarea'); 333 textArea.innerText = text; 334 return textArea.innerHTML; 335} 336 337/** 338 * ë¡ë© ì¤í¼ë íì 339 * @description ì¬ì©íë ê²½ì° ë¡ë© ì¤í¼ë ìë¦¬ë¨¼í¸ íì(loading_spinner) 340 */ 341function onLoadingSpinner() { 342 $('div#pannelModal.modal_bg').css('display', 'block'); 343 $('div#pannelSpinner.loading_spinner').css('display', 'block'); 344} 345 346/** 347 * ë¡ë© ì¤í¼ë 미íì 348 * @description ì¬ì©íë ê²½ì° ë¡ë© ì¤í¼ë ìë¦¬ë¨¼í¸ íì(loading_spinner) 349 */ 350function offLoadingSpinner() { 351 $('div#pannelModal.modal_bg').css('display', 'none'); 352 $('div#pannelSpinner.loading_spinner').css('display', 'none'); 353} 354 355/** 356 * 쿼리 문ìì´ì íì±íì¬ ê°ì²´ë¡ ë¶ë¥íë í¨ì 357 * 358 * @param {*} queryString 359 * @returns 360 */ 361function parseQueryParams(queryString) { 362 const paramsObject = {}; 363 if(queryString.length > 0) { 364 // 쿼리 문ìì´ì 맨 ìì `?`를 ì ê±°í©ëë¤. 365 queryString = queryString.startsWith('?') ? queryString.slice(1) : queryString; 366 367 // 쿼리 문ìì´ì `&`ë¡ ë¶ë¦¬íì¬ ê° ë§¤ê°ë³ì를 ë°°ì´ë¡ ë§ëëë¤. 368 const paramsArray = queryString.split('&'); 369 370 // ê° ë§¤ê°ë³ì를 `=`를 기ì¤ì¼ë¡ ë¶ë¦¬íì¬ ê°ì²´ì ì ì¥í©ëë¤. 371 paramsArray.forEach(param => { 372 const [key, value] = param.split('='); 373 // í¤ì ê°ì ê°ì²´ì ì ì¥í©ëë¤. ê°ì ëì½ë©íì¬ ì ì¥í©ëë¤. 374 paramsObject[decodeURIComponent(key)] = decodeURIComponent(value); 375 }); 376 } 377 378 return paramsObject; 379} 380 381function replaceSvgCode() { 382 $.each($('.__svgCode'), function () { 383 const img = jQuery($(this)); 384 const imgURL = img.attr('src'); 385 const attributes= img.prop("attributes"); 386 387 if (imgURL.indexOf('.svg') < 0) return; 388 389 $.get(imgURL, function(data) { 390 let svg = $(data).find('svg'); 391 392 svg = svg.removeAttr('xmlns:a'); 393 394 $.each(attributes, function() { 395 svg.attr(this.name, this.value); 396 }); 397 398 img.replaceWith(svg); 399 }, 'xml'); 400 }) 401 402} 403 404function getLang(keyCode) { 405 return window.i18n.lang[keyCode] || keyCode; 406}
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.