toolshed-8.x-1.x-dev/js/widgets/Pager.min.js
js/widgets/Pager.min.js
"use strict";Drupal.Toolshed=Drupal.Toolshed||{},(l=>{Drupal.Toolshed.InplacePager=class{constructor(t,e,s){if(this.container=t,this.settings={show:8,...s},this.element=l('<ul class="pager pager--inplace inline"></ul>').appendTo(this.container),this.element.wrap('<div class="pager-wrapper">'),this.displayed={startAt:1,endAt:0,items:[]},this.items=[],s.onNavClick&&(this.onNavClick=s.onNavClick),e.theme)for(let t=0;t<e.count;++t)this.items.push(l(Drupal.theme[e.theme](t,t+1)));else this.items=e;e.forEach((t,e)=>{t.on("click",this,this.onNavClick).data("index",e),t.wrap('<li class="pager__item">'),t.parent()}),this.settings.show<this.items.length?(this.ellipsisFront=l('<span class="pager-ellipsis pager-ellipsis--front">...</span>').hide().insertBefore(this.element),this.ellipsisEnd=l('<span class="pager-ellipsis pager-ellipsis--end">...</span>').hide().insertAfter(this.element)):this._displayItems(0,this.items.length-1),this.setActive(0)}get(t){return t<this.items.length?this.items[t]:this.items[this.items.length-1]}setActive(s){let i,t;if(l(".pager__item--active",this.elem).removeClass("pager__item--active"),l.isNumeric(s)?(i=s,t=this.get(s)):(t=s,i=s.data("index")),t){s=this.settings.show;if(s<this.items.length){let t=Math.max(i-(s>>1),0),e=t+s-1;e>=this.items.length&&(e=this.items.length-1,t=Math.max(e-s+1,0)),this._displayItems(t,e)}t.addClass("pager__item--active")}}_displayItems(t,e){let s;var i=this.displayed,l=i["items"];for(l.length&&(l[0].removeClass("pager__item--first"),l[l.length-1].removeClass("pager__item--last"));i.startAt<t;)l.shift().detach(),i.startAt+=1;for(;i.startAt>t;)--i.startAt,(s=this.items[i.startAt])&&(l.unshift(s),this.element.prepend(s));for(;i.endAt>e;)l.pop().detach(),--i.endAt;for(;i.endAt<e;)i.endAt+=1,(s=this.items[i.endAt])&&(l.push(s),this.element.append(s));this.ellipsisFront&&0!==i.startAt^this.ellipsisFront.is(":visible")&&this.ellipsisFront.toggle(),this.ellipsisEnd&&i.endAt!==this.items.length-1^this.ellipsisEnd.is(":visible")&&this.ellipsisEnd.toggle(),l[0].addClass("pager__item--first"),l[l.length-1].addClass("pager__item--last")}destroy(){this.items.forEach(t=>t.remove()),this.element.remove()}}})(jQuery);