Difference between revisions of "MediaWiki:Common.js"
(+script to fix. preview. bug in FSD entry edit page;) |
m (Use old tracker code only at FSD:Single-page JS tracker.) |
||
(26 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | /* Any JavaScript here will be loaded | + | // @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later |
+ | |||
+ | /* Any JavaScript here will be loaded by every visitor on every page load. */ | ||
/* Active Backlog: fix. "Fix search results, so that template data doesn't get dumped..." */ | /* Active Backlog: fix. "Fix search results, so that template data doesn't get dumped..." */ | ||
Line 43: | Line 45: | ||
}; | }; | ||
− | /* Active Backlog: fix. ""Preview" button does not work for Template:Entry. It shows the unedited version" | + | /* Active Backlog: fix. ""Preview" button does not work for Template:Entry. It shows the unedited version" */ |
function fixEntryPrevBug() { | function fixEntryPrevBug() { | ||
function iskEntryRawEditCurPage() { | function iskEntryRawEditCurPage() { | ||
− | + | var ftmpl = $(".templatesUsed"); | |
− | + | if(ftmpl.length <= 0 || ftmpl.html().indexOf("Template:Entry") == -1) return false; | |
− | + | } | |
− | + | function hidePreviewButton() {$("#wpPreviewWidget").remove();} | |
− | + | function boldEditFormTab() {$("#ca-formedit a").css("font-weight", "bold");} | |
− | function | ||
if(iskEntryRawEditCurPage() === false) return false; | if(iskEntryRawEditCurPage() === false) return false; | ||
− | else hidePreviewButton(); | + | else {hidePreviewButton();boldEditFormTab();} |
return true; | return true; | ||
}; | }; | ||
− | $(document).ready(function(){fixSrTmplBug();fixEntryPrevBug();}); | + | /* Active Backlog: fix. "Countdown timer/JavaScript enhancement" */ |
+ | var dyntimersupd = null; | ||
+ | function dynTimers() { | ||
+ | function updateTimers(timers, loc, tz) { | ||
+ | var ts = new Date(); | ||
+ | var opts = { timeZone:tz, weekday: 'long', hour: '2-digit', minute: '2-digit', second: '2-digit' }; | ||
+ | var CESTopts = { timeZone:"Europe/Rome", weekday: 'long', hour: '2-digit', minute: '2-digit', second: '2-digit' }; | ||
+ | |||
+ | var cdate = ts.toLocaleTimeString(locales=loc, opts); | ||
+ | var UTCdate = ts.toUTCString(); | ||
+ | var CESTdate = ts.toLocaleTimeString(locales=undefined, CESTopts); | ||
+ | EDTtimersBlnk = !EDTtimersBlnk; | ||
+ | if(EDTtimersBlnk == false) cdate = cdate.replace(/[:\.]/gi,' '); | ||
+ | UTCdate = UTCdate.replace('GMT', 'UTC'); | ||
+ | timers.html(cdate + ' EDT'); | ||
+ | timers.attr('title', UTCdate + ' | ' + CESTdate + ' CEST'); | ||
+ | cdate = null; | ||
+ | UTCdate = null; | ||
+ | ts = null; | ||
+ | } | ||
+ | |||
+ | var EDTtimers = $('.currentEDT'); | ||
+ | var EDTtimersBlnk = true; | ||
+ | if(EDTtimers.length >= 0) { | ||
+ | window.setInterval(function(){updateTimers(EDTtimers, "en-US", "America/New_York");}, 1000); | ||
+ | } else { | ||
+ | EDTtimers = null; | ||
+ | EDTtimersBlnk = null; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Single-page issue tracker, thanks to kindling! ;) | ||
+ | if ( | ||
+ | mw.config.get("wgPageName") == "Free_Software_Directory:Single-page_JS_tracker" | ||
+ | ) { | ||
+ | |||
+ | mw.loader.load( | ||
+ | "/w/index.php?title=MediaWiki:Single-page JS tracker.js&action=raw&ctype=text/javascript", | ||
+ | "text/javascript" | ||
+ | ); | ||
+ | |||
+ | var style_node = document.createElement("link"); | ||
+ | style_node.rel = "stylesheet"; | ||
+ | style_node.href = "/w/index.php?title=MediaWiki:Single-page%20JS%20tracker.css&action=raw&ctype=text/css"; | ||
+ | document.head.appendChild(style_node); | ||
+ | } | ||
+ | |||
+ | $(document).ready(function(){fixSrTmplBug();fixEntryPrevBug();dynTimers();}); | ||
+ | // @license-end |
Latest revision as of 14:01, 16 July 2021
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later /* Any JavaScript here will be loaded by every visitor on every page load. */ /* Active Backlog: fix. "Fix search results, so that template data doesn't get dumped..." */ function fixSrTmplBug() { function iskSearchCurPage() { return window.location.href.match(/\w+\/wiki\?search=\w+/i) !== null; } function detectSrTmplBug(srcontent) { var containsMeta = srcontent.match(/.*\|.*=.*/i); var containsRedi = srcontent.match(/#REDIRECT .*/i); var containsTmpl = srcontent.match(/.*(\{\{|\}\}).*/i); if(containsMeta !== null) return 1; else if(containsRedi !== null) return 2; else if(containsTmpl !== null) return 3; else return 0; } function correctSrTmplBug(i, el) { el = $(el); var tres = detectSrTmplBug(el.html()); switch(tres) { case 0: break; case 1: case 3: el.html('(structured)'); break; case 2: el.html('(alias)'); break; default: el.hide(); } el = null; tres = null; return; } if(iskSearchCurPage() === false) return false; else { var sresults = $('.searchresult'); if(sresults.length > 0) { sresults.each(correctSrTmplBug); sresults = null; } } return true; }; /* Active Backlog: fix. ""Preview" button does not work for Template:Entry. It shows the unedited version" */ function fixEntryPrevBug() { function iskEntryRawEditCurPage() { var ftmpl = $(".templatesUsed"); if(ftmpl.length <= 0 || ftmpl.html().indexOf("Template:Entry") == -1) return false; } function hidePreviewButton() {$("#wpPreviewWidget").remove();} function boldEditFormTab() {$("#ca-formedit a").css("font-weight", "bold");} if(iskEntryRawEditCurPage() === false) return false; else {hidePreviewButton();boldEditFormTab();} return true; }; /* Active Backlog: fix. "Countdown timer/JavaScript enhancement" */ var dyntimersupd = null; function dynTimers() { function updateTimers(timers, loc, tz) { var ts = new Date(); var opts = { timeZone:tz, weekday: 'long', hour: '2-digit', minute: '2-digit', second: '2-digit' }; var CESTopts = { timeZone:"Europe/Rome", weekday: 'long', hour: '2-digit', minute: '2-digit', second: '2-digit' }; var cdate = ts.toLocaleTimeString(locales=loc, opts); var UTCdate = ts.toUTCString(); var CESTdate = ts.toLocaleTimeString(locales=undefined, CESTopts); EDTtimersBlnk = !EDTtimersBlnk; if(EDTtimersBlnk == false) cdate = cdate.replace(/[:\.]/gi,' '); UTCdate = UTCdate.replace('GMT', 'UTC'); timers.html(cdate + ' EDT'); timers.attr('title', UTCdate + ' | ' + CESTdate + ' CEST'); cdate = null; UTCdate = null; ts = null; } var EDTtimers = $('.currentEDT'); var EDTtimersBlnk = true; if(EDTtimers.length >= 0) { window.setInterval(function(){updateTimers(EDTtimers, "en-US", "America/New_York");}, 1000); } else { EDTtimers = null; EDTtimersBlnk = null; } } // Single-page issue tracker, thanks to kindling! ;) if ( mw.config.get("wgPageName") == "Free_Software_Directory:Single-page_JS_tracker" ) { mw.loader.load( "/w/index.php?title=MediaWiki:Single-page JS tracker.js&action=raw&ctype=text/javascript", "text/javascript" ); var style_node = document.createElement("link"); style_node.rel = "stylesheet"; style_node.href = "/w/index.php?title=MediaWiki:Single-page%20JS%20tracker.css&action=raw&ctype=text/css"; document.head.appendChild(style_node); } $(document).ready(function(){fixSrTmplBug();fixEntryPrevBug();dynTimers();}); // @license-end
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.