/** * jquery.customIndicator.js * * @version 1.0 * @author youngjun cho * @description indicator * @date 2014.10.08 * */ "use strict"; (function ($) { $.customIndicator = { defaults : { /** * fixFormTable 옵션 */ indicator : true // true : indicator 사용 , false : indicator 미사용 , debug : false // true : console.log 로 debug 메세지 출력, false : debug 메세지 출력 안함. , indicatorObj : "#custom_indicator" // indicator's DOM. , indicatorBackgroundColor : "#FFFFFF" // indicator 배경색 : transparent, #000000, #FFFFFF, ... , indicatorBackgroundZIndex : 1000 // indicator 배경 z-index , indicatorBackgroundOpacity : 0.1 // indicator 배경 opacity : 1.0, 0.5 , indicatorWidth : "230px" // indicator 전경 width , indicatorHeight : "32px" // indicator 전경 height , indicatorTop : "50%" // indicator 전경 top , indicatorLeft : "50%" // indicator 전경 left , indicatorMargin : "-16px 0 0 -115px" // indicator 전경 margin , indicatorPadding : "10px 0 10px 0" // indicator 전경 padding , indicatorZindex : 1001 // indicator 전경 z-index , indicatorImageUrl : "/totsys/common/js/img/ajax-loader1.gif" // indicator 전경 이미지 , indicatorColor : "#000000" // indicator 전경 배경색 transparent, #000000, #FFFFFF, ... , indicatorOpacity : 0.5 // indicator 전경 opacity , indicatorFontColor : "#FFFFFF" // indicator 전경 폰트색상 , indicatorFontWeight : "bold" // indicator 전경 폰트스타일 , indicatorFontFamily : "dotum" // indicator 전경 폰트종류 , indicatorFontSize : "13px" // indicator 전경 폰트크기 , indicatorText : "처리중입니다..." // indicator 전경 텍스트 }, checkIndicator : function(target) { /** * indicator element 가 존재하는지 체크. */ var isExistIndicator = false; try { if($.customIndicator.defaults.indicator === true) { isExistIndicator = $("#custom_indicator", target).length > 0 ? true : false; } } catch(e) { $.customIndicator._log("checkIndicator", "Exception : " + e); } return isExistIndicator; }, show : function(target) { /** * indicator element 를 body 에 추가하고, show. */ try { if($.customIndicator.defaults.indicator === true) { if ($.customIndicator.checkIndicator(target) === false) { var ajaxIndicatorHtml = ""; // start : indicator 레이어 영역 전체 ajaxIndicatorHtml = ajaxIndicatorHtml + "
"; // end : indicator 레이어 영역 전체 //$("body", target).append(ajaxIndicatorHtml); target.$("body").append(ajaxIndicatorHtml); target.$($.customIndicator.defaults.indicatorObj).show(); } else { target.$($.customIndicator.defaults.indicatorObj).show(); } } } catch(e) { $.customIndicator._log("showIndicator", "Exception : " + e); } }, hide : function(target) { /** * indicator element 를 hide. */ try { //target.$($.fixFormTable.defaults.indicatorObj).hide(); target.$($.customIndicator.defaults.indicatorObj).fadeOut(); } catch(e) { $.customIndicator._log("hideIndicator", "Exception : " + e); } }, _log : function(_position, _msg) { /** * console.log 출력 함수. */ try { if ($.customIndicator.defaults.debug === true) { var logMsg = "====> [:: jquery.customIndicator.js ::] " + _position + ", " + _msg; if (typeof console == "object") { console.log(logMsg); } else { alert(logMsg); // console.log 를 지원하지 않는 브라우저 (IE8 이하) } } } catch(e) {} } }; })(jQuery);