משתמש:שלמה/vector.js

מתוך אוצר הספרים היהודי השיתופי
< משתמש:שלמה
גרסה מ־16:35, 9 בדצמבר 2021 מאת שלמה (שיחה | תרומות) (מבוסס על מדיה ויקי:סקריפטים/76.js בויקיפדיה)
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/* סקריפט להעברה מהירה של פסקאות בין דפים (לא כולל מרחב הערכים).
נכתב על ידי [[משתמש:קובי כרמל|קובי כרמל]] בויקיפדיה.
בוצעו התאמות לצורך העברת תכני מיזם דבריהם הם זכרונם לדפים נפרדים.

version 2.0 */

$(function(){
	if (mw.config.get( 'wgNamespaceNumber' )<1||mw.config.get( 'wgNamespaceNumber' )>5) return;//checking name space
	var cap = $('.mw-editsection');
 
	for(var i = 0; i < cap.length; i++)
	{
		var tag = $(cap).eq(i).parent()[0].tagName.split('H')[1];
		if (tag<2) continue;
		var href = $(cap).eq(i).children('a').eq(0).attr('href').replace('veaction', 'action').replace('vesection', 'section') + '&move=' + tag;
		var direction = $('.mw-editsection').css('float') == 'left' ? 'left' : 'none';
		$(cap).eq(i).after('<span id = "move-section" style = "float: ' + direction + '; font-weight: normal; font-size: small; margin-right: 1em; line-height: 1em; display: inline-block;"><a href = ' + href + '>[העברה מהירה]</a></span>');
	}
	
	//fixing for the VisualEditor:
	
	$('.mw-headline').parent().hover(
		function(){$(this).find('.mw-editsection-link-secondary').show().css('visibility', 'visible')},
		function(){$(this).find('.mw-editsection-link-secondary').hide().css('visibility', 'hidden')}
	).find('.mw-editsection-link-secondary').hide();
	
	//checking if submitted a request for moving
 
	var section = mw.util.getParamValue('move');
	if (section < 2 || section > 6) return;
	var level = '';
	for(var t = 0; t < section; t++)
	{
		level += '=';
	}
 
	var text = $('#wpTextbox1');
	var value = (text.val());
	$('#mw-content-text').append('<div id="sugges" title="לאן להעביר?"><form><input type="text" style="width:95%;margin:10px 3px 0;"/><div><ul></ul></div></form></div>');
	$('#sugges').dialog({
		buttons : {'העברה' : function(){
			$(this).dialog('close');
			move($(this).find('input').val());
			}
		},
		modal : true
	}).find('input').on('keyup', function(e){search($(this), e.keyCode || e.which)});
	
	function search(obj, key){
		var keys = [];
		for(var k in $.ui.keyCode)keys.push($.ui.keyCode[k]);
		if(keys.indexOf(key) + 1 && key != 8)return;
		var param = {action : 'opensearch', search : obj.val()};
		$.getJSON('/w/api.php', param, function(data){
			var ul = obj.next().children();
			ul.empty();
			var bckg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAAMUlEQVQYV2P68vPvfyYGIBhCxP//cBacYAAKInGRlIBYaBJQHWAWXBuqoVBZmNhwIgBlYh6Ywkr41gAAAABJRU5ErkJggg==';
			function help1() {
						obj.val($(this).text()).focus();
						ul.empty();
					}
			function help3() {
						$(this).css({background : '#e4f1fb url(' + bckg + ') 50% 50% repeat-x', border : '1px solid #74b2e2', padding : '0 4px'});
					}
			function help5() {
						$(this).css({background : 'none', border : 'none', padding : '1px 5px'});
					}
			for(var i in data[1]){
				ul.append($('<li>').css({cursor : 'pointer', padding : '1px 5px', width : '92%'}).text(data[1][i]).on({
					click : help1,
					mouseenter : help3,
					mouseleave : help5
				}));
			}
		});
	}
 
	function move(to){
		if (to === null || to === '') return alert('חובה לציין יעד להעברה!');
	 
		$('body').prepend('<div id="Processing" style="color:gray;position:absolute;top:58%;left:44%;z-index:1"><img src="https://upload.wikimedia.org/wikipedia/commons/1/10/Loading-special.gif"><br/>מעבד נתונים...</div>');
		var caption = text.val().split(level)[1];
		var oldcap = caption.replace(/[\[\]]/g,'');
		var tosplit = oldcap.split('');
	 
		//removing the space from the caption
	 
		for(var k in tosplit){
			if(k === 0 || k == tosplit.length-1){
				if(tosplit[k] == ' '){
					delete(tosplit[k]);
				}
			}
		}
	 
		//preparing the infprmation for the old page
	 
		var PageName = mw.config.get('wgPageName').replace(/_/g , ' ');
		oldcap = tosplit.join('');
		var from = "";
		var end = '';
		var va = text.val().split('');
		va[0] += '' + from;
		var ba = '' + va.join('');
		ba += end;
		var tm = level + caption + level + '\n{{הועבר|ל=' + to + '#' + oldcap + '}}';
		text.val(tm.replace(/# /, "#"));
	 
		//preparing the infprmation for the new page
	 
		var token = mw.user.tokens.get('csrfToken');
		var summary = 'העברה מ[[' + PageName + ']]';
		var params = {action: 'edit', title: to, token: token, appendtext: ba, summary: summary};
	 
		//Sends the data to the new destination
	 
		$.post('/w/api.php',params,function(){
			$('#wpSummary').val('/*' + oldcap + '*/[[סקריפט העברות - הועבר ל[[' + to + '#' + oldcap + ']]');
			$('#Processing').remove();
			mw.notify('ההעברה ל' + to + ' בוצעה בהצלחה!');
			//updating the old page
			$('#editform').submit();
		});
	}
});