User:Polygnotus/Scripts/Userinfo.js: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 1:
// Wikipedia UserOptions API Explorer with Tools Menu Integration
$(document).ready(function() {
// Add link to Tools menu on all pages
mw.hook('wikipage.content').add(function() {
mw.loader.using(['mediawiki.util'], function() {
// Only add the link if it doesn't already exist
if (!document.getElementById('t-useroptions-api')) {
mw.util.addPortletLink(
'p-tb', // Target portlet ID (Tools menu)
mw.config.get('wgServer') + '/wiki/Special:BlankPage/UserOptions', // Link URL
'User Options API', // Link text
't-useroptions-api', // Link ID
'Explore user options via MediaWiki API' // Tooltip
);
}
});
});
 
// Only run the main interface if we're on the specific page
if (mw.config.get('wgCanonicalSpecialPageName') === 'Blankpage' &&
mw.config.get('wgPageName') === 'Special:BlankPage/UserOptions') {
Line 102 ⟶ 119:
toggle.className = 'json-toggle';
toggle.textContent = '▼';
toggle.id = toggleId'toggle-' + Date.now() + '-' + Math.random();
var keySpan = document.createElement('span');
keySpan.className = 'json-key';
keySpan.textContenttextSize = key + ':';
var summary = document.createElement('span');
Line 162 ⟶ 179:
collapseAll: function(containerId) {
var container = document.getElementById(containerId);
var toggles = container.querySelectorAll('.json-toggle1toggle');
for (var i = 0; i < toggles.length; i++) {
var toggle = toggles[i];
Line 293 ⟶ 310:
};
// Event listeners (only when on the correct page)
$('#fetchBtn').on('click', function() {
UserOptionsAPI.displayUserOptions('jsonResult');