לדלג לתוכן

מדיה ויקי:Gadget-Summarieslist.js – הבדלי גרסאות

מתוך חב"דפדיה, אנציקלופדיה חב"דית חופשית
שיע.ק (שיחה | תרומות)
אין תקציר עריכה
מ. רובין (שיחה | תרומות)
אין תקציר עריכה
 
שורה 15: שורה 15:
sum.val(curr + (comma ? ', ' : '') + text).trigger('input');
sum.val(curr + (comma ? ', ' : '') + text).trigger('input');
setMinorEdit(summary.minor || $.inArray(text, minorSummaries) + 1);
setMinorEdit(summary.minor || $.inArray(text, minorSummaries) + 1);
}
// css for dark mode
if (!document.getElementById('summaries-dark-mode-css')) {
var style = document.createElement('style');
style.id = 'summaries-dark-mode-css';
style.textContent = `
html.skin-theme-clientpref-night .clickable-edit-summary {
background-color: #2a2a2a !important;
color: #e6e6e6 !important;
border-color: #555555 !important;
}
html.skin-theme-clientpref-night .clickable-edit-summary:hover {
background-color: #3a3a3a !important;
border-color: #777777 !important;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .clickable-edit-summary {
background-color: #2a2a2a !important;
color: #e6e6e6 !important;
border-color: #555555 !important;
}
html.skin-theme-clientpref-os .clickable-edit-summary:hover {
background-color: #3a3a3a !important;
border-color: #777777 !important;
}
}
`;
document.head.appendChild(style);
}
}


var summaries = window.summaries || [];
var summaries = window.summaries || [];
summaries = summaries.concat([
var defaultSummaries = [
"עריכה תוכנית",
"עריכה תוכנית",
{"title": "הגהה","content": "עריכה לשונית קלה - פיסוק, החלפת מילה, חלוקה למשפטים וכולי - ללא שינוי תוכן"},
{"title": "הגהה","content": "עריכה לשונית קלה - פיסוק, החלפת מילה, חלוקה למשפטים וכולי - ללא שינוי תוכן"},
שורה 37: שורה 66:
{"title": "תיקון פרמטרים","content": "תיקון שגיאות פרמטרים בתבניות"},
{"title": "תיקון פרמטרים","content": "תיקון שגיאות פרמטרים בתבניות"},
{"title": "תיקון קישור","content": "תיקון קישור שבור - אך לא הוספה או מחיקה של קישור"},
{"title": "תיקון קישור","content": "תיקון קישור שבור - אך לא הוספה או מחיקה של קישור"},
{"title": "הסרת no-wiki","content": "הסרת תגי nowiki מהערכים"},
"טיפול בהשחתה",
"טיפול בהשחתה",
{"title": "הפרת זכויות יוצרים","content": "מחיקת תוכן מפר זכויות יוצרים"},
{"title": "הפרת זכויות יוצרים","content": "מחיקת תוכן מפר זכויות יוצרים"},
{"title": "שחזור","content": "ביטול עריכה והחזרה לגרסה קודמת"}
{"title": "שחזור","content": "ביטול עריכה והחזרה לגרסה קודמת"}
]);
];
if (mw.config.get('wgNamespaceNumber') % 2 === 1 || mw.config.get('wgNamespaceNumber') === 4) {
if (mw.config.get('wgNamespaceNumber') % 2 === 1 || mw.config.get('wgNamespaceNumber') === 4) {
summaries = summaries.concat([
defaultSummaries = defaultSummaries.concat([
"דפי שיחה",
"דפי שיחה",
{"title": "ארכוב","content": "הוספת תבנית ארכוב או העברת תוכן לארכיון"},
{"title": "ארכוב","content": "הוספת תבנית ארכוב או העברת תוכן לארכיון"},
שורה 50: שורה 80:
]);
]);
}
}
var minorSummaries = ["הגהה", "ניסוח", "תקלדה", "ויקיזציה", "עיצוב", "קטגוריה", "קישורים פנימיים", "תיקון קישור", "ארכוב", "תיקון פרמטרים", "הסרת"];
if (! summaries.hidedefaults ) {
if (summaries.hide) {
// remove from defaults anything in hide.
defaultSummaries = defaultSummaries.filter(summary => $.inArray(summary.title, summaries.hide) == -1);
}
summaries = summaries.concat(defaultSummaries);
}
var minorSummaries = ["הגהה", "ניסוח", "תקלדה", "ויקיזציה", "עיצוב", "קטגוריה", "קישורים פנימיים", "תיקון קישור", "ארכוב", "תיקון פרמטרים", "הסרת no-wiki"];
var div = $("<div>", {id: "summariesList"})
var div = $("<div>", {id: "summariesList"})
.css({width: ( smallArea? "100%" : "65%" ), padding: "2px"});
.css({width: ( smallArea? "100%" : "65%" ), padding: "2px"});
שורה 84: שורה 123:
});
});
}
}
var beenHere;


