User:DannyS712/RemoveWikiData.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.
// User:DannyS712/RemoveWikiData.js
// Version 1.0
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api', 'mediawiki.ForeignApi' ], function () {
$(document).ready( function () {
var portlet = mw.util.addPortletLink( 'p-tb', '', 'Remove wikidata link', 'RemoveWikiData_portlet' );
$( portlet ).on( 'click', function( e ) {
e.preventDefault();
var cfg = mw.config.get( [ 'wgWikiID', 'wgPageName', 'wgServerName' ] );
var apiEditSend = {
action: 'wbsetsitelink',
summary: 'using [[:w:en:User:DannyS712/RemoveWikiData.js|a script]]',
linksite: cfg.wgWikiID,
format: 'json',
formatversion: 2
};
var apiGetSend = {
action: 'wbgetentities',
sites: cfg.wgWikiID,
titles: cfg.wgPageName,
normalize: true,
props: null,
format: 'json',
formatversion: 2
};
var API;
if ( cfg.wgServerName === "www.wikidata.org" ){
API = new mw.Api();
} else {
API = new mw.ForeignApi( '//www.wikidata.org/w/api.php' );
apiEditSend.origin = 'https://' + cfg.wgServerName;
apiGetSend.origin = 'https://' + cfg.wgServerName;
}
console.log( apiGetSend, apiEditSend );
API.get( apiGetSend ).always( function ( response ) {
console.log( response );
if ( response.success === 1 ) {
var qid = response.entities[ Object.keys( response.entities )[ 0 ] ].id;
console.log( qid );
apiEditSend.id = qid;
API.postWithEditToken( apiEditSend ).always( function ( response ) {
console.log( response );
if ( response === 'failed-save' ) {
API.postWithEditToken( apiEditSend ).always( function ( response ) {
console.log( response );
} );
}
} );
}
} );
} );
} );
} );