User:Nikki/SpecialSearch.js

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
(function () {
	if (!mw.config.get("wgIsSearchResultPage"))
		return;
	var search = $("#searchText input").val();
	var link = $("#n-special-newlexeme a");
	var newlink = link.attr("href") + "?lemma=" + encodeURIComponent(search);

	link.attr("href", newlink);

/*
	var section = "p-lexicographical-data";
	var before = "#n-recentchanges-lexemes";
	mw.util.addPortletLink(
		section,
		newlink + "&lemma-language=en&lexeme-language=Q1860",
		"– en",
		"n-newlex-en", "New English lexeme",
		"",
		before
	);
	mw.util.addPortletLink(
		section,
		newlink + "&lemma-language=de&lexeme-language=Q188",
		"– de",
		"n-newlex-de",
		"New German lexeme",
		"",
		before
	);
	mw.util.addPortletLink(
		section,
		newlink + "&lemma-language=eo&lexeme-language=Q143",
		"– eo",
		"n-newlex-eo",
		"New Esperanto lexeme",
		"",
		before
	);
*/

	$( document ).ready(function() {
		// Add search presets on Special:Search
//		if (document.location.href.match('Special:Search') || document.location.href.match('Special%3ASearch')) {
			var urlbase = "/w/index.php?title=Special:Search&profile=advanced&profile=advanced&fulltext=Search&search=";
			$(".mw-search-profile-tabs .search-types ul").prepend('<li class="normal"><a href=' + urlbase + '&ns8=1" class="n-search-ext">MediaWiki NS</a></li>');
			$(".mw-search-profile-tabs .search-types ul").prepend('<li class="normal"><a href=' + urlbase + '&ns4=1" class="n-search-ext">Wikidata NS</a></li>');
			$(".mw-search-profile-tabs .search-types ul").prepend('<li class="normal"><a href=' + urlbase + '&ns146=1" class="n-search-ext">Lexemes</a></li>');
			$(".mw-search-profile-tabs .search-types ul").prepend('<li class="normal"><a href=' + urlbase + '&ns120=1" class="n-search-ext">Properties</a></li>');
			$(".mw-search-profile-tabs .search-types ul").prepend('<li class="normal"><a href=' + urlbase + '&ns0=1" class="n-search-ext">Items</a></li>');
			$(".n-search-ext").hover(function () {
				var input = $('#searchText input[type="search"]').val();
				$(this).attr("href", $(this).attr("href").replace(/search=[^&]*/, "search=" + input));
			});
//		}
	});
})();