mw.hook( 've.saveDialog.stateChanged' ).add(function(){
mw.hook( 've.saveDialog.stateChanged' ).add(function(){
const optionName = 'userjs-hidesummaries';
var applySummaryVisibility = function(state) { $('#summariesList').css({display: state ? 'inherit' : 'none'}); };
showSummariesList = function(state) {
applySummaryVisibility(state);
new mw.Api().post({action: 'options', token: mw.user.tokens.get('csrfToken'), optionname: optionName, optionvalue: ! state} );
};
     var target = ve.init.target;
     var target = ve.init.target;
     var $summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea');
     var $summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea');
     $('.ve-ui-mwSaveDialog-summary').after(installSummary( $summaryBox, true, function(val) {
     $('.ve-ui-mwSaveDialog-options').prepend(installSummary( $summaryBox, true, function(val) {
         var chk = ve.init.target && ve.init.target.saveDialog && ve.init.target.saveDialog.checkboxesByName && ve.init.target.saveDialog.checkboxesByName.wpMinoredit;
         var chk = ve.init.target && ve.init.target.saveDialog && ve.init.target.saveDialog.checkboxesByName && ve.init.target.saveDialog.checkboxesByName.wpMinoredit;
         if (chk) {
         if (chk) {
שורה 94: שורה 143:
         }
         }
     } ));  
     } ));  
    if (! beenHere) {
var
hideSummaries = mw.user.options.get(optionName),
showSummaries = new OO.ui.CheckboxInputWidget( {
    title: 'להציג או להסתיר רשימת תקצירים נפוצים',
} )
.setSelected(! hideSummaries),
fl = new OO.ui.FieldLayout( showSummaries, { label: 'תקצירים',  align: 'inline' } );
    beenHere = true;
target.saveDialog.$body
.find('.ve-ui-mwSaveDialog-field-wpWatchthis')
.after(fl.$element);
showSummaries.on('change', showSummariesList);
applySummaryVisibility(! hideSummaries);
    }
});
});


});
});

גרסה אחרונה מ־16:22, 6 בפברואר 2026

