Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Elakiri Pagination Support
- // @namespace net.hopefullysafe
- // @match http://elakiri.com/
- // @match https://elakiri.com/
- // @match http://www.elakiri.com/
- // @match https://www.elakiri.com/
- // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
- // @grant none
- // ==/UserScript==
- this.$ = this.jQuery = jQuery.noConflict(true);
- $(document).ready(function() {
- function addBasic(spanElem, url, params, lastPageNo) {
- params.set('pp', 20);
- params.set('page', 1);
- spanElem
- .append(" [")
- .append($("<a/>", {
- html: "1-20",
- "class": "linkStyles",
- href: url.href
- }));
- if (lastPageNo > 2) {
- params.set('page', 2);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: "21-40",
- "class": "linkStyles",
- href: url.href
- }));
- params.set('pp', 40);
- params.set('page', 1);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: "1-40",
- "class": "linkStyles",
- href: url.href
- }));
- }
- spanElem
- .append("]");
- }
- function addMultiple20(spanElem, url, params, lastPageNo) {
- var longPages20 = Math.floor(lastPageNo / 2); // for pp=20 and default_page_size=10
- if ( lastPageNo % 2 != 0) {
- longPages20++;
- }
- params.set('pp', 20);
- params.set('page', 1);
- spanElem
- .append($("<a/>", {
- html: "1-20",
- "class": "linkStyles",
- href: url.href
- }));
- params.set('page', 2);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: "21-40",
- "class": "linkStyles",
- href: url.href
- }));
- params.set('page', 3);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: "41-60",
- "class": "linkStyles",
- href: url.href
- }));
- if (longPages20 > 3) {
- spanElem
- .append(" ...");
- if (longPages20 >= 6) {
- params.set('page', longPages20 - 2);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: ((longPages20 - 2) * 20 - 19) + "-" + ((longPages20 - 2) * 20),
- "class": "linkStyles",
- href: url.href
- }));
- }
- if (longPages20 >= 5) {
- params.set('page', longPages20 - 1);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: ((longPages20 - 1) * 20 - 19) + "-" + ((longPages20 - 1) * 20),
- "class": "linkStyles",
- href: url.href
- }));
- }
- if (longPages20 >= 4) {
- params.set('page', longPages20);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: (longPages20 * 20 - 19) + "-" + (longPages20 * 20),
- "class": "linkStyles",
- href: url.href
- }));
- }
- }
- }
- function addMultiple40(spanElem, url, params, lastPageNo) {
- var longPages40 = Math.floor(lastPageNo / 4); // for pp=40 and default_page_size=10
- if ( lastPageNo % 4 != 0) {
- longPages40++;
- }
- params.set('pp', 40);
- params.set('page', 1);
- spanElem
- .append($("<a/>", {
- html: "1-40",
- "class": "linkStyles",
- href: url.href
- }));
- if (longPages40 > 1) {
- params.set('page', 2);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: "41-80",
- "class": "linkStyles",
- href: url.href
- }));
- }
- if (longPages40 > 2) {
- params.set('page', 3);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: "81-120",
- "class": "linkStyles",
- href: url.href
- }));
- }
- if (longPages40 > 3) {
- spanElem
- .append(" ...");
- if (longPages40 >= 6) {
- params.set('page', longPages40 - 2);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: ((longPages40 - 2) * 40 - 39) + "-" + ((longPages40 - 2) * 40),
- "class": "linkStyles",
- href: url.href
- }));
- }
- if (longPages40 >= 5) {
- params.set('page', longPages40 - 1);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: ((longPages40 - 1) * 40 - 39) + "-" + ((longPages40 - 1) * 40),
- "class": "linkStyles",
- href: url.href
- }));
- }
- if (longPages40 >= 4) {
- params.set('page', longPages40);
- spanElem
- .append(" ")
- .append($("<a/>", {
- html: (longPages40 * 40 - 39) + "-" + (longPages40 * 40),
- "class": "linkStyles",
- href: url.href
- }));
- }
- }
- }
- $('<style>.linkStyles { font-size: .9em; }</style>').appendTo('body');
- $('#collapseobj_module_31 td:nth-child(2)').each(function(){
- var pageSpan = $(this).find("span.smallfont");
- var lastLink = $(pageSpan).find("a:last");
- if ($(lastLink).length) {
- var lastPageUrl = new URL($(lastLink).prop('href'));
- let params = lastPageUrl.searchParams;
- var lastPageNo = params.get('page');
- if (lastPageNo <= 4) {
- addBasic(pageSpan, lastPageUrl, params, lastPageNo);
- } else {
- pageSpan.append("<br/>").append("[");
- addMultiple20(pageSpan, lastPageUrl, params, lastPageNo);
- pageSpan.append(" / ");
- addMultiple40(pageSpan, lastPageUrl, params, lastPageNo);
- pageSpan.append("]");
- }
- }
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment