1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-23 16:52:26 +02:00
TableFilter/dist/TF_Modules/tf_popupFilters.js
2015-03-06 19:49:30 +11:00

1 line
3.5 KiB
JavaScript

TF.prototype.SetPopupFilterIcons=function(){if(!this.popUpFilters)return;this.isExternalFlt=!0;var e=this.fObj;this.popUpImgFlt=e.popup_filters_image!=undefined?e.popup_filters_image:this.themesPath+"icn_filter.gif",this.popUpImgFltActive=e.popup_filters_image_active!=undefined?e.popup_filters_image_active:this.themesPath+"icn_filterActive.gif",this.popUpImgFltHtml=e.popup_filters_image_html!=undefined?e.popup_filters_image_html:'<img src="'+this.popUpImgFlt+'" alt="Column filter" />',this.popUpDivCssClass=e.popup_div_css_class!=undefined?e.popup_div_css_class:"popUpFilter",this.onBeforePopUpOpen=tf_IsFn(e.on_before_popup_filter_open)?e.on_before_popup_filter_open:null,this.onAfterPopUpOpen=tf_IsFn(e.on_after_popup_filter_open)?e.on_after_popup_filter_open:null,this.onBeforePopUpClose=tf_IsFn(e.on_before_popup_filter_close)?e.on_before_popup_filter_close:null,this.onAfterPopUpClose=tf_IsFn(e.on_after_popup_filter_close)?e.on_after_popup_filter_close:null,this.externalFltTgtIds=[],this.popUpFltSpans=[],this.popUpFltImgs=[],this.popUpFltElms=this.popUpFltElmCache?this.popUpFltElmCache:[],this.popUpFltAdjustToContainer=!0;var t=this;for(var n=0;n<this.nbCells;n++){if(this["col"+n]==this.fltTypeNone)continue;var r=tf_CreateElm("span",["id",this.prfxPopUpSpan+this.id+"_"+n],["ci",n]);r.innerHTML=this.popUpImgFltHtml;var i=this.GetHeaderElement(n);i.appendChild(r),r.onclick=function(e){var n=e||window.event,r=parseInt(this.getAttribute("ci"));t.CloseAllPopupFilters(r),t.TogglePopupFilter(r);if(t.popUpFltAdjustToContainer){var i=t.popUpFltElms[r],s=t.GetHeaderElement(r),u=s.clientWidth*.95;if(!tf_isNotIE){var a=tf_ObjPosition(s,[s.nodeName])[0];i.style.left=a+"px"}i.style.width=parseInt(u)+"px"}tf_CancelEvent(n),tf_StopEvent(n)},this.popUpFltSpans[n]=r,this.popUpFltImgs[n]=r.firstChild}},TF.prototype.SetPopupFilters=function(){for(var e=0;e<this.popUpFltElmCache.length;e++)this.SetPopupFilter(e,this.popUpFltElmCache[e])},TF.prototype.SetPopupFilter=function(e,t){var n=t?t:tf_CreateElm("div",["id",this.prfxPopUpDiv+this.id+"_"+e]);n.className=this.popUpDivCssClass,this.externalFltTgtIds.push(this.prfxPopUpDiv+this.id+"_"+e);var r=this.GetHeaderElement(e);r.insertBefore(n,r.firstChild),n.onclick=function(e){tf_StopEvent(e||window.event)},this.popUpFltElms[e]=n},TF.prototype.TogglePopupFilter=function(e){var t=this.popUpFltElms[e];t.style.display=="none"||t.style.display==""?(this.onBeforePopUpOpen!=null&&this.onBeforePopUpOpen.call(null,this,this.popUpFltElms[e],e),t.style.display="block",this["col"+e]==this.fltTypeInp&&this.GetFilterElement(e).focus(),this.onAfterPopUpOpen!=null&&this.onAfterPopUpOpen.call(null,this,this.popUpFltElms[e],e)):(this.onBeforePopUpClose!=null&&this.onBeforePopUpClose.call(null,this,this.popUpFltElms[e],e),t.style.display="none",this.onAfterPopUpClose!=null&&this.onAfterPopUpClose.call(null,this,this.popUpFltElms[e],e))},TF.prototype.CloseAllPopupFilters=function(e){for(var t=0;t<this.popUpFltElms.length;t++){if(t==e)continue;var n=this.popUpFltElms[t];n&&(n.style.display="none")}},TF.prototype.RemovePopupFilters=function(){this.popUpFltElmCache=[];for(var e=0;e<this.popUpFltElms.length;e++){var t=this.popUpFltElms[e],n=this.popUpFltSpans[e];t&&(t.parentNode.removeChild(t),this.popUpFltElmCache[e]=t),t=null,n&&n.parentNode.removeChild(n),n=null}},TF.prototype.SetPopupFilterIcon=function(e,t){var n=t==undefined?!0:t;this.popUpFltImgs[e]&&(this.popUpFltImgs[e].src=t?this.popUpImgFltActive:this.popUpImgFlt)},TF.prototype.SetAllPopupFiltersIcon=function(e){var t=e==undefined?!1:e;for(var n=0;n<this.popUpFltImgs.length;n++)this.SetPopupFilterIcon(n,!1)};