/* מציג רשימת תקצירים מתחת לתיבת העריכה */
$(function() {
	var installed = false;
	function installSummary( $summaryBox, smallArea, setMinorEdit ) {
		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');
			setMinorEdit(summary.minor || $.inArray(text, minorSummaries) + 1);
		}

		// css for dark mode
		if (!document.getElementById('summaries-dark-mode-css')) {
			var style = document.createElement('style');
			style.id = 'summaries-dark-mode-css';
			style.textContent = `
				html.skin-theme-clientpref-night .clickable-edit-summary {
					background-color: #2a2a2a !important;
					color: #e6e6e6 !important;
					border-color: #555555 !important;
				}
				html.skin-theme-clientpref-night .clickable-edit-summary:hover {
					background-color: #3a3a3a !important;
					border-color: #777777 !important;
				}
				@media (prefers-color-scheme: dark) {
					html.skin-theme-clientpref-os .clickable-edit-summary {
						background-color: #2a2a2a !important;
						color: #e6e6e6 !important;
						border-color: #555555 !important;
					}
					html.skin-theme-clientpref-os .clickable-edit-summary:hover {
						background-color: #3a3a3a !important;
						border-color: #777777 !important;
					}
				}
			`;
			document.head.appendChild(style);
		}

		var summaries = window.summaries || [];
		var defaultSummaries = [
			"עריכה תוכנית",
			{"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": "תיקון שגיאות פרמטרים בתבניות"},
			{"title": "תיקון קישור","content": "תיקון קישור שבור - אך לא הוספה או מחיקה של קישור"},
			{"title": "הסרת no-wiki","content": "הסרת תגי nowiki מהערכים"},
			"טיפול בהשחתה",
			{"title": "הפרת זכויות יוצרים","content": "מחיקת תוכן מפר זכויות יוצרים"},
			{"title": "שחזור","content": "ביטול עריכה והחזרה לגרסה קודמת"}
		];
		if (mw.config.get('wgNamespaceNumber') % 2 === 1 || mw.config.get('wgNamespaceNumber') === 4) {
			defaultSummaries = defaultSummaries.concat([
			"דפי שיחה",
			{"title": "ארכוב","content": "הוספת תבנית ארכוב או העברת תוכן לארכיון"},
			{"title": "תגובה","content": "תגובה להודעה קודמת"},
			{"title": "הסבר", "content": "הוספת הסבר לפעולה שנעשתה, בדרך כלל בדף אחר"},
			{"title": "ברוכים הבאים","content": "הוספת תבנית ברוכים הבאים למשתמש חדש"}
			]);
		}
		
		if (! summaries.hidedefaults ) {
			if (summaries.hide) {
				// remove from defaults anything in hide.
				defaultSummaries = defaultSummaries.filter(summary => $.inArray(summary.title, summaries.hide) == -1); 
			}
			summaries = summaries.concat(defaultSummaries);
		}
		
		var minorSummaries = ["הגהה", "ניסוח", "תקלדה", "ויקיזציה", "עיצוב", "קטגוריה", "קישורים פנימיים", "תיקון קישור", "ארכוב", "תיקון פרמטרים", "הסרת no-wiki"];
		var div = $("<div>", {id: "summariesList"})
			.css({width: ( smallArea? "100%" : "65%" ), padding: "2px"});

		for (var i = 0; i < summaries.length; i++) {
			var summary = summaries[i];
			var summaryButton = $('<span>').css({marginLeft: '0.4em', whiteSpace: 'nowrap'}).data({summary: summary});
			var label;

			if (typeof summary === "string") {
				div.append(smallArea? '<br>' : ' '); //allow text wrap here
				summaryButton.text(summary + ':');
			} else {
				label = summary.label || summary.title;
				summaryButton.html('&nbsp' + label + '&nbsp')
					.addClass('clickable-edit-summary')
					.attr('title', summary.content || '')
					.css({'background-color': '#f3fff3', color: '#02a', border: 'solid 1px #006699', cursor: 'pointer'})
					.click(addSummary);
				if (smallArea) {
					div.append(' ');
				}
			}
			div.append(summaryButton);
		}

		return div;
	}

if (($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) + 1) && ($('[name="wpSection"]').val()!='new')) {
	 mw.loader.using( 'user' ).always( function() {  // make sure personal script page is loaded, fo users who deine "summaries =" in their personal page. see talkpage.
		$('#wpSummaryWidget').after(installSummary( $('input[name=wpSummary]'), false, function(val) { $('[name=wpMinoredit]').prop('checked', val); } ));
	 });
}

var beenHere;

mw.hook( 've.saveDialog.stateChanged' ).add(function(){
	const optionName = 'userjs-hidesummaries';
	var applySummaryVisibility = function(state) { $('#summariesList').css({display: state ? 'inherit' : 'none'}); };
	
	showSummariesList = function(state) {
		applySummaryVisibility(state);
		new mw.Api().post({action: 'options', token: mw.user.tokens.get('csrfToken'), optionname: optionName, optionvalue: ! state} );
	};

    var target = ve.init.target;
    var $summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea');
    $('.ve-ui-mwSaveDialog-options').prepend(installSummary( $summaryBox, true, function(val) {
        var chk = ve.init.target && ve.init.target.saveDialog && ve.init.target.saveDialog.checkboxesByName && ve.init.target.saveDialog.checkboxesByName.wpMinoredit;
        if (chk) {
            chk.setSelected(val);
        }
    } )); 
    if (! beenHere) {
		var 
			hideSummaries = mw.user.options.get(optionName),
			showSummaries = new OO.ui.CheckboxInputWidget( {
				    title: 'להציג או להסתיר רשימת תקצירים נפוצים',
				} )
				.setSelected(! hideSummaries),
			fl = new OO.ui.FieldLayout( showSummaries, { label: 'תקצירים',  align: 'inline' } );
		
    	beenHere = true;
		target.saveDialog.$body
			.find('.ve-ui-mwSaveDialog-field-wpWatchthis')
			.after(fl.$element);
		
		showSummaries.on('change', 	showSummariesList);
		applySummaryVisibility(! hideSummaries);
    }
});

});