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

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
$(function(){
	function defaultFeedbackTitle(){
		var x = new Date();
		var months = ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"];
		return 'משוב מ-'+x.getUTCDate() + ' ב'+months[x.getUTCMonth()]+' '+x.getUTCFullYear();
	}
	if (mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction')!='view' || $('.diff').length || $('.redirectMsg').length || !mw.config.get('wgArticleId') || mw.config.get('wgIsMainPage')) return;//articles only

	var feedbackBox=$('<div class="feedbackWrapper"><div class="feedbackDiv"><div style="float:left;font-size:x-small;padding-left:1em;"><a href="'+mw.util.getUrl('שיחה:'+mw.config.get('wgTitle'))+'">משובים קודמים</a></div>משוב על המדריך<form id="commentbox" method="post" action="'+mw.config.get('wgServer') + mw.config.get('wgScriptPath')+'/index.php?section=new&action=edit&preview=yes&title='+mw.util.wikiUrlencode('שיחה:'+mw.config.get('wgTitle'))+'"><textarea name="wpTextbox1" rows="1" id="feedbackTextArea" placeholder="כאן ניתן לכתוב משוב על המדריך...">כאן ניתן לכתוב משוב על המדריך...</textarea><div id="feedbackSubmit" style="display:none;"><input type="text" name="wpSummary" id="feedbackTitle" value="כותרת המשוב" placeholder="כותרת המשוב" maxlength="50" /><input type="submit" id="feedbackBtn" value="שליחה"/></div></form><div id="feedbackHelpDiv" style="display:none;">נקודות מומלצות להתייחסות: שלמות, אובייקטיביות, אמינות ורמת הכתיבה.<br />אין לכתוב פניות לנשוא המדריך, משובים פוגעניים והשקפות אישיות על נושא המדריך<br />הינכם מוזמנים לשפר את המדריך על ידי לחיצה על "עריכה" בראש הדף בצד שמאל.<br />תודה ו<a href="'+mw.util.getUrl('ויקימסע:ברוכים הבאים')+'">ברוכים הבאים</a> לוויקימסע!</div></div></div>');

	$('#bodyContent').append(feedbackBox);
	var firstFocus=function(e){
		this.value="";
		$('#feedbackHelpDiv').show('slow');
		$(this).css('color','#000000');
		$(this).off(e);
		new mw.Api().get({
			'action':'parse', 
			'text': '{{הוראות למשוב}}', 
			'title': mw.config.get('wgPageName'), 
			'prop': 'text' }).done(function(d){
				$('#feedbackHelpDiv').html(d.parse.text['*']);
			});
	};
	$('#feedbackTextArea').focus(firstFocus);
	$('#feedbackTitle').focus(firstFocus);
	var grow=function(){
		var rows=0;var c=this.cols;
		$.each(this.value.split('\n'),function(i,v) {
			rows+=Math.floor(v.length/c)+1
		});
		this.rows=rows+2;
		this.style.height='auto';
		$('#feedbackSubmit').toggle(this.value.length>0);
	};
	$('#feedbackTextArea').focus(grow).blur(grow).keyup(grow);
	$('#commentbox').submit(function(){
		if(!($('#feedbackTextArea').val().indexOf('~~'+'~~')+1)) $('#feedbackTextArea').val($('#feedbackTextArea').val()+'{{'+'משוב}} ~~'+'~~');//sign in the end
		if($('#feedbackTitle').val() === 'כותרת המשוב' || $('#feedbackTitle').val() === '') $('#feedbackTitle').val(defaultFeedbackTitle());//default title
		return true;
	});
});