לדלג לתוכן

מדיה ויקי:Gadget-Revert.js – הבדלי גרסאות

מתוך חב"דפדיה, אנציקלופדיה חב"דית חופשית
שיע.ק (שיחה | תרומות)
אין תקציר עריכה
מ. רובין (שיחה | תרומות)
אין תקציר עריכה
 
שורה 1: שורה 1:
(function(){
( function () {
function getSummary()
{
'use strict';
  var isHebrew=mw.config.get('wgUserLanguage')=='he';
  var revertDate = $('#mw-revision-date').text();
var revId = mw.util.getParamValue( 'oldid' );
  var revUser = $('#mw-revision-info .mw-userlink').text();
  return (( isHebrew ? "שחזור לגרסה " : "Revert to revision " ) + mw.util.getParamValue('oldid') +
if ( revId ) {
            ( revertDate ? ( isHebrew ? " מתאריך " : " from " ) + revertDate : "" ) +
$( addRevertSummary );
            ( isHebrew ? " מאת " : " by " ) + "[[User:" + revUser + "|" + revUser + "]]");
}
}
 
function addRevertSummary() {
if($('#mw-revision-info').length){
  if ( mw.config.get('wgAction')== "edit" ) $(function(){$('#wpSummary').val(getSummary())});
var pageId = mw.config.get( 'wgArticleId' );
  mw.hook( 've.saveDialog.stateChanged' ).add(function(){
ve.init.target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea').val(getSummary());
var apiParams = {
  });
prop: 'revisions',
}
pageids: pageId,
})();
rvprop: 'user|timestamp',
rvlimit: 1,
rvstartid: revId,
rvendid: revId
};
new mw.Api().get( apiParams ).then( function ( data ) {
var revUser, revTimestamp;
try {
revUser = data.query.pages[ pageId ].revisions[ 0 ].user;
revTimestamp = data.query.pages[ pageId ].revisions[ 0 ].timestamp;
} catch ( e ) {
return; // Safeguard against TypeError, just in case
}
var dateParams = {
timeZone: 'Asia/Tel_Aviv',
dateStyle: 'long',
timeStyle: 'short',
hourCycle: 'h23'
};
var revDateAndTime = new Date( revTimestamp )
.toLocaleString( 'he-IL', dateParams )
.split( ' בשעה ' );
var revDate = revDateAndTime[ 0 ];
var revTime = revDateAndTime[ 1 ];
if ( revTime.split( ':' )[ 0 ].length === 1 ) {
revTime = '0' + revTime;
}
revDateAndTime = revTime + ', ' + revDate;
var revertSummary =
'שחזור לגרסה [[Special:PermaLink/' + revId + '|' + revId + ']] ' +
'מ־' + revDateAndTime + ' מאת [[:User:' + revUser + '|' + revUser + ']]';
var $summaryInput = $( '#wpSummary' );
if ( mw.config.get( 'wgAction' ) === 'edit' && $summaryInput.length ) {
$summaryInput.val( revertSummary );
}
mw.hook( 've.saveDialog.stateChanged' ).add( function () {
setTimeout(function() {
ve.init.target.saveDialog.$body
.find( '.ve-ui-mwSaveDialog-summary textarea' )
.val( revertSummary );
}, 0);
});
} );
}
} )();

גרסה אחרונה מ־19:38, 17 בדצמבר 2025

( function () {
	
	'use strict';
	
	var revId = mw.util.getParamValue( 'oldid' );
	
	if ( revId ) {
		$( addRevertSummary );
	}
	
	function addRevertSummary() {
		
		var pageId = mw.config.get( 'wgArticleId' );
		
		var apiParams = {
			prop: 'revisions',
			pageids: pageId,
			rvprop: 'user|timestamp',
			rvlimit: 1,
			rvstartid: revId,
			rvendid: revId
		};
		
		new mw.Api().get( apiParams ).then( function ( data ) {
			
			var revUser, revTimestamp;
			
			try {
				revUser = data.query.pages[ pageId ].revisions[ 0 ].user;
				revTimestamp = data.query.pages[ pageId ].revisions[ 0 ].timestamp;
			} catch ( e ) {
				return; // Safeguard against TypeError, just in case
			}
			
			var dateParams = {
				timeZone: 'Asia/Tel_Aviv',
				dateStyle: 'long',
				timeStyle: 'short',
				hourCycle: 'h23'
			};
			
			var revDateAndTime = new Date( revTimestamp )
				.toLocaleString( 'he-IL', dateParams )
				.split( ' בשעה ' );
			
			var revDate = revDateAndTime[ 0 ];
			
			var revTime = revDateAndTime[ 1 ];
			
			if ( revTime.split( ':' )[ 0 ].length === 1 ) {
				revTime = '0' + revTime;
			}
			
			revDateAndTime = revTime + ', ' + revDate;
			
			var revertSummary =
				'שחזור לגרסה [[Special:PermaLink/' + revId + '|' + revId + ']] ' +
				'מ־' +  revDateAndTime + ' מאת [[:User:' + revUser + '|' + revUser + ']]';
			
			var $summaryInput = $( '#wpSummary' );
			
			if ( mw.config.get( 'wgAction' ) === 'edit' && $summaryInput.length ) {
				$summaryInput.val( revertSummary );
			}
			
			mw.hook( 've.saveDialog.stateChanged' ).add( function () {
				setTimeout(function() {
					ve.init.target.saveDialog.$body
					.find( '.ve-ui-mwSaveDialog-summary textarea' )
					.val( revertSummary ); 
				}, 0);
			});			
		} );
		
	}
	
} )();