MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 9: Line 9:


(function() {
(function() {
var currentPopup = $("<div/>")
.attr("class", "n1gp-popup")
.css("display", "none");
var currentPopupEl = null;
$("#mw-content-text").append(currentPopup);
var chipPopups = {};
var chipPopups = {};
var navicustPartPopups = {};


$("[data-chip-popup]").hover(function () {
$("[data-chip-popup]").hover(function () {
var title = $(this).data("chip-popup");
var $el = $(this);
currentPopupEl = this;
var pos = $el.offset();
var title = $el.data("chip-popup");
if (!Object.prototype.hasOwnProperty.call(chipPopups, title)) {
if (!Object.prototype.hasOwnProperty.call(chipPopups, title)) {
chipPopups[title] = $.ajax({
chipPopups[title] = $.ajax({
Line 30: Line 41:
chipPopups[title].done(function (resp) {
chipPopups[title].done(function (resp) {
var text = resp.parse.text['*'];
var text = resp.parse.text['*'];
if (currentPopupEl == this) {
currentPopup
.css("top", pos.top + 20 + "px")
.css("left", pos.left + "px")
.css("display", "block")
.html(text);
}
});
}, function () {
currentPopup.css("display", "none");
currentPopupEl = null;
});
$("[data-navicust-part-popup]").hover(function () {
var $el = $(this);
currentPopupEl = this;
var pos = $el.offset();
var title = $el.data("navicust-part-popup");
if (!Object.prototype.hasOwnProperty.call(navicustPartPopups, title)) {
navicustPartPopups[title] = $.ajax({
url: "/api.php",
type: "GET",
data: {
action: "parse",
format: "json",
props: "text",
title: title,
text: "{{NaviCust part popup}}"
},
dataType: 'json',
});
}
navicustPartPopups[title].done(function (resp) {
var text = resp.parse.text['*'];
if (currentPopupEl == this) {
currentPopup
.css("top", pos.top + 20 + "px")
.css("left", pos.left + "px")
.css("display", "block")
.html(text);
}
});
});
}, function () {
currentPopup.css("display", "none");
currentPopupEl = null;
});
});
})();
})();

Latest revision as of 20:40, 11 December 2022

/* Any JavaScript here will be loaded for all users on every page load. */

$(function () {
	$("#skin-citizen-search-trigger").click(function () {
		$("#citizen-search__buttonCheckbox").click();
	});
});


(function() {
	var currentPopup = $("<div/>")
		.attr("class", "n1gp-popup")
		.css("display", "none");
	var currentPopupEl = null;

	$("#mw-content-text").append(currentPopup);

	var chipPopups = {};
	var navicustPartPopups = {};

	$("[data-chip-popup]").hover(function () {
		var $el = $(this);
		currentPopupEl = this;
		var pos = $el.offset();
		var title = $el.data("chip-popup");
		if (!Object.prototype.hasOwnProperty.call(chipPopups, title)) {
			chipPopups[title] = $.ajax({
				url: "/api.php",
				type: "GET",
				data: {
					action: "parse",
					format: "json",
					props: "text",
					title: title,
					text: "{{Chip popup}}"
				},
				dataType: 'json',
			});
		}

		chipPopups[title].done(function (resp) {
			var text = resp.parse.text['*'];
			if (currentPopupEl == this) {
				currentPopup
					.css("top", pos.top + 20 + "px")
					.css("left", pos.left + "px")
					.css("display", "block")
					.html(text);
			}
		});
	}, function () {
		currentPopup.css("display", "none");
		currentPopupEl = null;
	});
	
	$("[data-navicust-part-popup]").hover(function () {
		var $el = $(this);
		currentPopupEl = this;
		var pos = $el.offset();
		var title = $el.data("navicust-part-popup");
		if (!Object.prototype.hasOwnProperty.call(navicustPartPopups, title)) {
			navicustPartPopups[title] = $.ajax({
				url: "/api.php",
				type: "GET",
				data: {
					action: "parse",
					format: "json",
					props: "text",
					title: title,
					text: "{{NaviCust part popup}}"
				},
				dataType: 'json',
			});
		}

		navicustPartPopups[title].done(function (resp) {
			var text = resp.parse.text['*'];
			if (currentPopupEl == this) {
				currentPopup
					.css("top", pos.top + 20 + "px")
					.css("left", pos.left + "px")
					.css("display", "block")
					.html(text);
			}
		});
	}, function () {
		currentPopup.css("display", "none");
		currentPopupEl = null;
	});
})();