מדיה ויקי:Gadget-SummariesList.js

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/***
SOURCE: he.wikipedia.org/wiki/MediaWiki:Gadget-Summarieslist.js
***/
$(function() {
	var installed = false;
	function installSummary( $summaryBox, smallArea ) {
		if (installed) return;
		installed = true;

		function addSummary() {
		    var summary = $(this).data('summary');
			var text = summary.title;
			var sum = $summaryBox, curr = sum.val();
			var comma = curr.length > 0 && curr.charAt(curr.length - 2) != "/";
			sum.val(curr + (comma ? ', ' : '') + text).trigger('input');
			$("#wpMinoredit").prop('checked', summary.minor || $.inArray(text, minorSummaries) + 1);
		}

		var summaries = window.summaries || [];
		summaries = summaries.concat([
			"עריכה תוכנית",
		{"title": "הגהה","content": "עריכה לשונית קלה: פיסוק, החלפת מילה, חלוקה למשפטים וכדומה – ללא שינוי מהותי בתוכן"},
		{"title": "ניסוח","content": "שינוי ניסוח כך שיתאים לניסוח המקובל בוויקיספר – ללא שינוי מהותי בתוכן"},
		{"title": "הועבר","content": "העברת תוכן מדף אחד לדף אחר"},
		{"title": "הרחבה","content": "הוספת תוכן חדש"},
		{"title": "עריכה","content": "עריכה משמעותית כגון הוספה והסרה של תוכן, שינוי סדר וכדומה"},
		{"title": "עדכון","content": "הוספת מידע עדכני חדש או במקום מיושן לדף"},
		{"title": "תקלדה","content": "תיקון שגיאות כתיב, תעתיק, ריווח וכדומה – ללא שינוי מהותי בתוכן"},

			"עריכה טכנית",
		{"title": "ויקיזציה","content": "התאמה לסגנון המקובל בוויקיספר: קישורים, כותרות וכדומה – ללא שינוי מהותי בתוכן"},
		{"title": "עיצוב","content": "שינוי סגנון גופן, שינוי מיקום של תמונות וכדומה – ללא שינוי מהותי בתוכן"},
		{"title": "תמונה", "content": "הוספה, הסרה, שינוי גודל או שינוי מיקום של תמונות"},
		{"title": "קטגוריה","content": "הוספה, הסרה או שינוי של קטגוריות"},
		{"title": "קישורים פנימיים","content": "הוספה או תיקון של קישורים פנימיים"},
		{"title": "תיקון קישור","content": "תיקון קישורים שבורים"},

			"טיפול בהשחתה",
		{"title": "הפרת זכויות יוצרים","content": "הסרת תוכן המפר זכויות יוצרים"},
		{"title": "שחזור","content": "ביטול עריכה והחזרה לגרסה קודמת"}
		]);

		if (mw.config.get('wgNamespaceNumber')%2==1 || mw.config.get('wgNamespaceNumber')==4) {
			summaries = summaries.concat([
			"דפי שיחה",
		{"title": "ארכוב","content": "העברת תוכן לארכיון"},
		{"title": "תגובה","content": "תגובה להודעה קודמת"},
		{"title": "הסבר", "content": "הסבר לפעולה שנעשתה"},
		{"title": "ברוך בואך","content": "הוספת תבנית {{ברוך בואך}} למשתמש חדש"}
			]);
		}
	var minorSummaries = ["הגהה", "ניסוח", "תקלדה", "ויקיזציה", "עיצוב", "קטגוריה", "קישורים פנימיים", "תיקון קישור", "ארכוב"];
		var div = $("<div>", {id: "summariesList"})
			.css({width: ( smallArea? "100%" : "50%" ), padding: "2px", fontSize: "80%", lineHeight: "19px"});

		for (var i = 0; i < summaries.length; i++) {
			var summary = summaries[i];
			var summaryButton = $('<span>').css({marginLeft: '0.4em', whiteSpace: 'nowrap'}).data({summary: summary});
			if (typeof summary == "string") {
				div.append(smallArea? '<br>' : ' '); // allow text wrap here
				summaryButton.text(summary + ':');
			} else {
				summaryButton.html('&nbsp' + summary.title + '&nbsp')
					.addClass('clickable-edit-summary')
					.attr('title', summary.content || '')
					.css({'border': '1px solid #006699', 'background': '#f3fff3', 'padding-bottom': '0.1em', 'cursor': 'pointer', 'color': '#02a'})
					.click(addSummary);
				if (smallArea) div.append(' ');
			}
			div.append(summaryButton);
		}

		$summaryBox.after(div);
	}

if (($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) + 1)) {
	installSummary( $('.editOptions #wpSummary'), false );
}

mw.hook( 've.saveDialog.stateChanged' ).add(function(){
    var target = ve.init.target;
    var $summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea');
	installSummary( $summaryBox, true ); 
});

});