User:Magnus Manske/gnd reveal.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
// <nowiki>
/* TO ACTIVATE, ADD
importScript( 'User:Magnus_Manske/gnd_reveal.js' );
TO YOUR [[Special:MyPage/common.js]] USER SUBPAGE
*/
var gnd_reveal = {
initialized : false ,
init : function () {
let self = this ;
self.initialized = true ;
let portletLink = mw.util.addPortletLink( 'p-tb', '#', 'GND reveal','t-wd_gndr');
$(portletLink).click ( function () {
self.run() ;
return false ;
} ) ;
} ,
run : function () {
let self = this ;
$('#t-wd_gndr').css({'background-color':'#6094DB'});
$.getJSON ( "https://wikidata-todo.toolforge.org/gnd.php?callback=?" , {
action : 'get_qs' ,
item : mw.config.get('wgTitle')
} , function ( d ) {
$('#t-wd_gndr').css({'background-color':''});
if ( d.status != 'OK' ) {
alert(d.status);
return;
}
let qs = d.qs.join('||').replace(/\t/g,'|');
if ( qs!='' ) {
let url = 'https://quickstatements.toolforge.org/#/v1='+encodeURIComponent(qs);
window.open(url, '_blank');
} else {
$('#t-wd_gndr').css({'text-decoration':'line-through'});
}
} ) ;
}
} ;
function try_gnd_reveal() {
if ( gnd_reveal.initialized ) return ;
if ( mw.config.get('wgNamespaceNumber') != 0 ) return ;
if ( mw.config.get('wgAction') != 'view' ) return ;
if ( $('a[href="/wiki/Property:P227"]').length == 0 ) return ; // No GND
mw.loader.using( [ 'jquery.ui', 'user.options' ] ).then( function () {
gnd_reveal.init () ;
} ) ;
}
$( function(){try_gnd_reveal();} ) ;
// </nowiki>