PageSourceSearch

https://www.insbo.no/js/jquery.twbsPagination.min.js?v=22.7.0

js insbo.no collected 2026-10-10 01:43:20 UTC 6,457 bytes, 28 lines download raw bytes

1/*!
2 * jQuery pagination plugin v1.2.5
3 * http://esimakin.github.io/twbs-pagination/
4 *
5 * Copyright 2014, Eugene Simakin
6 * Released under Apache 2.0 license
7 * http://apache.org/licenses/LICENSE-2.0.html
8 */
9;(function($,window,document,undefined){'use strict';var old=$.fn.twbsPagination;var TwbsPagination=function(element,options){this.$element=$(element);this.options=$.extend({},$.fn.twbsPagination.defaults,options);if(this.options.startPage<1||this.options.startPage>this.options.totalPages){throw new Error('Start page option is incorrect')}
10this.options.totalPages=parseInt(this.options.totalPages);if(isNaN(this.options.totalPages)){throw new Error('Total pages option is not correct!')}
11this.options.visiblePages=parseInt(this.options.visiblePages);if(isNaN(this.options.visiblePages)){throw new Error('Visible pages option is not correct!')}
12if(this.options.totalPages<this.options.visiblePages){this.options.visiblePages=this.options.totalPages}
13if(this.options.onPageClick instanceof Function){this.$element.first().bind('page',this.options.onPageClick)}
14if(this.options.href){var m,regexp=this.options.href.replace(/[-\/\\^$*+?.|[\]]/g,'\\$&');regexp=regexp.replace(this.options.hrefVariable,'(\\d+)');if((m=new RegExp(regexp,'i').exec(window.location.href))!=null){this.options.startPage=parseInt(m[1],10)}}
15var tagName=(typeof this.$element.prop==='function')?this.$element.prop('tagName'):this.$element.attr('tagName');if(tagName==='UL'){this.$listContainer=this.$element}else{this.$listContainer=$('<ul></ul>')}
16this.$listContainer.addClass(this.options.paginationClass);if(tagName!=='UL'){this.$element.append(this.$listContainer)}
17this.render(this.getPages(this.options.startPage));this.setupEvents();return this};TwbsPagination.prototype={constructor:TwbsPagination,destroy:function(){this.$element.empty();this.$element.removeData('twbs-pagination');this.$element.unbind('page');return this},show:function(page){if(page<1||page>this.options.totalPages){throw new Error('Page is incorrect.')}
18this.render(this.getPages(page));this.setupEvents();this.$element.trigger('page',page);return this},buildListItems:function(pages){var $listItems=$();if(this.options.first){$listItems=$listItems.add(this.buildItem('first',1))}
19if(this.options.prev){var prev=pages.currentPage>1?pages.currentPage-1:this.options.loop?this.options.totalPages:1;$listItems=$listItems.add(this.buildItem('prev',prev))}
20for(var i=0;i<pages.numeric.length;i++){$listItems=$listItems.add(this.buildItem('page',pages.numeric[i]))}
21if(this.options.next){var next=pages.currentPage<this.options.totalPages?pages.currentPage+1:this.options.loop?1:this.options.totalPages;$listItems=$listItems.add(this.buildItem('next',next))}
22if(this.options.last){$listItems=$listItems.add(this.buildItem('last',this.options.totalPages))}
23return $listItems},buildItem:function(type,page){var itemContainer=$('<li></li>'),itemContent=$('<a class="page-link"></a>'),itemText=null;switch(type){case 'page':itemText=page;itemContainer.addClass(this.options.pageClass);break;case 'first':itemText=this.options.first;itemContainer.addClass(this.options.firstClass);break;case 'prev':itemText=this.options.prev;itemContainer.addClass(this.options.prevClass);break;case 'next':itemText=this.options.next;itemContainer.addClass(this.options.nextClass);break;case 'last':itemText=this.options.last;itemContainer.addClass(this.options.lastClass);break;default:break}
24itemContainer.data('page',page);itemContainer.data('page-type',type);itemContainer.append(itemContent.attr('href',this.makeHref(page)).html(itemText));return itemContainer},getPages:function(currentPage){var pages=[];var half=Math.floor(this.options.visiblePages/2);var start=currentPage-half+1-this.options.visiblePages%2;var end=currentPage+half;if(start<=0){start=1;end=this.options.visiblePages}
25if(end>this.options.totalPages){start=this.options.totalPages-this.options.visiblePages+1;end=this.options.totalPages}
26var itPage=start;while(itPage<=end){pages.push(itPage);itPage++}
27return{"currentPage":currentPage,"numeric":pages}},render:function(pages){this.$listContainer.children().remove();this.$listContainer.append(this.buildListItems(pages));var children=this.$listContainer.children();children.filter(function(){return $(this).data('page')===pages.currentPage&&$(this).data('page-type')==='page'}).addClass(this.options.activeClass);children.filter(function(){return $(this).data('page-type')==='first'}).toggleClass(this.options.disabledClass,pages.currentPage===1);children.filter(function(){return $(this).data('page-type')==='last'}).toggleClass(this.options.disabledClass,pages.currentPage===this.options.totalPages);children.filter(function(){return $(this).data('page-type')==='prev'}).toggleClass(this.options.disabledClass,!this.options.loop&&pages.currentPage===1);children.filter(function(){return $(this).data('page-type')==='next'}).toggleClass(this.options.disabledClass,!this.options.loop&&pages.currentPage===this.options.totalPages)},setupEvents:function(){var base=this;this.$listContainer.find('li').each(function(){var $this=$(this);$this.off();if($this.hasClass(base.options.disabledClass)||$this.hasClass(base.options.activeClass)){$this.click(function(evt){evt.preventDefault()});return}
28$this.click(function(evt){!base.options.href&&evt.preventDefault();base.show(parseInt($this.data('page'),10))})})},makeHref:function(c){return this.options.href?this.options.href.replace(this.options.hrefVariable,c):"#"}};$.fn.twbsPagination=function(option){var args=Array.prototype.slice.call(arguments,1
28);var methodReturn;var $this=$(this);var data=$this.data('twbs-pagination');var options=typeof option==='object'&&option;if(!data)$this.data('twbs-pagination',(data=new TwbsPagination(this,options)));if(typeof option==='string')methodReturn=data[option].apply(data,args);return(methodReturn===undefined)?$this:methodReturn};$.fn.twbsPagination.defaults={totalPages:0,startPage:1,visiblePages:5,href:!1,hrefVariable:'{{number}}',first:'First',prev:'Previous',next:'Next',last:'Last',loop:!1,onPageClick:null,paginationClass:'pagination',nextClass:'next page-item',prevClass:'prev page-item',lastClass:'last page-item',firstClass:'first page-item',pageClass:'page page-item',activeClass:'active',disabledClass:'disabled'};$.fn.twbsPagination.Constructor=TwbsPagination;$.fn.twbsPagination.noConflict=function(){$.fn.twbsPagination=old;return this}})(jQuery,window,document)

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.