מדיה ויקי:Gadget-Revert.js
מראה
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
( 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 () {
ve.init.target.saveDialog.$body
.find( '.ve-ui-mwSaveDialog-summary textarea' )
.val( revertSummary );
} );
} );
}
} )();