MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


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




$("[data-chip-popup]").hover(function() {
(function() {
console.log($(this).data("chip-popup"));
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;
});
})();

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;
	});
})();