לדלג לתוכן

מדיה ויקי:Gadget-InterwikiOrder.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
מאין תקציר עריכה
מ 83 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-InterwikiOrder.js יובאו
 
(34 גרסאות ביניים של 6 משתמשים אינן מוצגות)
שורה 1: שורה 1:
var interwikiOrder = new Array();
function fixInterwikiOrder(selectedInterwikiOrder) {
var i, end, $item,
$list = $( '#p-lang ul' ),
$items = $list.find( 'li' );
end = 'זהו'; // the Hebrew string says "end"


function containsInterwiki(kids, interWikiID) {
for ( i = selectedInterwikiOrder.length - 1; i >= 0; i-- ) {
for (var i = 0; i < kids.length; i++) {
if ( selectedInterwikiOrder[i] === end ) {
  if ( kids[i].className == ('interwiki-' + interWikiID) )
continue;
  return i;
}
}
 
return -1;
// Since selectedInterwikiOrder is coming from a wiki page, very important to escape.
$item = $list.find( '.interwiki-' + $.escapeSelector( selectedInterwikiOrder[i] ) );
 
if ( $item.length ) {
$item
.detach()
.prependTo($list);
}
}
 
if ( selectedInterwikiOrder[selectedInterwikiOrder.length - 1] === end ) {
$items.each( function( index, element ) {
var $element = $( element ),
$link = $element.find( 'a' );
 
if ( $.inArray( $link.prop( 'lang' ), selectedInterwikiOrder ) === -1 ) {
$element.remove();
}
});
}
}
}


function fixInterwikiOrder() {
function initInterwikiOrder( ) {
var kids = document.getElementById('p-lang').getElementsByTagName('LI');
var api = new mw.Api();
for (var i = interwikiOrder.length - 1; i > -1; i--) {
 
  var interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);
if ( !$( '#p-lang' ).length ) {
  if (interWikiIndex != -1) {
return;
alert("a");
}
  kids.parentNode.insertBefore(kids.parentNode.firstChild, kids[interWikiIndex]);
 
alert("b");
api.get( {
  kids.removeChild(kids[interWikiIndex]);
action: 'query',
alert("c");
prop: 'revisions',
  }
format: 'json',
}
rvprop: 'content',
}
rvlimit: 1,
titles: 'User:' + mw.config.get( 'wgUserName' ) + '/בינוויקי'
} ).done( function ( result ) {
var text, lines, rx, i, m,
selectedInterwikiOrder = [];
 
$.each( result.query.pages, function ( id, data ) {
if(data.revisions)
text = data.revisions[0]['*'];
return false;
} );
if(!text) return;
lines = text.split( '\n' );
rx = new RegExp( '\\*\\s?([^$]*)' );
 
for ( i = 0; i < lines.length; i++ ) {
m = rx.exec( lines[i] );
 
if ( m ) {
selectedInterwikiOrder.push( m[1] );
} else {
break;
}
}


function initInterwikiOrder() {
if ( selectedInterwikiOrder[0] ) {
if (!document.getElementById('p-lang')) return;
fixInterwikiOrder( selectedInterwikiOrder );
var a = sajax_init_object();
}
a.open('GET', wgServer + wgScriptPath + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:' + encodeURIComponent(wgUserName) + '/%D7%91%D7%99%D7%A0%D7%95%D7%95%D7%99%D7%A7%D7%99&action=raw', true);
} );
a.onreadystatechange = function() {
  if (a.readyState != 4) return;
  var lines = a.responseText.split('\n');
  var rx = new RegExp('\\*\\s?([^$]*)');
  for (var i = 0; i < lines.length; i++) {
  var m = rx.exec(lines[i]);
  if (m)
    interwikiOrder.push(m[1]);
  else
    break;
  }
  if (interwikiOrder[0]) fixInterwikiOrder();
}
a.send(null);
}
}


addOnloadHook(initInterwikiOrder);
$(initInterwikiOrder);

גרסה אחרונה מ־07:26, 5 בדצמבר 2022

function fixInterwikiOrder(selectedInterwikiOrder) {
	var i, end, $item,
		$list = $( '#p-lang ul' ),
		$items = $list.find( 'li' );
	
	end = 'זהו'; // the Hebrew string says "end"

	for ( i = selectedInterwikiOrder.length - 1; i >= 0; i-- ) {
		if ( selectedInterwikiOrder[i] === end ) {
			continue;
		}

		// Since selectedInterwikiOrder is coming from a wiki page, very important to escape.
		$item = $list.find( '.interwiki-' + $.escapeSelector( selectedInterwikiOrder[i] ) );

		if ( $item.length ) {
			$item
				.detach()
				.prependTo($list);
		}
	}

	if ( selectedInterwikiOrder[selectedInterwikiOrder.length - 1] === end ) {
		$items.each( function( index, element ) {
			var $element = $( element ),
				$link = $element.find( 'a' );

			if ( $.inArray( $link.prop( 'lang' ), selectedInterwikiOrder ) === -1 ) {
				$element.remove();
			}
		});
	}
}

function initInterwikiOrder( ) {
	var api = new mw.Api();

	if ( !$( '#p-lang' ).length ) {
		return;
	}

	api.get( {
		action: 'query',
		prop: 'revisions',
		format: 'json',
		rvprop: 'content',
		rvlimit: 1,
		titles: 'User:' + mw.config.get( 'wgUserName' ) + '/בינוויקי'
	} ).done( function ( result ) {
		var text, lines, rx, i, m,
			selectedInterwikiOrder = [];

		$.each( result.query.pages, function ( id, data ) {
			if(data.revisions)
				text = data.revisions[0]['*'];
			return false;
		} );
		if(!text) return;
		lines = text.split( '\n' );
		rx = new RegExp( '\\*\\s?([^$]*)' );

		for ( i = 0; i < lines.length; i++ ) {
			m = rx.exec( lines[i] );

			if ( m ) {
				selectedInterwikiOrder.push( m[1] );
			} else {
				break;
			}
		}

		if ( selectedInterwikiOrder[0] ) {
			fixInterwikiOrder( selectedInterwikiOrder );
		}
	} );
}

$(initInterwikiOrder);