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

מתוך ויקישיבה
קפיצה לניווט קפיצה לחיפוש

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

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

if (mw.config.get('wgNamespaceNumber') === 0 && ($.inArray(mw.config.get('wgAction'), ["edit", "submit"]) + 1))
$('#wpSave, #btnCheckTool, #wpPreview').on('click', function(e) {
    var hiddenSectionInput = $("form#editform>[name=wpSection]");
    if (mw.util.getParamValue('section') || // // don't do it when editing a section.
        hiddenSectionInput.length === 0 || // can't tell if it's a section
        hiddenSectionInput.val() || // it _is_ a section
        mw.user.options.get('gadget-wikied') || //  who knows why wikied misbehaves in conjunction with this gadget
        /\{\{מיון/.test($('#wpTextbox1').val()) // widely use templates which may or may not contain ref
        )
		return; 
	var text = $('#wpTextbox1').val();
	var refTest = /<ref\b|\{\{\s*(msg:|הכללה:|subst:|ס:)?\s*(template:|תבנית:)?\s*הערה\s*\|/i.test(text)
	var referencesTest = /<references[^<]*\/>|\{\{\s*(template:|תבנית:)?\s*(הערות[ _]שוליים|reflist)\s*[\}\|]/i.test(text);

	if (refTest == referencesTest)
		return; // either both or none - who cares.
	var warning = refTest
		?	"בדף שאתם עורכים יש הערות שוליים אך אין כותרת הערת שוליים.\n" +
			'ניתן להוסיף כותרת הערת שוליים באמצעות בחירת "כותרת הערת שוליים" מתפריט "תבניות להוספה" שנמצא בסרגל העריכה.'
		:	"יתכן שבדף שאתם עורכים יש כותרת הערת שוליים אך אין הערות שוליים.";
	if (this.id == "wpSave") {
		if (!confirm(warning + "\n\nהאם הנכם בטוחים שברצונכם לשמור את הערך?"))
			e.preventDefault();
	}
	else
		alert(warning);
});