1 line
9.9 KiB
JavaScript
1 line
9.9 KiB
JavaScript
Type.registerNamespace("Sys.Extended.UI");Sys.Extended.UI.PagingBulletedListBehavior=function(n){Sys.Extended.UI.PagingBulletedListBehavior.initializeBase(this,[n]);this._indexSizeValue=1;this._separatorValue=" - ";this._heightValue=null;this._maxItemPerPage=null;this._clientSortValue=!1;this._selectIndexCssClassValue=null;this._unselectIndexCssClassValue=null;this._tabValue=[];this._tabValueObject=[];this._tabIndex=[];this._divContent=null;this._divContentIndex=null;this._divContentUl=null;this._prevIndexSelected=null;this._indexSelected=0;this._clickIndex=null};Sys.Extended.UI.PagingBulletedListBehavior.prototype={initialize:function(){var u,t,r,i,f,n;for(Sys.Extended.UI.PagingBulletedListBehavior.callBaseMethod(this,"initialize"),u=this.get_ClientState(),u&&(t=u.split(";"),t.length&&(this._indexSelected=t[0],this._indexSizeValue=t[1]=="null"?null:t[1],this._maxItemPerPage=t[2]=="null"?null:t[2],this._clientSortValue=t[3]=="true"?!0:!1)),r=this.get_element(),this._divContent=document.createElement("div"),r.parentNode.insertBefore(this._divContent,r),i=r.childNodes,this._clickIndex=Function.createDelegate(this,this._onIndexClick),this._divContentIndex=document.createElement("DIV"),this._divContentIndex.style.marginBottom="5px",this._divContent.appendChild(this._divContentIndex),n=0;n<i.length;n++)i[n].nodeName=="LI"&&(f=i[n].firstChild&&i[n].firstChild.innerHTML?i[n].firstChild.innerHTML:i[n].innerHTML,this._tabValueObject[this._tabValueObject.length]={text:f,obj:i[n],index:n});this._clientSortValue&&this._tabValueObject.sort(this.liElementSortText);this._generateIndexAndTabForView();this._removeChilds(r.childNodes);this._divContentUl=document.createElement("DIV");this._changeHeightDivContent();this._divContentUl.appendChild(r);this._divContent.appendChild(this._divContentUl);this._updateIndexAndView(this._indexSelected)},_changeHeightDivContent:function(){this._heightValue?(this._divContentUl.style.overflow="scroll",this._divContentUl.style.height=this._heightValue+"px"):(this._divContentUl.style.overflow="",this._divContentUl.style.height="")},_createAHrefIndex:function(n,t){var r,i;return i=document.createElement("a"),i.href="",this._unselectIndexCssClassValue&&Sys.UI.DomElement.addCssClass(i,this._unselectIndexCssClassValue),i.innerHTML=n,i.tag=t,$addHandler(i,"click",this._clickIndex),this._tabIndex[this._tabIndex.length]=i,this._divContentIndex.appendChild(i),r=document.createElement("SPAN"),r.innerHTML=""+this._separatorValue+"",this._divContentIndex.appendChild(r),r},liElementSortText:function(n,t){return n.text.toLowerCase()==t.text.toLowerCase()?0:n.text.toLowerCase()<t.text.toLowerCase()?-1:1},liElementSortIndex:function(n,t){return n.index-t.index},_generateIndexAndTabForView:function(){var i,r,t,n;if(this._deleteTabIndexAndTabValue(),this._tabValue=[],this._tabIndex=[],this._removeChilds(this._divContentIndex.childNodes),this._maxItemPerPage){if(this._maxItemPerPage>0)for(t=-1,n=0;n<this._tabValueObject.length;n++)n%this._maxItemPerPage==0&&(index=this._tabValueObject[n].text,this._tabValue[++t]=[],i=this._createAHrefIndex(index,t)),this._tabValue[t][this._tabValue[t].length]=this._tabValueObject[n].obj}else if(this._indexSizeValue>0)for(r="",t=-1,n=0;n<this._tabValueObject.length;n++)index=this._tabValueObject[n].text.substr(0,this._indexSizeValue).toUpperCase(),r!=index&&(this._tabValue[++t]=[],i=this._createAHrefIndex(index,t),r=index),this._tabValue[t][this._tabValue[t].length]=this._tabValueObject[n].obj;i&&this._divContentIndex.removeChild(i)},_deleteTabIndexAndTabValue:function(){var t,n;if(this._clickIndex){for(n=0;n<this._tabIndex.length;n++)t=this._tabIndex[n],t&&$removeHandler(t,"click",this._clickIndex);this._changeHandler=null}for(delete this._tabIndex,n=0;n<this._tabValue.length;n++)delete this._tabValue[n];delete this._tabValue},dispose:function(){this._deleteTabIndexAndTabValue();delete this._tabValueObject;Sys.Extended.UI.PagingBulletedListBehavior.callBaseMethod(this,"dispose")},_removeChilds:function(n){for(var t=0;n.length;t++)n[0].parentNode.removeChild(n[0])},_renderHtml:function(n){var i=this.get_element(),t;for(this._removeChilds(i.childNodes),t=0;t<this._tabValue[n].length;t++)i.appendChild(this._tabValue[n][t]);this._divContentUl.scrollTop=0},_selectIndex:function(n){this._tabIndex.length>0&&(this._unselectIndexCssClassValue&&Sys.UI.DomElement.removeCssClass(this._tabIndex[n],this._unselectIndexCssClassValue),this._selectIndexCssClassValue&&Sys.UI.DomElement.addCssClass(this._tabIndex[n],this._selectIndexCssClassValue),this._prevIndexSelected=this._tabIndex[n],this.raise_indexChanged(this._tabIndex[n]))},_onIndexClick:function(n){var i=this.get_element(),t=n.target;this._selectIndexCssClassValue&&Sys.UI.DomElement.removeCssClass(this._prevIndexSelected,this._selectIndexCssClassValue);this._unselectIndexCssClassValue&&Sys.UI.DomElement.addCssClass(this._prevIndexSelected,this._unselectIndexCssClassValue);this._unselectIndexCssClassValue&&Sys.UI.DomElement.removeCssClass(t,this._unselectIndexCssClassValue);this._selectIndexCssClassValue&&Sys.UI.DomElement.addCssClass(t,this._selectIndexCssClassValue);this._prevIndexSelected=t;this._renderHtml(t.tag);this.raise_indexChanged(t);n.preventDefault()},add_indexChanged:function(n){this.get_events().addHandler("indexChanged",n)},remove_indexChanged:function(n){this.get_events().removeHandler("indexChanged",n)},raise_indexChanged:function(n){this._indexSelected=n.tag;var t=this.get_events().getHandler("indexChanged");t&&(n||(n=Sys.EventArgs.Empty),t(this,n));this.set_ClientState(n.tag+";"+this.get_indexSize()+";"+this.get_maxItemPerPage()+";"+this.get_clientSort())},raiseIndexChanged:function(n){Sys.Extended.Deprecated("raiseIndexChanged(eventArgs)","raise_indexChanged(eventArgs)");this.raise_indexChanged(n)},get_tabIndex:function(){return this._tabIndex},get_tabValue:function(){return this._tabValue},_updateIndexAndView:function(n){this._generateIndexAndTabForView();this._tabIndex.length>0&&(n<this._tabIndex.length?(this._renderHtml(this._tabIndex[n].tag),this._selectIndex(n)):(this._renderHtml(this._tabIndex[0].tag),this._selectIndex(0)))},get_height:function(){return this._heightValue},set_height:function(n){this._heightValue!=n&&(this._heightValue=n,this.get_isInitialized()&&this._changeHeightDivContent(),this.raisePropertyChanged("height"))},get_Height:function(){return Sys.Extended.Deprecated("get_Height()","get_height()"),this.get_height()},set_Height:function(n){Sys.Extended.Deprecated("set_Height(value)","set_height(value)");this.set_height(n)},get_indexSize:function(){return this._indexSizeValue},set_indexSize:function(n){this._indexSizeValue!=n&&(this.set_ClientState("0;"+n+";"+this.get_maxItemPerPage()+";"+this.get_clientSort()),this._indexSizeValue=n,this.get_isInitialized()&&this._updateIndexAndView(0),this.raisePropertyChanged("indexSize"))},get_IndexSize:function(){return Sys.Extended.Deprecated("get_IndexSize()","get_indexSize()"),this.get_indexSize()},set_IndexSize:function(n){Sys.Extended.Deprecated("set_IndexSize(value)","set_indexSize(value)");this.set_indexSize(n)},get_maxItemPerPage:function(){return this._maxItemPerPage},set_maxItemPerPage:function(n){this._maxItemPerPage!=n&&(this.set_ClientState("0;"+this.get_indexSize()+";"+n+";"+this.get_clientSort()),this._maxItemPerPage=n,this.get_isInitialized()&&this._updateIndexAndView(0),this.raisePropertyChanged("maxItemPerPage"))},get_MaxItemPerPage:function(){return Sys.Extended.Deprecated("get_MaxItemPerPage()","get_maxItemPerPage()"),this.get_maxItemPerPage()},set_MaxItemPerPage:function(n){Sys.Extended.Deprecated("set_MaxItemPerPage(value)","set_maxItemPerPage(value)");this.set_maxItemPerPage(n)},get_separator:function(){return this._separatorValue},set_separator:function(n){this._separatorValue!=n&&(this._separatorValue=n?n:"",this.get_isInitialized()&&this._updateIndexAndView(0),this.raisePropertyChanged("separator"))},get_Separator:function(){return Sys.Extended.Deprecated("get_Separator()","get_separator()"),this.get_separator()},set_Separator:function(n){Sys.Extended.Deprecated("set_Separator(value)","set_separator(value)");this.set_separator(n)},get_clientSort:function(){return this._clientSortValue},set_clientSort:function(n){this._clientSortValue!=n&&(this.set_ClientState("0;"+this.get_indexSize()+";"+this.get_maxItemPerPage()+";"+n),this._clientSortValue=n,this.get_isInitialized()&&(this._clientSortValue?this._tabValueObject.sort(this.liElementSortText):this._tabValueObject.sort(this.liElementSortIndex),this._updateIndexAndView(0)),this.raisePropertyChanged("clientSort"))},get_ClientSort:function(){return Sys.Extended.Deprecated("get_ClientSort()","get_clientSort()"),this.get_clientSort()},set_ClientSort:function(n){Sys.Extended.Deprecated("set_ClientSort(value)","set_clientSort(value)");this.set_clientSort(n)},get_selectIndexCssClass:function(){return this._selectIndexCssClassValue},set_selectIndexCssClass:function(n){this._selectIndexCssClassValue!=n&&(this._selectIndexCssClassValue=n,this.raisePropertyChanged("selectIndexCssClass"))},get_SelectIndexCssClass:function(){return Sys.Extended.Deprecated("get_SelectIndexCssClass()","get_selectIndexCssClass()"),this.get_selectIndexCssClass()},set_SelectIndexCssClass:function(n){Sys.Extended.Deprecated("set_SelectIndexCssClass(value)","set_selectIndexCssClass(value)");this.set_selectIndexCssClass(n)},get_unselectIndexCssClass:function(){return this._unselectIndexCssClassValue},set_unselectIndexCssClass:function(n){this._unselectIndexCssClassValue!=n&&(this._unselectIndexCssClassValue=n,this.raisePropertyChanged("unselectIndexCssClass"))},get_UnselectIndexCssClass:function(){return Sys.Extended.Deprecated("get_UnselectIndexCssClass()","get_unselectIndexCssClass()"),this.get_unselectIndexCssClass()},set_UnselectIndexCssClass:function(n){Sys.Extended.Deprecated("set_UnselectIndexCssClass(value)","set_unselectIndexCssClass(value)");this.set_unselectIndexCssClass(n)}};Sys.Extended.UI.PagingBulletedListBehavior.registerClass("Sys.Extended.UI.PagingBulletedListBehavior",Sys.Extended.UI.BehaviorBase); |