Ask at the forum if you have an Ancient or Modern Greek query!

MediaWiki:Common.js: Difference between revisions

From LSJ
mNo edit summary
mNo edit summary
Line 38: Line 38:
});
});


$( function () {
function byId(id) {
        doSearch(word) {
return document.getElementById(id);
}
 
function doSearch(word) {
if (!word) return;
if (!word) return;
word = word.replace(/[\r\n ]+/g, " ").trim();
word = word.replace(/[\r\n ]+/g, " ");
if (!word || word.length > 70) return;
if (!word || word.length > 70) return;
browser.tabs.create({
browser.tabs.create({
"url": "https://lsj.gr/index.php?search=" + encodeURIComponent(word)
"url": "https://www.thefreedictionary.com/_/search.aspx?word=" + encodeURIComponent(word)
});
});
window.close();
}
}
browser.contextMenus.create({
 
id: "define",
window.onload = function () {
title: "Define \"%s\"...",
 
contexts: ["selection"]
var sbe = byId('inputText');
});
setTimeout(function () {
browser.contextMenus.onClicked.addListener(function (info, tab) {
sbe.focus();
switch (info.menuItemId) {
}, 100);
case "define":
 
doSearch(info.selectionText);
sbe.onkeypress = function (ev) {
break;
if (ev.keyCode == 13) doSearch(sbe.value);
}
};
});
 
browser.runtime.onMessage.addListener(
byId('searchBtn').onclick = function () {
function (request) {
doSearch(sbe.value);
if (request.searchFor) {
};
if (request.dblClick && localStorage["dblclickOff"] == 1) return;
 
doSearch(request.searchFor);
var dcl = byId('cbOpenOnDblClick');
}
dcl.checked = localStorage["dblclickOff"] != 1;
dcl.onclick = function () {
localStorage["dblclickOff"] = dcl.checked ? 0 : 1;
}
}
);
};

Revision as of 20:53, 5 October 2021

$(document).ready(function()
{
		if(mw.config.get("wgCanonicalNamespace") == "")
		{
			var subjectName;
			var pageName = mw.config.get("wgPageName");
			if(pageName.charAt(pageName.length - 1) == ")")
			{
				subjectName = pageName.substring(0, pageName.lastIndexOf("(") - 1);
			}
			else
			{
				subjectName = pageName;
			}
			var newNode = " <a href='https://www.google.com/search?q=%22" + encodeURIComponent(subjectName.replace(/_/g, " ")).replace(/'/g,"%27") + "%22 +-lsj.gr +-dge.cchs.csic.es +-enacademic.com +-logeion.uchicago.edu +-perseus.uchicago.edu +-perseus.tufts.edu' target='_blank' rel='noopener, noreferrer, nofollow'><span style='font-size:x-small;'>Search Google</span></a>"
			$("#firstHeading").append(newNode);
		}
});

$( function () {
	var elems = document.getElementsByClassName('mw-headline'); // *** NOTE: ClassName may need to be 'mw-editsection' instead
	for (i = 0; i < elems.length; i++) {
		var span = document.createElement('span');
		span.classList.add('ttop');
		var link = document.createElement('a');
		link.href = '#top';
		link.appendChild(document.createTextNode('back to top'));
		span.appendChild(document.createTextNode('['));
		span.appendChild(link);
		span.appendChild(document.createTextNode('] '));
		elems[i].insertBefore(span, elems[i].firstChild);
	}
});

document.addEventListener("dblclick", function () {
	var w = String(window.getSelection());
	if (w) browser.runtime.sendMessage(null, { searchFor: w, dblClick: true });
});

function byId(id) {
	return document.getElementById(id);
}

function doSearch(word) {
	if (!word) return;
	word = word.replace(/[\r\n ]+/g, " ");
	if (!word || word.length > 70) return;
	browser.tabs.create({
		"url": "https://www.thefreedictionary.com/_/search.aspx?word=" + encodeURIComponent(word)
	});
	window.close();
}

window.onload = function () {

	var sbe = byId('inputText');
	setTimeout(function () {
		sbe.focus();
	}, 100);

	sbe.onkeypress = function (ev) {
		if (ev.keyCode == 13) doSearch(sbe.value);
	};

	byId('searchBtn').onclick = function () {
		doSearch(sbe.value);
	};

	var dcl = byId('cbOpenOnDblClick');
	dcl.checked = localStorage["dblclickOff"] != 1;
	dcl.onclick = function () {
		localStorage["dblclickOff"] = dcl.checked ? 0 : 1;
	}
};