MediaWiki:Gadget-twinklediff.js: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
Repo at 5c1e7e3: Update from Github
Baris 1: Baris 1:
//<nowiki>
// <nowiki>




(function($){
(function($) {




Baris 11: Baris 11:
* Mode of invocation: Tab on non-diff pages ("Last"); tabs on diff pages ("Since", "Since mine", "Current")
* Mode of invocation: Tab on non-diff pages ("Last"); tabs on diff pages ("Since", "Since mine", "Current")
* Active on: Existing non-special pages
* Active on: Existing non-special pages
* Config directives in: TwinkleConfig
*/
*/


Twinkle.diff = function twinklediff() {
Twinkle.diff = function twinklediff() {
if( mw.config.get('wgNamespaceNumber') < 0 || !mw.config.get('wgArticleId') ) {
if (mw.config.get('wgNamespaceNumber') < 0 || !mw.config.get('wgArticleId')) {
return;
return;
}
}
Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: 'prev'}), 'Last', 'tw-lastdiff', 'Tampilkan beda terbaru');

var query = {
'title': mw.config.get('wgPageName'),
'diff': 'cur',
'oldid': 'prev'
};

Twinkle.addPortletLink( mw.util.wikiScript("index")+ "?" + $.param( query ), 'Terakhir', 'tw-lastdiff', 'Tampilkan beda terbaru' );


// Show additional tabs only on diff pages
// Show additional tabs only on diff pages
if (Morebits.queryString.exists('diff')) {
if (mw.util.getParamValue('diff')) {
Twinkle.addPortletLink(function(){ Twinkle.diff.evaluate(false); }, 'Sejak', 'tw-since', 'Perlihatkan beda antara revisi terakhir dan revisi oleh pengguna sebelumnya' );
Twinkle.addPortletLink(function() {
Twinkle.diff.evaluate(false);
}, 'Sejak', 'tw-since', 'Perlihatkan beda antara revisi terakhir dan revisi oleh pengguna sebelumnya');
Twinkle.addPortletLink( function(){ Twinkle.diff.evaluate(true); }, 'Sejak saya', 'tw-sincemine', 'Perlihatkan beda antara revisi terakhir dan revisi terakhir saya' );
Twinkle.addPortletLink(function() {
Twinkle.diff.evaluate(true);
}, 'Sejak saya', 'tw-sincemine', 'Perlihatkan beda antara revisi terakhir dan revisi terakhir saya');


var oldid = /oldid=(.+)/.exec($('#mw-diff-ntitle1').find('strong a').first().attr("href"))[1];
var oldid = /oldid=(.+)/.exec($('#mw-diff-ntitle1').find('strong a').first().attr('href'))[1];
Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: oldid}), 'Saat ini', 'tw-curdiff', 'Perlihatkan beda ke revisi terbaru');
query = {
'title': mw.config.get('wgPageName'),
'diff': 'cur',
'oldid' : oldid
};
Twinkle.addPortletLink( mw.util.wikiScript("index")+ "?" + $.param( query ), 'Saat ini', 'tw-curdiff', 'Perlihatkan beda ke revisi terbaru' );
}
}
};
};
Baris 45: Baris 36:


