Մասնակից:ԱշոտՏՆՂ/Климат местности-Եղանակի աղյուսակ.js
Ծանուցում. Հիշելուց հետո կատարված փոփոխությունները տեսնելու համար մաքրեք ձեր զննարկիչի հիշապահեստը. Mozilla / Firefox / Safari՝ Ctrl+Shift+R (Cmd+Shift+R Mac OS X-ում) Konqueror՝ F5 Opera՝ Tools→Preferences ընտրացանկից։ Internet Explorer՝ Ctrl+F5
/**
* from https://de.wikipedia.org/w/index.php?title=Benutzer:TMg/autoFormatter.js&oldid=146288094
*/
( function( $, mw ) {
if ( typeof $ !== 'function' || typeof mw !== 'object'
|| ( mw.config.get( 'wgAction' ) !== 'edit' && mw.config.get( 'wgAction' ) !== 'submit' )
) {
return;
}
if ( !mw.libs ) {
mw.libs = {};
}
mw.libs.autoFormatter = {
click: function( a ) {
var e = document.forms['editform'].elements,
textbox = e['wpTextbox1'],
summary = e['wpSummary'];
if ( !textbox ) {
return false;
}
if ( window.wikEd && window.wikEd.useWikEd ) {
wikEd.UpdateTextarea();
}
if ( !a || !a.nodeType || a.nodeName === 'IMG' ) {
$( a && a.nodeType ? a : 'img[rel=autoFormatter]' ).css( {
backgroundColor: '',
opacity: ''
} );
}
this.clickedElement = a;
this.isAll = false;
this.isDisambiguation = /\{\{\s*[Bb]egriffsklärung\s*[|}]/.test( textbox.value );
this.lang = mw.config.get( 'wgContentLanguage' );
this.localisation = typeof window.autoFormatLocalisation === 'undefined' ||
window.autoFormatLocalisation === true ? this.lang : window.autoFormatLocalisation;
this.cleanElement( textbox );
summary.value = this.cleanInternalLinks( summary.value );
if ( window.wikEd && window.wikEd.useWikEd ) {
wikEd.UpdateFrame();
}
return false;
},
isChanged: function( oldValue, newValue ) {
/* Entfernte Leerräume am Textende zählen nie als Änderung */
oldValue = oldValue.replace( /\s+$/, '' );
newValue = newValue.replace( /\s+$/, '' );
/* Entfernte Leerräume am Zeilenende nicht als Änderung anzeigen, aber trotzdem ersetzen */
var changed = oldValue.replace( /[\r ]+\n/g, '\n' ) !== newValue.replace( /[\r ]+\n/g, '\n' );
var a = this.clickedElement;
if ( !a || !a.nodeType || a.nodeName === 'IMG' ) {
$( a && a.nodeType ? a : 'img[rel=autoFormatter]' ).css( {
backgroundColor: changed ? '#DEF740' : '',
borderRadius: changed ? '3px' : '',
opacity: changed ? '' : '.4'
} );
} else if ( a && a.style ) {
a.style.color = changed ? 'green' : 'silver';
}
/* Normalisierte Zeilenumbrüche nie als Änderung werten, das vermeidet Flackern */
return changed || oldValue.replace( /\r+$/gm, '' ) !== newValue;
},
cleanElement: function( e ) {
var t;
e.focus();
if ( typeof e.selectionStart === 'number' ) {
var scroll = e.scrollTop,
s1 = e.selectionStart,
s2 = e.selectionEnd;
if ( s2 > s1 && ( s1 > 0 || s2 < e.value.length ) ) {
t = this.cleanText( e.value.substring( s1, s2 ) );
if ( t === false ) {
return;
}
var newValue = e.value.substr( 0, s1 ) + t + e.value.substr( s2 );
e.value = newValue;
/* Fix for Opera */
s2 = s1 + t.length + ( e.value.length - newValue.length );
} else if ( !this.cleanAll( e ) ) {
return;
}
e.selectionStart = s1;
e.selectionEnd = s2;
e.scrollTop = scroll;
} else if ( typeof document.selection === 'object' ) {
var range = document.selection.createRange();
if ( range.text.length ) {
t = this.cleanText( range.text );
if ( t !== false ) {
range.text = t;
}
} else {
this.cleanAll( e );
}
} else {
this.cleanAll( e );
}
},
cleanAll: function( e ) {
this.isAll = true;
var t = this.cleanText( e.value );
if ( t !== false ) {
e.value = t.replace( /^\s*\n/, '' );
}
return t !== false;
},
cleanText: function( t ) {
var oldValue = t;
t = t.replace("Янв_ср", "հունվ_միջ");
t = t.replace("Фев_ср", "փետ_միջ");
t = t.replace("Мар_ср", "մարտ_միջ");
t = t.replace("Апр_ср", "ապր_միջ");
t = t.replace("Май_ср", "մայ_միջ");
t = t.replace("Июн_ср", "հուն_միջ");
t = t.replace("Июл_ср", "հուլ_միջ");
t = t.replace("Авг_ср", "օգոս_միջ");
t = t.replace("Сен_ср", "սեպ_միջ");
t = t.replace("Окт_ср", "հոկ_միջ");
t = t.replace("Ноя_ср", "նոյ_միջ");
t = t.replace("Дек_ср", "դեկ_միջ");
t = t.replace("Янв_ср_осад", "հունվ_միջ_տեղ");
t = t.replace("Фев_ср_осад", "փետ_միջ_տեղ");
t = t.replace("Мар_ср_осад", "մարտ_միջ_տեղ");
t = t.replace("Апр_ср_осад", "ապր_միջ_տեղ");
t = t.replace("Май_ср_осад", "մայ_միջ_տեղ");
t = t.replace("Июн_ср_осад", "հուն_միջ_տեղ");
t = t.replace("Июл_ср_осад", "հուլ_միջ_տեղ");
t = t.replace("Авг_ср_осад", "օգոս_միջ_տեղ");
t = t.replace("Сен_ср_осад", "սեպ_միջ_տեղ");
t = t.replace("Окт_ср_осад", "հոկ_միջ_տեղ");
t = t.replace("Ноя_ср_осад", "նոյ_միջ_տեղ");
t = t.replace("Дек_ср_осад", "դեկ_միջ_տեղ");
t = t.replace("Янв_ср_мин", "հունվ_միջ_նվազ");
t = t.replace("Фев_ср_мин", "փետ_միջ_նվազ");
t = t.replace("Мар_ср_мин", "մարտ_միջ_նվազ");
t = t.replace("Апр_ср_мин", "ապր_միջ_նվազ");
t = t.replace("Май_ср_мин", "մայ_միջ_նվազ");
t = t.replace("Июн_ср_мин", "հուն_միջ_նվազ");
t = t.replace("Июл_ср_мин", "հուլ_միջ_նվազ");
t = t.replace("Авг_ср_мин", "օգոս_միջ_նվազ");
t = t.replace("Сен_ср_мин", "սեպ_միջ_նվազ");
t = t.replace("Окт_ср_мин", "հոկ_միջ_նվազ");
t = t.replace("Ноя_ср_мин", "նոյ_միջ_նվազ");
t = t.replace("Дек_ср_мин", "դեկ_միջ_նվազ");
t = t.replace("Янв_ср_макс", "հունվ_միջ_առավ");
t = t.replace("Фев_ср_макс", "փետ_միջ_առավ");
t = t.replace("Мар_ср_макс", "մարտ_միջ_առավ");
t = t.replace("Апр_ср_макс", "ապր_միջ_առավ");
t = t.replace("Май_ср_макс", "մայ_միջ_առավ");
t = t.replace("Июн_ср_макс", "հուն_միջ_առավ");
t = t.replace("Июл_ср_макс", "հուլ_միջ_առավ");
t = t.replace("Авг_ср_макс", "օգոս_միջ_առավ");
t = t.replace("Сен_ср_макс", "սեպ_միջ_առավ");
t = t.replace("Окт_ср_макс", "հոկ_միջ_առավ");
t = t.replace("Ноя_ср_макс", "նոյ_միջ_առավ");
t = t.replace("Дек_ср_макс", "դեկ_միջ_առավ");
t = t.replace("Янв_а_мин", "հունվ_բ_նվազ");
t = t.replace("Фев_а_мин", "փետ_բ_նվազ");
t = t.replace("Мар_а_мин", "մարտ_բ_նվազ");
t = t.replace("Апр_а_мин", "ապր_բ_նվազ");
t = t.replace("Май_а_мин", "մայ_բ_նվազ");
t = t.replace("Июн_а_мин", "հուն_բ_նվազ");
t = t.replace("Июл_а_мин", "հուլ_բ_նվազ");
t = t.replace("Авг_а_мин", "օգոս_բ_նվազ");
t = t.replace("Сен_а_мин", "սեպ_բ_նվազ");
t = t.replace("Окт_а_мин", "հոկ_բ_նվազ");
t = t.replace("Ноя_а_мин", "նոյ_բ_նվազ");
t = t.replace("Дек_а_мин", "դեկ_բ_նվազ");
t = t.replace("Янв_а_макс", "հունվ_բ_առավ");
t = t.replace("Фев_а_макс", "փետ_բ_առավ");
t = t.replace("Мар_а_макс", "մարտ_բ_առավ");
t = t.replace("Апр_а_макс", "ապր_բ_առավ");
t = t.replace("Май_а_макс", "մայ_բ_առավ");
t = t.replace("Июн_а_макс", "հուն_բ_առավ");
t = t.replace("Июл_а_макс", "հուլ_բ_առավ");
t = t.replace("Авг_а_макс", "օգոս_բ_առավ");
t = t.replace("Сен_а_макс", "սեպ_բ_առավ");
t = t.replace("Окт_а_макс", "հոկ_բ_առավ");
t = t.replace("Ноя_а_макс", "նոյ_բ_առավ");
t = t.replace("Дек_а_макс", "դեկ_բ_առավ");
t = t.replace("Год_ср", "տարի_միջ");
t = t.replace("Год_ср_осад", "տարի_միջ_տեղ");
t = t.replace("Год_ср_мин", "տարի_միջ_նվազ");
t = t.replace("Год_ср_макс", "տարի_միջ_առավ");
t = t.replace("Год_а_мин", "տարի_բ_նվազ");
t = t.replace("Год_а_макс", "տարի_բ_առավ");
t = t.replace("Место_род", "վայր");
t = t.replace("Источник", "աղբյուր");
t = t.replace("Климат местности", "Եղանակի աղյուսակ");
t = t.replace("Город_род", "վայր");
t = t.replace("Климат города", "Եղանակի աղյուսակ");
return this.isChanged( oldValue, t ) ? t : false;
},
};
/* mw.loader.using( 'user.options' ) notwendig? */
if ( mw.user.options.get( 'usebetatoolbar' ) ) {
mw.loader.using( 'ext.wikiEditor', function() {
$( document ).ready( function() {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'group': 'format',
'tools': {
'autoFormatter': {
'label': 'Auto-Format',
'type': 'button',
'icon': '//upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Broom_icon.svg/22px-Broom_icon.svg.png',
'action': {
'type': 'callback',
'execute': function() { return mw.libs.autoFormatter.click( this ); }
}
}
}
} );
} );
} );
} else if ( mw.user.options.get( 'showtoolbar' ) ) {
mw.loader.using( 'mediawiki.action.edit', function() {
mw.toolbar.addButton( '//upload.wikimedia.org/wikipedia/commons/2/2e/Button_broom.png',
'Auto-Format', '', '', '', 'mw-customeditbutton-autoFormatter' );
$( document ).ready( function() {
$( '#mw-customeditbutton-autoFormatter' ).click(
function() { return mw.libs.autoFormatter.click( this ); }
);
} );
} );
} else {
$( document ).ready( function() {
/* Notfalls als Link unter dem Bearbeitungsfenster */
var b = $( '.editButtons' ),
c = b.children().last();
( c.is( 'span' ) ? c : b ).append( $( '.mw-editButtons-pipe-separator', b ).first().clone() );
var a = $( '<a href="#">Auto-Format<\/a>' );
a.click( function() { return mw.libs.autoFormatter.click( this ); } );
b.append( a );
} );
}
} )( jQuery, mediaWiki );