PageSourceSearch

https://www.epson.com.mt/_ui/addons/assistedservicestorefront/responsive/common/js/jquery.tablesorter.pager.js

js epson.com.mt collected 2026-10-08 03:47:23 UTC 2,744 bytes, 114 lines download raw bytes

1(function($) {
2	$.extend({
3		tablesorterPager: new function() {
4
5			function updatePageDisplay(c) {
6				$(c.cssPageDisplay,c.container).val((c.page+1) + c.seperator + c.totalPages);
7			}
8
9			function moveToPage(table) {
10				var c = table.config;
11				if(c.page < 0 || c.page > (c.totalPages-1)) {
12					c.page = 0;
13				}
14
15				renderTable(table,c.rowsCopy);
16			}
17
18			function renderTable(table,rows) {
19
20				var c = table.config;
21				var l = rows.length;
22				var s = (c.page * c.size);
23				var e = (s + c.size);
24				if(e > rows.length ) {
25					e = rows.length;
26				}
27
28
29				var tableBody = $(table.tBodies[0]);
30
31				// clear the table body
32
33				$.tablesorter.clearTableBody(table);
34
35				for(var i = s; i < e; i++) {
36
37					var o = rows[i];
38					var l = o.length;
39					for(var j=0; j < l; j++) {
40
41						tableBody[0].appendChild(o[j]);
42
43					}
44				}
45
46				$(table).trigger("applyWidgets");
47
48				if( c.page >= c.totalPages ) {
49        			moveToLastPage(table);
50				}
51
52				updatePageDisplay(c);
53			}
54
55			this.appender = function(table,rows) {
56
57				var c = table.config;
58
59				c.rowsCopy = rows;
60				c.totalRows = rows.length;
61				c.totalPages = Math.ceil(c.totalRows / c.size);
62
63				renderTable(table,rows);
64			};
65
66			this.defaults = {
67				size: 5,
68				offset: 0,
69				page: 0,
70				totalRows: 0,
71				totalPages: 0,
72				container: null,
73				seperator: "/",
74				appender: this.appender
75			};
76
77			this.construct = function(settings) {
78
79				return this.each(function() {
80
81                    config = $.extend(this.config, $.tablesorterPager.defaults, settings);
82
83					var table = this, pager = config.container;
84
85                    var curr = 0;
86                    var numPages = Math.ceil($(table).find("tbody tr").length/config.size);
87                    if (numPages > 1) {
88                        while(numPages > curr){
89                            $('<li><a href="#" class="page_link">'+(curr+1)+'</a></li>').appendTo(pager);
90                            curr++;
91                        }
92
93                        $(this).trigger("appendCache");
94                        $(pager).find('.page_link:first').addClass('active');
95                        $(pager).find(".page_link").click(function() {
96                            var clickedPage = $(this).html().valueOf()-1;
97                            table.config.page = clickedPage;
98                            moveToPage(table);
99                            pager.find(".page_link").removeClass("active");
100                            pager.find(".page_link").eq(clickedPage).addClass("active");
101                            return false;
102                        });
103					}
104				});
105			};
106
107		}
108	});
109	// extend plugin scope
110	$.fn.extend({
111        tablesorterPager: $.tablesorterPager.construct
112	});
113
114})(jQuery);

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.