var user;
var user;
if( me ) {
if (me) {
user = mw.config.get('wgUserName');
user = mw.config.get('wgUserName');
} else {
} else {
var node = document.getElementById( 'mw-diff-ntitle2' );
var node = document.getElementById('mw-diff-ntitle2');
if( ! node ) {
if (!node) {
// nothing to do?
// nothing to do?
return;
return;
Baris 64: Baris 55:
'rvuser': user
'rvuser': user
};
};
Morebits.status.init( document.getElementById('mw-content-text') );
Morebits.status.init(document.getElementById('mw-content-text'));
var wikipedia_api = new Morebits.wiki.api( 'Mengambil data kontributor awal', query, Twinkle.diff.callbacks.main );
var wikipedia_api = new Morebits.wiki.api('Mengambil data kontributor awal', query, Twinkle.diff.callbacks.main);
wikipedia_api.params = { user: user };
wikipedia_api.params = { user: user };
wikipedia_api.post();
wikipedia_api.post();
Baris 71: Baris 62:


Twinkle.diff.callbacks = {
Twinkle.diff.callbacks = {
main: function( self ) {
main: function(self) {
var xmlDoc = self.responseXML;
var xmlDoc = self.responseXML;
var revid = $(xmlDoc).find('rev').attr('revid');
var revid = $(xmlDoc).find('rev').attr('revid');


if( ! revid ) {
if (!revid) {
self.statelem.error( 'tidak ditemukan adanya revisi yang lebih baru, atau ' + self.params.user + ' merupakan satu-satunya kontributor. Membatalkan.' );
self.statelem.error('tidak ditemukan adanya revisi yang lebih baru, atau ' + self.params.user + ' merupakan satu-satunya kontributor. Membatalkan.');
return;
return;
}
}
window.location = mw.util.getUrl(mw.config.get('wgPageName'), {
var query = {
'title': mw.config.get('wgPageName'),
diff: mw.config.get('wgCurRevisionId'),
'oldid': revid,
oldid: revid
});
'diff': mw.config.get('wgCurRevisionId')
};
window.location = mw.util.wikiScript('index') + '?' + Morebits.queryString.create( query );
}
}
};
};
Baris 90: Baris 79:




//</nowiki>
// </nowiki>

Revisi per 19 Juni 2020 14.14

// <nowiki>


(function($) {


/*
 ****************************************
 *** twinklediff.js: Diff module
 ****************************************
 * Mode of invocation:     Tab on non-diff pages ("Last"); tabs on diff pages ("Since", "Since mine", "Current")
 * Active on:              Existing non-special pages
 */

Twinkle.diff = function twinklediff() {
	if (mw.config.get('wgNamespaceNumber') < 0 || !mw.config.get('wgArticleId')) {
		return;
	}
	Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: 'prev'}), 'Last', 'tw-lastdiff', 'Tampilkan beda terbaru');

	// Show additional tabs only on diff pages
	if (mw.util.getParamValue('diff')) {
		Twinkle.addPortletLink(function() {
			Twinkle.diff.evaluate(false);
		}, 'Sejak', 'tw-since', 'Perlihatkan beda antara revisi terakhir dan revisi oleh pengguna sebelumnya');
		Twinkle.addPortletLink(function() {
			Twinkle.diff.evaluate(true);
		}, 'Sejak saya', 'tw-sincemine', 'Perlihatkan beda antara revisi terakhir dan revisi terakhir saya');

		var oldid = /oldid=(.+)/.exec($('#mw-diff-ntitle1').find('strong a').first().attr('href'))[1];
		Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: oldid}), 'Saat ini', 'tw-curdiff', 'Perlihatkan beda ke revisi terbaru');
	}
};

Twinkle.diff.evaluate = function twinklediffEvaluate(me) {

	var user;
	if (me) {
		user = mw.config.get('wgUserName');
	} else {
		var node = document.getElementById('mw-diff-ntitle2');
		if (!node) {
			// nothing to do?
			return;
		}
		user = $(node).find('a').first().text();
	}
	var query = {
		'prop': 'revisions',
		'action': 'query',
		'titles': mw.config.get('wgPageName'),
		'rvlimit': 1,
		'rvprop': [ 'ids', 'user' ],
		'rvstartid': mw.config.get('wgCurRevisionId') - 1, // i.e. not the current one
		'rvuser': user
	};
	Morebits.status.init(document.getElementById('mw-content-text'));
	var wikipedia_api = new Morebits.wiki.api('Mengambil data kontributor awal', query, Twinkle.diff.callbacks.main);
	wikipedia_api.params = { user: user };
	wikipedia_api.post();
};

Twinkle.diff.callbacks = {
	main: function(self) {
		var xmlDoc = self.responseXML;
		var revid = $(xmlDoc).find('rev').attr('revid');

		if (!revid) {
			self.statelem.error('tidak ditemukan adanya revisi yang lebih baru, atau ' + self.params.user + ' merupakan satu-satunya kontributor. Membatalkan.');
			return;
		}
		window.location = mw.util.getUrl(mw.config.get('wgPageName'), {
			diff: mw.config.get('wgCurRevisionId'),
			oldid: revid
		});
	}
};
})(jQuery);


// </nowiki>