User:NguoiDungKhongDinhDanh/infiniscroll.js

// Originally by Awesome Aasim.

if (!infiniscroll) { var infiniscroll = {}; // script that would add infinite scrolling to Special:Contribs, Special:Log, Special:NewPages, and a few other pages infiniscroll.urlparams = (new URL(location.href)).searchParams; infiniscroll.loading = false; infiniscroll.loadSpecialPage = function { // user contributions if ($(".mw-contributions-list").length > 0) { $("#mw-content-text").prepend(' Infinite scrolling enabled. Press &#9632; to disable. '); infiniscroll.loadContribs = function { if (!infiniscroll.loading) { infiniscroll.loading = true; var oldnexthtml = $(".mw-nextlink").eq(1).html; var oldnexttext = $(".mw-nextlink").eq(1).text; var nextlink = $(".mw-nextlink").eq(1).attr("href"); if (nextlink) { $(".mw-nextlink").eq(1).html('                          '); $.get(nextlink).done(function(result) {							$(".mw-contributions-list").eq(0).append($(result).find(".mw-contributions-list").eq(0).html);							if ($(result).find(".mw-nextlink").eq(1).text) {								$(".mw-nextlink").eq(1).html(oldnexthtml);								$(".mw-nextlink").eq(1).attr("href", $(result).find(".mw-nextlink").eq(1).attr("href"));							} else {								document.getElementsByClassName("mw-nextlink")[1].outerHTML = oldnexttext;								infiniscroll.loadContribs = function {									return false;								};							}							infiniscroll.loading = false;						}).fail(function {							$(".mw-nextlink").eq(1).html(oldnexthtml);							infiniscroll.loading = false;						}); }				}			};			$(".mw-nextlink").eq(0).after(' | &#9632;'); $(".mw-nextlink").eq(1).click(function(e) {				e.preventDefault;				infiniscroll.loadContribs;			}); window.onscroll = function(ev) { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { infiniscroll.loadContribs; }			};		}		// log pages else if ($(".mw-logevent-loglines").length > 0) { $("#mw-content-text").prepend(' Infinite scrolling enabled. Press &#9632; to disable. '); infiniscroll.loadLogs = function { if (!infiniscroll.loading) { infiniscroll.loading = true; var oldnexthtml = $(".mw-nextlink").eq(1).html; var oldnexttext = $(".mw-nextlink").eq(1).text; var nextlink = $(".mw-nextlink").eq(1).attr("href"); if (nextlink) { $(".mw-nextlink").eq(1).html('                          '); $.get(nextlink).done(function(result) {							$(".mw-logevent-loglines").eq(0).append($(result).find(".mw-logevent-loglines").eq(0).html);							if ($(result).find(".mw-nextlink").eq(1).text) {								$(".mw-nextlink").eq(1).html(oldnexthtml);								$(".mw-nextlink").eq(1).attr("href", $(result).find(".mw-nextlink").eq(1).attr("href"));							} else {								document.getElementsByClassName("mw-nextlink")[1].outerHTML = oldnexttext;								infiniscroll.loadLogs = function {									return false;								};							}							infiniscroll.loading = false;						}).fail(function {							$(".mw-nextlink").eq(1).html(oldnexthtml);							infiniscroll.loading = false;						}); }				}			};			$(".mw-nextlink").eq(0).after(' | &#9632;'); $(".mw-nextlink").eq(1).click(function(e) {				e.preventDefault;				infiniscroll.loadLogs;			}); window.onscroll = function(ev) { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { infiniscroll.loadLogs; }			};		}	};	infiniscroll.loadHistoryPage = function { var start = function { $.get(location.href).done(function(result) {				$("#pagehistory").eq(0).html($(result).find("#pagehistory").eq(0).html);				$("#mw-content-text").prepend(' Infinite scrolling enabled. Press &#9632; to disable. ');			}).fail(function {				start;			}); };		start; infiniscroll.loadHistory = function { if (!infiniscroll.loading) { infiniscroll.loading = true; var oldnexthtml = $(".mw-nextlink").eq(1).html; var oldnexttext = $(".mw-nextlink").eq(1).text; var nextlink = $(".mw-nextlink").eq(1).attr("href"); if (nextlink) { $(".mw-nextlink").eq(1).html('                          '); var oldselected = [0,0]; $("#pagehistory").find("li").each(function(i) {						if ($(this).find('input').eq(0).prop("checked")) {							oldselected[0] = i;						}						if ($(this).find('input').eq(1).prop("checked")) {							oldselected[1] = i;						} 					}); $.get(nextlink).done(function(result) {						$(result).find("#pagehistory").find("li").eq(0).find("input").eq(0).attr("style", null);						$("#pagehistory").eq(0).append($(result).find("#pagehistory").eq(0).html);						$("#pagehistory").find("li").each(function { if ($(this).find("input").eq(0).attr("style")) { $(this).find("input").eq(0).attr("style", null); }						});						$("#pagehistory").find("li").eq(0).find("input").eq(0).attr("style", "visibility:hidden;");						$("#pagehistory").find("li").eq(oldselected[1]).find("input").eq(1).click;						$("#pagehistory").find("li").eq(oldselected[0]).find("input").eq(0).click;						if ($(result).find(".mw-nextlink").eq(1).text) {							$(".mw-nextlink").eq(1).html(oldnexthtml);							$(".mw-nextlink").eq(1).attr("href", $(result).find(".mw-nextlink").eq(1).attr("href"));						} else {							document.getElementsByClassName("mw-nextlink")[1].outerHTML = oldnexttext;							infiniscroll.loadHistory = function {								return false;							};						}						infiniscroll.loading = false;					}).fail(function {						$(".mw-nextlink").eq(1).html(oldnexthtml);						infiniscroll.loading = false;					}); }			}		};		$(".mw-nextlink").eq(0).after(' | &#9632;'); $(".mw-nextlink").eq(1).click(function(e) {			e.preventDefault;			infiniscroll.loadHistory;		}); window.onscroll = function(ev) { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { infiniscroll.loadHistory; }		};	};	$(document).ready(function {		var infscroff = window.location.href.replace('?', '&')			.replace('/wiki/', '/w/index.php?title=')			.replace('#', '&' + 'showportlets=true' + '#')			.replace('/w/index.php&', '/w/index.php?');		if (!infiniscroll.urlparams.get("noinfiniscroll") && !infiniscroll.urlparams.get("limit") && !infiniscroll.urlparams.get("dir")) {			if (mw.config.get("wgNamespaceNumber") == -1) {				infiniscroll.loadSpecialPage;			} else if (mw.config.get("wgAction") == "history") {				infiniscroll.loadHistoryPage;			}		}		var turnoffinfscr = mw.util.addPortletLink( "p-tb", infscroff + ( infscroff.indexOf( "noinfiniscroll=1" ) >= 0 ? '' : '&' + 'noinfiniscroll=1'), "Infiniscroff", "pt-turnoffinfscr", 'Turn Infiniscroll off');	}); }