1/* 2 * ê³µíµ ìëµì½ë, ë¡ì¼ì¼ ë©ìì§, íê²½ì¤ì ìµì ë°ì´í°ë¥¼ ì ì¥íë ê°ì²´ 3 */ 4var _RESP_CODE = {}; 5var _MESSAGES = {}; 6var _CFG = {}; 7 8/* 9 * app object definition 10 */ 11var app = {}; 12 13app.loginSession = {}; 14app.onAppInit = function () {}; 15app.onPageInit = function () {}; 16 17/* 18 * date range picker locale settings. 19 */ 20var dateRangePickerLocale = { 21 format : "Y-MM-DD", 22 separator: '~', 23 applyLabel: 'ì ì©', 24 cancelLabel: 'ì·¨ì', 25 fromLabel: 'From', 26 toLabel: 'To', 27 customRangeLabel: 'Custom', 28 daysOfWeek: ['ì¼', 'ì', 'í', 'ì', '목', 'ê¸','í '], 29 monthNames: ['1ì', '2ì', '3ì', '4ì', '5ì', '6ì', '7ì', '8ì', '9ì', '10ì', '11ì', '12ì'], 30 firstDay: 0 31}; 32 33/* 34 * ê³µíµë°ì´í°ë¥¼ 모ë ë¡ë© (ê°ë³ì ì¼ë¡ ë¡ë©íë ¤ë©´ ìë í¨ì ì¬ì©) 35 */ 36app.loadCommonData = function() { 37 var ajaxReq = new AjaxRequest(); 38 ajaxReq.setUrl("/commonApi/commonData"); 39 ajaxReq.setType("get"); 40 ajaxReq.setSuccess(function(data, status){ 41 _RESP_CODE = data.extra.responseCode; 42 _MESSAGES = data.extra.messages; 43 _CFG = data.extra.configurations; 44 }); 45 ajaxReq.setError(function(request, status, err){ 46 notify("Failed to load common data."); 47 }); 48 return ajaxReq.request(); 49}; 50 51/* 52 * ê³µíµ ìëµì½ë ë°ì´í°ë¥¼ ë¡ë© 53 */ 54app.loadResponseCode = function() { 55 var ajaxReq = new AjaxRequest(); 56 ajaxReq.setUrl("/commonApi/commonData/responseCode"); 57 ajaxReq.setType("get"); 58 ajaxReq.setSuccess(function(data, status){ 59 _RESP_CODE = data.extra.responseCode; 60 }); 61 ajaxReq.setError(function(request, status, err){ 62 notify("Failed to load response code."); 63 }); 64 return ajaxReq.request(); 65}; 66 67/* 68 * ë¡ì¼ì¼ ë©ìì§ ë°ì´í°ë¥¼ ë¡ë© 69 */ 70app.loadMessages = function () { 71 var ajaxReq = new AjaxRequest(); 72 ajaxReq.setUrl("/commonApi/commonData/messages"); 73 ajaxReq.setType("get"); 74 ajaxReq.setSuccess(function(data, status){ 75 _MESSAGES = data.extra.messages; 76 }); 77 ajaxReq.setError(function(request, status, err){ 78 notify("Failed to load message data."); 79 }); 80 return ajaxReq.request(); 81}; 82 83/* 84 * ë©ìì§ ë°ì´í°ë¥¼ ë¶ë¬ìì ê°ì²´ì ì ì¥íë í¨ì 85 */ 86app.loadConfigurations = function () { 87 var ajaxReq = new AjaxRequest(); 88 ajaxReq.setUrl("/commonApi/commonData/configurations"); 89 ajaxReq.setType("get"); 90 ajaxReq.setSuccess(function(data, status){ 91 _CFG = data.extra.configurations; 92 }); 93 ajaxReq.setError(function(request, status, err){ 94 notify("Failed to load configurations data."); 95 }); 96 return ajaxReq.request(); 97}; 98 99/* 100 * ë¡ê·¸ì¸ì¸ì ì 보를 ë¡ë© 101 */ 102app.loadLoginSession = function() { 103 var ajaxReq = new AjaxRequest(); 104 ajaxReq.setUrl("/commonApi/users/loginSession"); 105 ajaxReq.setType("get"); 106 ajaxReq.setHeaders({ 107 loginToken : $.cookie("loginToken") 108 }); 109 ajaxReq.setSuccess(function(data, status){ 110 app.loginSession.userId = data.extra.user_id; 111 app.loginSession.name = data.extra.name; 112 app.loginSession.loginId = data.extra.login_id; 113 app.loginSession.userGroupId = data.extra.user_group_id; 114 app.loginSession.userGroupName = data.extra.user_group_name; 115 app.loginSession.userGroupCode = data.extra.user_group_code; 116 app.loginSession.autoLogin = data.extra.auto_login; 117 app.loginSession.remoteIp = data.extra.remote_ip; 118 app.loginSession.createdAt = data.extra.created_at; 119 app.loginSession.expireAt = data.extra.expire_at; 120 }); 121 ajaxReq.setError(function(request, status, err){ 122 notify("Failed to load common data."); 123 }); 124 return ajaxReq.request(); 125}; 126 127/* 128 * ë¡ê·¸ì¸ ëì´ ìëì§ ì¬ë¶ë¥¼ ë¦¬í´ 129 */ 130app.isLogin = function() { 131 if (app.loginSession.userId == null) return false; 132 else return true; 133}; 134 135/* 136 * ë¡ê·¸ì¸ ì²ë¦¬ 137 */ 138app.loginProcess = function(loginId, passwd, options, successCallback, failCallback) { 139 if (typeof(options.autoLogin) == "undefined") options.autoLogin = false; 140 141 var ajaxReq = new AjaxRequest(); 142 ajaxReq.setUrl("/commonApi/users/login"); 143 ajaxReq.setType("post"); 144 ajaxReq.setDataType("json"); 145 ajaxReq.setData({ 146 loginId : loginId, 147 passwd : passwd, 148 autoLogin : (options.autoLogin == true) ? "Y" : "N" 149 }); 150 ajaxReq.setSuccess(function(data, status){ 151 if (data.returnCode == _RESP_CODE.OK.code) { 152 var loginToken = data.extra.loginToken; 153 154 // loginTokenì ì¿ í¤ì ì ì¥ 155 if (options.autoLogin == true) 156 $.cookie("loginToken", loginToken, { expires: (_CFG.autoLoginTokenExpirePeriod / 86400), path: '/' }); 157 else 158 $.cookie("loginToken", loginToken, { path: '/' }); 159 160 // success callback 161 if (typeof(successCallback) === "function") successCallback(data); 162 } else { 163 // fail callback 164 if (typeof(failCallback) === "function") failCallback(data); 165 } 166 }); 167 ajaxReq.setError(function(request, status, err){ 168 notify(_MESSAGES.COMM["ìììëì¤ë¥ê°ë°ìíììµëë¤"]); 169 170 // callback 171 if (typeof(failCallback) === "function") failCallback(data); 172 }); 173 ajaxReq.request(); 174}; 175 176/* 177 * ìì ë¡ê·¸ì¸ ì²ë¦¬ 178 */ 179app.socialLoginProcess = function(userId, successCallback, failCallback) { 180 var ajaxReq = new AjaxRequest(); 181 ajaxReq.setUrl("/commonApi/users/socialLogin"); 182 ajaxReq.setType("post"); 183 ajaxReq.setDataType("json"); 184 ajaxReq.setData({ 185 userId : userId 186 }); 187 ajaxReq.setSuccess(function(data, status){ 188 if (data.returnCode == _RESP_CODE.OK.code) { 189 var loginToken = data.extra.loginToken; 190 191 // loginTokenì ì¿ í¤ì ì ì¥ 192 $.cookie("loginToken", loginToken, { path: '/' }); 193 194 // success callback 195 if (typeof(successCallback) === "function") successCallback(data); 196 } else { 197 // fail callback 198 if (typeof(failCallback) === "function") failCallback(data); 199 } 200 }); 201 ajaxReq.setError(function(request, status, err){ 202 notify(_MESSAGES.COMM["ìììëì¤ë¥ê°ë°ìíììµëë¤"]); 203 204 // callback 205 if (typeof(failCallback) === "function") failCallback(data); 206 }); 207 ajaxReq.request(); 208}; 209 210/* 211 * íìì¼ë¡ ê°ì ë¡ê·¸ì¸ ì²ë¦¬ (ê´ë¦¬ìë§ ê°ë¥) 212 */ 213app.forceLoginProcess = function(loginId, passwd, successCallback, failCallback) { 214 var ajaxReq = new AjaxRequest(); 215 ajaxReq.setUrl("/commonApi/users/login"); 216 ajaxReq.setType("post"); 217 ajaxReq.setDataType("json"); 218 ajaxReq.setData({ 219 loginId : loginId, 220 passwd : passwd 221 }); 222 ajaxReq.setSuccess(function(data, status){ 223 if (data.returnCode == _RESP_CODE.OK.code) { 224 var loginToken = data.extra.loginToken; 225 226 // loginTokenì ì¿ í¤ì ì ì¥ 227 $.cookie("loginToken", loginToken, { path: '/' }); 228 229 // success callback 230 if (typeof(successCallback) === "function") successCallback(data); 231 } else { 232 // fail callback 233 if (typeof(failCallback) === "function") failCallback(data); 234 } 235 }); 236 ajaxReq.setError(function(request, status, err){ 237 notify(_MESSAGES.COMM["ìììëì¤ë¥ê°ë°ìíììµëë¤"]); 238 239 // callback 240 if (typeof(failCallback) === "function") failCallback(data); 241 }); 242 ajaxReq.request(); 243}; 244 245/* 246 * ë¡ê·¸ìì ì²ë¦¬ 247 */ 248app.logoutProcess = function(callback) { 249 var ajaxReq = new AjaxRequest(); 250 ajaxReq.setUrl("/commonApi/users/logout"); 251 ajaxReq.setType("get"); 252 ajaxReq.setDataType("json"); 253 ajaxReq.setHeaders({ 254 loginToken : $.cookie("loginToken") 255 }); 256 ajaxReq.setSuccess(function(data, status){ 257 if (data.returnCode == _RESP_CODE.OK.code) { 258 // ë¡ê·¸ì¸í í° ì ë³´ ìì 259 $.removeCookie("loginToken", { path: '/' }); 260 261 // success callback 262 if (typeof(callback) === "function") callback(data); 263 } else { 264 notify(data.returnMsg); 265 } 266 }); 267 ajaxReq.setError(function(request, status, err){ 268 notify(_MESSAGES.COMM["ìììëì¤ë¥ê°ë°ìíììµëë¤"]); 269 }); 270 ajaxReq.request(); 271}; 272 273/* 274 * í´ëí° ì¸ì¦ë²í¸ ë°ê¸ 275 */ 276app.createCertificatedNumber = function(mphone, callback) { 277 var ajaxReq = new AjaxRequest(); 278 ajaxReq.setUrl("/commonApi/users/certificatedNumber"); 279 ajaxReq.setType("post"); 280 ajaxReq.setDataType("json"); 281 ajaxReq.setData({ 282 mphone : mphone 283 }); 284 ajaxReq.setSuccess(function(data, status){ 285 if (data.returnCode == _RESP_CODE.OK.code) { 286 // success callback 287 if (typeof(callback) === "function") 288 callback(data.extra.mphone, data.extra.hashKey); 289 } else { 290 notify(data.returnMsg); 291 } 292 }); 293 ajaxReq.setError(function(request, status, err){ 294 notify(_MESSAGES.COMM["ìììëì¤ë¥ê°ë°ìíììµëë¤"]); 295 }); 296 ajaxReq.request(); 297}; 298 299/* 300 * ë©ìì§ ë°ì´í°ìì ì¹íí´ì¼ í 문ìì´ì ì¹ííë¤. 301 * message : ë©ìì§ ì본 í ì¤í¸ 302 * tags[] : ì¹íí íê·¸ 303 * replacements[] : ì¹íí ê° 304 */ 305app.replaceMessageText = function(messageText, tags, replacements) { 306 var returnMessageText = messageText; 307 308 for(var i=0; i<tags.length; i++) 309 { 310 returnMessageText = returnMessageText.replace(tags[i], replacements[i]); 311 } 312 313 return returnMessageText; 314}; 315 316/* 317 * í í릿 htmlìì ì¹íí´ì¼ í 문ìì´ì ì¹ííë¤. 318 * template : ë©ìì§ ì본 í ì¤í¸ 319 * tags[] : ì¹íí íê·¸ 320 * replacements[] : ì¹íí ê° 321 */ 322app.replaceTemplate = function(templateId, tags, replacements) { 323 var returnTemplate = $("#"+templateId).html(); 324 325 for(var i=0; i<tags.length; i++) 326 { 327 returnTemplate = replaceAll(returnTemplate, tags[i], replacements[i]); 328 } 329 330 return returnTemplate; 331}; 332 333/* 334 * htmlìì¤ìì ì¹íí´ì¼ í 문ìì´ì ì¹ííë¤. 335 * html : ë©ìì§ ì본 í ì¤í¸ 336 * tags[] : ì¹íí íê·¸ 337 * replacements[] : ì¹íí ê° 338 */ 339app.replaceHtml = function(html, tags, replacements) { 340 var returnHtml = html; 341 342 for(var i=0; i<tags.length; i++) 343 { 344 returnHtml = replaceAll(returnHtml, tags[i], replacements[i]); 345 } 346 347 return returnHtml; 348}; 349 350/*
351 * ìëµì½ëë¡ ìëµë°ì´í°ë¥¼ 리í´íë¤. 352 */ 353app.responseByCode = function(code) { 354 var response = false; 355 356 $.each(_RESP_CODE, function(index, item) { 357 if (item.code === code) response = item; 358 }); 359 360 return response; 361}; 362 363/* 364 * ì¹ìëí° ì´ê¸°í í¨ì 365 * selector : string 366 */ 367app.initEditor = function(editorName, selector, formSession, options) { 368 // ìµì 369 if (typeof(options) == "undefined") options = {}; 370 if (typeof(options.toolbarType) == "undefined") options.toolbarType = "full"; 371 if (typeof(options.height) == "undefined") options.height = 400; 372 if (typeof(options.maxHeight) == "undefined") options.maxHeight = 400; 373 374 // í´ë° íì ì ì 375 var toolbarDef = {}; 376 if (options.toolbarType == "full") 377 { 378 toolbarDef = { 379 toolbarButtons : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', '|', 'alignLeft', 'alignCenter', 'alignRight', 'outdent', 'indent', 'insertHR', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable', 'undo', 'redo', 'selectAll', 'html'], 380 toolbarButtonsMD : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', '|', 'align', 'outdent', 'indent', 'insertHR', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable', 'undo', 'redo', 'selectAll', 'html'], 381 toolbarButtonsSM : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', '|', 'align', 'outdent', 'indent', 'insertHR', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable', 'undo', 'redo', 'selectAll', 'html'], 382 toolbarButtonsXS : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', 'align', 'outdent', 'indent', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable'] 383 } 384 } 385 if (options.toolbarType == "small") 386 { 387 toolbarDef = { 388 toolbarButtons : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', 'align', 'outdent', 'indent', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable'], 389 toolbarButtonsMD : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', 'align', 'outdent', 'indent', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable'], 390 toolbarButtonsSM : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', 'align', 'outdent', 'indent', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable'], 391 toolbarButtonsXS : ['bold', 'fontFamily', 'fontSize', 'italic', 'underline', 'textColor', 'strikeThrough', 'emoticons', 'align', 'outdent', 'indent', 'insertLink', 'customImageUpload', 'insertVideo', 'insertTable'], 392 } 393 } 394 395 // 커ì¤í ì´ë¯¸ì§ ì ë¡ë ë²í¼ ì¶ê° 396 FroalaEditor.DefineIcon('customImageUpload', { NAME: 'customImageUpload'}); 397 FroalaEditor.RegisterCommand('customImageUpload', { 398 // Button title. 399 title: 'ì´ë¯¸ì§ ì½ì ', 400 401 icon: "<i class='xi-image-o' style='font-size:20px;'></i>", 402 403 // Save the button action into undo stack. 404 undo: true, 405 406 // Focus inside the editor before the callback. 407 focus: true, 408 409 // Show the button on mobile or not. 410 showOnMobile: true, 411 412 // Refresh the buttons state after the callback. 413 refreshAfterCallback: true, 414 415 // ë²í¼í´ë¦ì í¸ì¶ ì½ë°±í¨ì ì ì 416 callback: function () { 417 window.open("/commonApi/files/customEditorImageUploader?editorName="+editorName+"&formSession="+formSession, "editorImageUploader", "width=800, height=400, scrolbars=Y"); 418 }, 419 420 // Called when the button state might have changed. 421 refresh: function ($btn) { 422 // The current context is the editor instance. 423 console.log (this.selection.element()); 424 } 425 }); 426 427 var editor = new FroalaEditor(selector, { 428 key : _CFG.froalaLicenseKey, 429 attribution: false, 430 language : 'ko', 431 imageDefaultDisplay : 'inline', 432 height : options.height, 433 heightMax : options.maxHeight, 434 imageAddNewLine : true, 435 imageSplitHTML : true, 436 imageAllowedTypes : ['jpeg', 'jpg', 'png', 'gif'], 437 imageDefaultWidth : 0, 438 fontFamily : { 439 "ë§ì ê³ ë": 'ë§ì ê³ ë', 440 "굴림": '굴림' 441 },
442 toolbarSticky: false, 443 quickInsertEnabled: false, 444 imagePasteProcess: true, 445 pasteAllowLocalImages: true, 446 pastePlain: false, 447 imageEditButtons : ['imageAlign', 'imageRemove', 'imageLink', 'imageSize'], // imageReplace 448 toolbarButtons : toolbarDef.toolbarButtons, 449 toolbarButtonsMD : toolbarDef.toolbarButtonsMD, 450 toolbarButtonsSM : toolbarDef.toolbarButtonsSD, 451 toolbarButtonsXS : toolbarDef.toolbarButtonsXD, 452 453 /* 454 * image upload options 455 */ 456 // Set the image upload parameter. 457 imageUploadParam: 'file', 458 459 // Set the image upload URL. 460 imageUploadURL: '/commonApi/files/uploadEditorImage', 461 462 // Additional upload params. 463 imageUploadParams: {}, 464 465 // Set request type. 466 imageUploadMethod: 'POST', 467 468 // Set max image size to 5MB. 469 imageMaxSize: 5 * 1024 * 1024, 470 471 // Allow to upload PNG and JPG. 472 imageAllowedTypes: ['jpeg', 'jpg', 'png'], 473 474 /* 475 * video upload options 476 */ 477 videoUploadParam: 'file', 478 videoUploadURL: '/commonApi/files/uploadEditorImage', 479 videoUploadMethod: 'POST', 480 videoMaxSize: 1024 * 1024 * 50, 481 videoAllowedTypes: ['mp4'], 482 483 events: { 484 'image.beforeUpload': function (images) { 485 486 }, 487 'image.uploaded': function (response) { 488 489 }, 490 'image.inserted': function ($img, response) { 491 $img.css("width", "auto"); 492 $img.css("max-width", "100%"); 493 }, 494 'image.replaced': function ($img, response) { 495 496 }, 497 'image.error': function (error, response) { 498 notify("ì´ë¯¸ì§ ì ë¡ë ì¤ë¥ì ëë¤."); 499 }, 500 'video.inserted': function ($video) { 501 $video.find("video").css("width", "100%"); 502 $video.find("video").css("max-width", "870px"); 503 } 504 } 505 }); 506 507 return editor; 508}; 509 510/* 511 * 커ì¤í ì´ë¯¸ì§ ì ë¡ëë¡ ìëí°ì ì´ë¯¸ì§ë¥¼ ì½ì íìë ì½ë°± í¨ì 512 */ 513app.onInsertEditorImage = function(editorName, imageUrls) { 514 /* 515 * ì´ë¯¸ì§ë¥¼ ê°ë³ì ì¼ë¡ íëì© ì½ì íë©´ ì½ì ììê° ì ë§ì¼ë¯ë¡ image.insert ë©ìë를 ì¬ì©íì§ ìê³ 516 * htmlì ì§ì ë§ë¤ì´ ì¬ë¬ê°ì ì´ë¯¸ì§ë¥¼ í ë²ì ì½ì íë¤. 517 */ 518 var html = []; 519 $.each(imageUrls, function(index, imageUrl){ 520 html.push("<p style='text-align:center;'><img src='"+imageUrl+"' class='fr-fic fr-dii'></p>"); 521 }); 522 523 editors[editorName].html.insert(html.join(""), true); 524} 525 526/* 527 * ê°ì²´ì ìì를 ë³ê²½í ë 528 */ 529app.changeDOMSeqAjax = function (listObj, requestUrl, callback) { 530 var uidArray = []; 531 532 listObj.find(".seqControlCell").each(function () { 533 var uid = $(this).attr("data-seq-uid"); 534 uidArray.push(uid); 535 }); 536 537 var ajaxReq = new AjaxRequest(); 538 ajaxReq.setUrl(requestUrl); 539 ajaxReq.setType("get"); 540 ajaxReq.setData({ 541 seqTokens : uidArray.join(",") 542 }); 543 ajaxReq.setSuccess(function(data, status){ 544 if (typeof(callback) == "function") 545 callback(data); 546 }); 547 ajaxReq.setError(function(request, status, err){ 548 notify("ìì를 ë³ê²½í ì ììµëë¤. ì ìíì ë¤ì ìëí´ì£¼ì¸ì."); 549 }); 550 ajaxReq.request(); 551} 552 553/* 554 * íì ì°½ ë«ê¸° 555 */ 556app.closePopup = function(popupId, noToday) { 557 $("#popup_"+popupId).remove(); 558 559 // íì ì´ ì¬ë¬ê° ë ¸ì¶ëì´ ìì ê²½ì° ëª¨ë íì ì´ ë«íë©´ ì¤ë²ë ì´ divë ìì íë¤. 560 if ($(".mainLayerPopup").length == 0) 561 { 562 $("#popupContainerOverlay").remove(); 563 } 564 565 // ì¤ë ë ì´ì ë³´ì§ ì기를 í´ë¦íì ê²½ì°ìë ì¿ í¤ë¥¼ ì ì¥íë¤. 566 if (noToday == true) 567 { 568 var ajaxReq = new AjaxRequest(); 569 ajaxReq.setUrl("/web/popup/noToday"); 570 ajaxReq.setType("post"); 571 ajaxReq.setData({ 572 id : popupId 573 }); 574 ajaxReq.setSuccess(function(data, status){ 575 }); 576 ajaxReq.request(); 577 } 578} 579 580/* 581 * íì´ì§ í리ë¡ë ìì´ì½ ë³´ì´ê¸°/ê°ì¶ê¸° 582 * dimmerOpacity : dimmer ë¶í¬ëª ë (default : 0.6) 583 */ 584app.showPageLoader = function(dimmerOpacity) { 585 var paramDimmerOpacity = (dimmerOpacity == undefined) ? 0 : dimmerOpacity; 586 587 var html = "<div class='pageLoader' style='background-color:rgba(0,0,0,"+paramDimmerOpacity+")'>" + 588 "<div><i class='xi-spinner-3 xi-spin'></i></div>" + 589 "</div>"; 590 591 $("body").remove(".pageLoader"); 592 $("body").append(html); 593 594} 595 596app.hidePageLoader = function() { 597 $("body .pageLoader").remove(); 598} 599 600/* 601 * dropzoneì dropzone í´ëì¤ë¥¼ ê°ì§ DOMê°ì²´ë¥¼ ìëì¼ë¡ ì°¾ìì ì´ê¸°í íë¯ë¡ ì´ë¥¼ disabledìí¨ë¤. 602 */ 603Dropzone.autoDiscover = false;
604 605 606/* 607 * íì´ì§ ì´ê¸°í 608 */ 609$(document).ready(function () { 610 /* 611 * ê³µíµ ë°ì´í° ë¡ë©. 612 * ë¡ë©ì´ ëëë©´ onPageInití¨ì í¸ì¶ 613 */ 614 var promise1 = app.loadCommonData(); 615 var promise2 = app.loadLoginSession(); 616 617 $.when(promise1, promise2).done(function(){ 618 if (typeof(app) != "undefined") 619 { 620 if (typeof(app.onAppInit) === "function") app.onAppInit(); 621 622 if (typeof(app.onPageInit) === "function") app.onPageInit(); 623 } 624 else 625 { 626 console.error("app object is not defined."); 627 } 628 }); 629 630 631 // 632 $(window).resize(function(){ 633 setVideoHeight() 634 }); 635 setVideoHeight(); 636}); 637 638 639function setVideoHeight(){ 640 var videoH = $(".editorStyleWrapper .fr-video iframe").width()*0.5625; 641 $(".editorStyleWrapper .fr-video iframe").css("height", videoH) 642} 643
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.