<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.endmyopia.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-friendlytalkback.js</id>
	<title>MediaWiki:Gadget-friendlytalkback.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.endmyopia.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-friendlytalkback.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.endmyopia.org/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;action=history"/>
	<updated>2026-09-17T07:48:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.endmyopia.org/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;diff=8613&amp;oldid=prev</id>
		<title>NottNott: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.endmyopia.org/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;diff=8613&amp;oldid=prev"/>
		<updated>2020-06-12T10:46:07Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:46, 12 June 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key jakeendmy_mw1720-mwnr_:diff:1.41:old-8612:rev-8613 --&gt;
&lt;/table&gt;</summary>
		<author><name>NottNott</name></author>
	</entry>
	<entry>
		<id>https://wiki.endmyopia.org/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;diff=8612&amp;oldid=prev</id>
		<title>en&gt;Amorymeltzer: Repo at ffe5bbed: Add preview</title>
		<link rel="alternate" type="text/html" href="https://wiki.endmyopia.org/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;diff=8612&amp;oldid=prev"/>
		<updated>2020-04-25T17:31:04Z</updated>

		<summary type="html">&lt;p&gt;Repo at ffe5bbed: Add preview&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(function($) {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 ****************************************&lt;br /&gt;
 *** friendlytalkback.js: Talkback module&lt;br /&gt;
 ****************************************&lt;br /&gt;
 * Mode of invocation:     Tab (&amp;quot;TB&amp;quot;)&lt;br /&gt;
 * Active on:              Any page with relevant user name (userspace, contribs, etc.)&lt;br /&gt;
 * Config directives in:   FriendlyConfig&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback = function() {&lt;br /&gt;
&lt;br /&gt;
	if (!mw.config.get(&amp;#039;wgRelevantUserName&amp;#039;)) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	Twinkle.addPortletLink(Twinkle.talkback.callback, &amp;#039;TB&amp;#039;, &amp;#039;friendly-talkback&amp;#039;, &amp;#039;Easy talkback&amp;#039;);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.callback = function() {&lt;br /&gt;
	if (mw.config.get(&amp;#039;wgRelevantUserName&amp;#039;) === mw.config.get(&amp;#039;wgUserName&amp;#039;) &amp;amp;&amp;amp; !confirm(&amp;quot;Is it really so bad that you&amp;#039;re talking back to yourself?&amp;quot;)) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var Window = new Morebits.simpleWindow(600, 350);&lt;br /&gt;
	Window.setTitle(&amp;#039;Talkback&amp;#039;);&lt;br /&gt;
	Window.setScriptName(&amp;#039;Twinkle&amp;#039;);&lt;br /&gt;
	Window.addFooterLink(&amp;#039;About {{talkback}}&amp;#039;, &amp;#039;Template:Talkback&amp;#039;);&lt;br /&gt;
	Window.addFooterLink(&amp;#039;Twinkle help&amp;#039;, &amp;#039;WP:TW/DOC#talkback&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	var form = new Morebits.quickForm(Twinkle.talkback.evaluate);&lt;br /&gt;
&lt;br /&gt;
	form.append({ type: &amp;#039;radio&amp;#039;, name: &amp;#039;tbtarget&amp;#039;,&lt;br /&gt;
		list: [&lt;br /&gt;
			{&lt;br /&gt;
				label: &amp;#039;Talkback: my talk page&amp;#039;,&lt;br /&gt;
				value: &amp;#039;mytalk&amp;#039;,&lt;br /&gt;
				checked: &amp;#039;true&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: &amp;#039;Talkback: other user talk page&amp;#039;,&lt;br /&gt;
				value: &amp;#039;usertalk&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: &amp;#039;Talkback: other page&amp;#039;,&lt;br /&gt;
				value: &amp;#039;other&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: &amp;#039;&amp;quot;Please see&amp;quot;&amp;#039;,&lt;br /&gt;
				value: &amp;#039;see&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: &amp;#039;Noticeboard notification&amp;#039;,&lt;br /&gt;
				value: &amp;#039;notice&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: &amp;quot;\&amp;quot;You&amp;#039;ve got mail\&amp;quot;&amp;quot;,&lt;br /&gt;
				value: &amp;#039;mail&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
		],&lt;br /&gt;
		event: Twinkle.talkback.changeTarget&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	form.append({&lt;br /&gt;
		type: &amp;#039;field&amp;#039;,&lt;br /&gt;
		label: &amp;#039;Work area&amp;#039;,&lt;br /&gt;
		name: &amp;#039;work_area&amp;#039;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var previewlink = document.createElement(&amp;#039;a&amp;#039;);&lt;br /&gt;
	$(previewlink).click(function() {&lt;br /&gt;
		Twinkle.talkback.preview(result);  // |result| is defined below&lt;br /&gt;
	});&lt;br /&gt;
	previewlink.style.cursor = &amp;#039;pointer&amp;#039;;&lt;br /&gt;
	previewlink.textContent = &amp;#039;Preview&amp;#039;;&lt;br /&gt;
	form.append({ type: &amp;#039;div&amp;#039;, id: &amp;#039;talkbackpreview&amp;#039;, label: [ previewlink ] });&lt;br /&gt;
	form.append({ type: &amp;#039;div&amp;#039;, id: &amp;#039;friendlytalkback-previewbox&amp;#039;, style: &amp;#039;display: none&amp;#039; });&lt;br /&gt;
&lt;br /&gt;
	form.append({ type: &amp;#039;submit&amp;#039; });&lt;br /&gt;
&lt;br /&gt;
	var result = form.render();&lt;br /&gt;
	Window.setContent(result);&lt;br /&gt;
	Window.display();&lt;br /&gt;
	result.previewer = new Morebits.wiki.preview($(result).find(&amp;#039;div#friendlytalkback-previewbox&amp;#039;).last()[0]);&lt;br /&gt;
&lt;br /&gt;
	// We must init the&lt;br /&gt;
	var evt = document.createEvent(&amp;#039;Event&amp;#039;);&lt;br /&gt;
	evt.initEvent(&amp;#039;change&amp;#039;, true, true);&lt;br /&gt;
	result.tbtarget[0].dispatchEvent(evt);&lt;br /&gt;
&lt;br /&gt;
	// Check whether the user has opted out from talkback&lt;br /&gt;
	var query = {&lt;br /&gt;
		action: &amp;#039;query&amp;#039;,&lt;br /&gt;
		prop: &amp;#039;extlinks&amp;#039;,&lt;br /&gt;
		titles: &amp;#039;User talk:&amp;#039; + mw.config.get(&amp;#039;wgRelevantUserName&amp;#039;),&lt;br /&gt;
		elquery: &amp;#039;userjs.invalid/noTalkback&amp;#039;,&lt;br /&gt;
		ellimit: &amp;#039;1&amp;#039;&lt;br /&gt;
	};&lt;br /&gt;
	var wpapi = new Morebits.wiki.api(&amp;#039;Fetching talkback opt-out status&amp;#039;, query, Twinkle.talkback.callback.optoutStatus);&lt;br /&gt;
	wpapi.post();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.optout = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.callback.optoutStatus = function(apiobj) {&lt;br /&gt;
	var $el = $(apiobj.getXML()).find(&amp;#039;el&amp;#039;);&lt;br /&gt;
	if ($el.length) {&lt;br /&gt;
		Twinkle.talkback.optout = mw.config.get(&amp;#039;wgRelevantUserName&amp;#039;) + &amp;#039; prefers not to receive talkbacks&amp;#039;;&lt;br /&gt;
		var url = $el.text();&lt;br /&gt;
		var reason = mw.util.getParamValue(&amp;#039;reason&amp;#039;, url);&lt;br /&gt;
		Twinkle.talkback.optout += reason ? &amp;#039;: &amp;#039; + reason : &amp;#039;.&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	$(&amp;#039;#twinkle-talkback-optout-message&amp;#039;).text(Twinkle.talkback.optout);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var prev_page = &amp;#039;&amp;#039;;&lt;br /&gt;
var prev_section = &amp;#039;&amp;#039;;&lt;br /&gt;
var prev_message = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.changeTarget = function(e) {&lt;br /&gt;
	var value = e.target.values;&lt;br /&gt;
	var root = e.target.form;&lt;br /&gt;
	var old_area = Morebits.quickForm.getElements(root, &amp;#039;work_area&amp;#039;)[0];&lt;br /&gt;
&lt;br /&gt;
	if (root.section) {&lt;br /&gt;
		prev_section = root.section.value;&lt;br /&gt;
	}&lt;br /&gt;
	if (root.message) {&lt;br /&gt;
		prev_message = root.message.value;&lt;br /&gt;
	}&lt;br /&gt;
	if (root.page) {&lt;br /&gt;
		prev_page = root.page.value;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var work_area = new Morebits.quickForm.element({&lt;br /&gt;
		type: &amp;#039;field&amp;#039;,&lt;br /&gt;
		label: &amp;#039;Talkback information&amp;#039;,&lt;br /&gt;
		name: &amp;#039;work_area&amp;#039;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	root.previewer.closePreview();&lt;br /&gt;
&lt;br /&gt;
	switch (value) {&lt;br /&gt;
		case &amp;#039;mytalk&amp;#039;:&lt;br /&gt;
			/* falls through */&lt;br /&gt;
		default:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;div&amp;#039;,&lt;br /&gt;
				label: &amp;#039;&amp;#039;,&lt;br /&gt;
				style: &amp;#039;color: red&amp;#039;,&lt;br /&gt;
				id: &amp;#039;twinkle-talkback-optout-message&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Linked section (optional)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;#039;The section heading on your talk page where you left a message. Leave empty for no section to be linked.&amp;#039;,&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;usertalk&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;div&amp;#039;,&lt;br /&gt;
				label: &amp;#039;&amp;#039;,&lt;br /&gt;
				style: &amp;#039;color: red&amp;#039;,&lt;br /&gt;
				id: &amp;#039;twinkle-talkback-optout-message&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;page&amp;#039;,&lt;br /&gt;
				label: &amp;#039;User (required)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;#039;The username of the user on whose talk page you left a message. Required.&amp;#039;,&lt;br /&gt;
				value: prev_page,&lt;br /&gt;
				required: true&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Linked section (optional)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;#039;The section heading on the page where you left a message. Leave empty for no section to be linked.&amp;#039;,&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;notice&amp;#039;:&lt;br /&gt;
			var noticeboard = work_area.append({&lt;br /&gt;
				type: &amp;#039;select&amp;#039;,&lt;br /&gt;
				name: &amp;#039;noticeboard&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Noticeboard:&amp;#039;,&lt;br /&gt;
				event: function(e) {&lt;br /&gt;
					if (e.target.value === &amp;#039;afchd&amp;#039;) {&lt;br /&gt;
						Morebits.quickForm.overrideElementLabel(e.target.form.section, &amp;#039;Title of draft (excluding the prefix): &amp;#039;);&lt;br /&gt;
						Morebits.quickForm.setElementTooltipVisibility(e.target.form.section, false);&lt;br /&gt;
					} else {&lt;br /&gt;
						Morebits.quickForm.resetElementLabel(e.target.form.section);&lt;br /&gt;
						Morebits.quickForm.setElementTooltipVisibility(e.target.form.section, true);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			$.each(Twinkle.talkback.noticeboards, function(value, data) {&lt;br /&gt;
				noticeboard.append({&lt;br /&gt;
					type: &amp;#039;option&amp;#039;,&lt;br /&gt;
					label: data.label,&lt;br /&gt;
					value: value,&lt;br /&gt;
					selected: !!data.defaultSelected&lt;br /&gt;
				});&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Linked thread&amp;#039;,&lt;br /&gt;
				tooltip: &amp;#039;The heading of the relevant thread on the noticeboard page.&amp;#039;,&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;other&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;div&amp;#039;,&lt;br /&gt;
				label: &amp;#039;&amp;#039;,&lt;br /&gt;
				style: &amp;#039;color: red&amp;#039;,&lt;br /&gt;
				id: &amp;#039;twinkle-talkback-optout-message&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;page&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Full page name (required)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;quot;The full page name where you left the message. For example: &amp;#039;Wikipedia talk:Twinkle&amp;#039;. Required.&amp;quot;,&lt;br /&gt;
				value: prev_page,&lt;br /&gt;
				required: true&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Linked section (optional)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;#039;The section heading on the page where you left a message. Leave empty for no section to be linked.&amp;#039;,&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;mail&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Subject of email (optional)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;#039;The subject line of the email you sent.&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;see&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;page&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Full page name (required)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;quot;The full page name of where the discussion is being held. For example: &amp;#039;Wikipedia talk:Twinkle&amp;#039;. Required.&amp;quot;,&lt;br /&gt;
				value: prev_page,&lt;br /&gt;
				required: true&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: &amp;#039;Linked section (optional)&amp;#039;,&lt;br /&gt;
				tooltip: &amp;quot;The section heading where the discussion is being held. For example: &amp;#039;Merge proposal&amp;#039;.&amp;quot;,&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (value !== &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		work_area.append({ type: &amp;#039;textarea&amp;#039;, label: &amp;#039;Additional message (optional):&amp;#039;, name: &amp;#039;message&amp;#039;, tooltip: &amp;#039;An additional message that you would like to leave below the talkback template. Your signature will be added to the end of the message if you leave one.&amp;#039; });&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	work_area = work_area.render();&lt;br /&gt;
	root.replaceChild(work_area, old_area);&lt;br /&gt;
	if (root.message) {&lt;br /&gt;
		root.message.value = prev_message;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(&amp;#039;#twinkle-talkback-optout-message&amp;#039;).text(Twinkle.talkback.optout);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.noticeboards = {&lt;br /&gt;
	&amp;#039;an&amp;#039;: {&lt;br /&gt;
		label: &amp;quot;WP:AN (Administrators&amp;#039; noticeboard)&amp;quot;,&lt;br /&gt;
		text: &amp;#039;== &amp;#039; + Twinkle.getPref(&amp;#039;adminNoticeHeading&amp;#039;) + &amp;#039; ==\n&amp;#039; +&lt;br /&gt;
		&amp;quot;{{subst:ANI-notice|thread=$SECTION|noticeboard=Wikipedia:Administrators&amp;#039; noticeboard}} ~~~~&amp;quot;,&lt;br /&gt;
		editSummary: &amp;#039;Notice of discussion at [[Wikipedia:Administrators\&amp;#039; noticeboard]]&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;an3&amp;#039;: {&lt;br /&gt;
		label: &amp;quot;WP:AN3 (Administrators&amp;#039; noticeboard/Edit warring)&amp;quot;,&lt;br /&gt;
		text: &amp;#039;{{subst:An3-notice|$SECTION}} ~~~~&amp;#039;,&lt;br /&gt;
		editSummary: &amp;quot;Notice of discussion at [[Wikipedia:Administrators&amp;#039; noticeboard/Edit warring]]&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;ani&amp;#039;: {&lt;br /&gt;
		label: &amp;quot;WP:ANI (Administrators&amp;#039; noticeboard/Incidents)&amp;quot;,&lt;br /&gt;
		text: &amp;#039;== &amp;#039; + Twinkle.getPref(&amp;#039;adminNoticeHeading&amp;#039;) + &amp;#039; ==\n&amp;#039; +&lt;br /&gt;
		&amp;quot;{{subst:ANI-notice|thread=$SECTION|noticeboard=Wikipedia:Administrators&amp;#039; noticeboard/Incidents}} ~~~~&amp;quot;,&lt;br /&gt;
		editSummary: &amp;#039;Notice of discussion at [[Wikipedia:Administrators\&amp;#039; noticeboard/Incidents]]&amp;#039;,&lt;br /&gt;
		defaultSelected: true&lt;br /&gt;
	},&lt;br /&gt;
	// let&amp;#039;s keep AN and its cousins at the top&lt;br /&gt;
	&amp;#039;afchd&amp;#039;: {&lt;br /&gt;
		label: &amp;#039;WP:AFCHD (Articles for creation/Help desk)&amp;#039;,&lt;br /&gt;
		text: &amp;#039;{{subst:AFCHD/u|$SECTION}} ~~~~&amp;#039;,&lt;br /&gt;
		editSummary: &amp;#039;You have replies at the [[Wikipedia:AFCHD|Articles for Creation Help Desk]]&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;coin&amp;#039;: {&lt;br /&gt;
		label: &amp;#039;WP:COIN (Conflict of interest noticeboard)&amp;#039;,&lt;br /&gt;
		text: &amp;#039;{{subst:Coin-notice|thread=$SECTION}} ~~~~&amp;#039;,&lt;br /&gt;
		editSummary: &amp;#039;Notice of discussion at [[Wikipedia:Conflict of interest noticeboard]]&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;drn&amp;#039;: {&lt;br /&gt;
		label: &amp;#039;WP:DRN (Dispute resolution noticeboard)&amp;#039;,&lt;br /&gt;
		text: &amp;#039;{{subst:DRN-notice|thread=$SECTION}} ~~~~&amp;#039;,&lt;br /&gt;
		editSummary: &amp;#039;Notice of discussion at [[Wikipedia:Dispute resolution noticeboard]]&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;hd&amp;#039;: {&lt;br /&gt;
		label: &amp;#039;WP:HD (Help desk)&amp;#039;,&lt;br /&gt;
		text: &amp;#039;== Your question at the Help desk ==\n&amp;#039; + &amp;#039;{{helpdeskreply|1=$SECTION|ts=~~~~~}}&amp;#039;,&lt;br /&gt;
		editSummary: &amp;#039;You have replies at the [[Wikipedia:Help desk|Wikipedia help desk]]&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;th&amp;#039;: {&lt;br /&gt;
		label: &amp;#039;WP:THQ (Teahouse question forum)&amp;#039;,&lt;br /&gt;
		text: &amp;quot;== Teahouse talkback: you&amp;#039;ve got messages! ==\n{{WP:Teahouse/Teahouse talkback|WP:Teahouse/Questions|$SECTION|ts=~~~~}}&amp;quot;,&lt;br /&gt;
		editSummary: &amp;#039;You have replies at the [[Wikipedia:Teahouse/Questions|Teahouse question board]]&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;otrs&amp;#039;: {&lt;br /&gt;
		label: &amp;#039;WP:OTRS/N (OTRS noticeboard)&amp;#039;,&lt;br /&gt;
		text: &amp;#039;{{OTRSreply|1=$SECTION|2=~~~~}}&amp;#039;,&lt;br /&gt;
		editSummary: &amp;#039;You have replies at the [[Wikipedia:OTRS noticeboard|OTRS noticeboard]]&amp;#039;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.evaluate = function(e) {&lt;br /&gt;
	var form = e.target;&lt;br /&gt;
	var tbtarget = form.getChecked(&amp;#039;tbtarget&amp;#039;)[0];&lt;br /&gt;
	var page, message;&lt;br /&gt;
	var section = form.section.value;&lt;br /&gt;
&lt;br /&gt;
	var editSummary;&lt;br /&gt;
	if (tbtarget === &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		page = form.noticeboard.value;&lt;br /&gt;
		editSummary = Twinkle.talkback.noticeboards[page].editSummary;&lt;br /&gt;
	} else {&lt;br /&gt;
&lt;br /&gt;
		// usertalk, other, see&lt;br /&gt;
		page = form.page ? form.page.value : mw.config.get(&amp;#039;wgUserName&amp;#039;);&lt;br /&gt;
		if (form.message) {&lt;br /&gt;
			message = form.message.value.trim();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (tbtarget === &amp;#039;mail&amp;#039;) {&lt;br /&gt;
			editSummary = &amp;quot;Notification: You&amp;#039;ve got mail&amp;quot;;&lt;br /&gt;
		} else if (tbtarget === &amp;#039;see&amp;#039;) {&lt;br /&gt;
			editSummary = &amp;#039;Please check the discussion at [[:&amp;#039; + page + (section ? &amp;#039;#&amp;#039; + section : &amp;#039;&amp;#039;) + &amp;#039;]]&amp;#039;;&lt;br /&gt;
		} else {  // tbtarget one of mytalk, usertalk, other&lt;br /&gt;
			editSummary = &amp;#039;Talkback ([[:&amp;#039;;&lt;br /&gt;
			if (tbtarget !== &amp;#039;other&amp;#039; &amp;amp;&amp;amp; !/^\s*user talk:/i.test(page)) {&lt;br /&gt;
				editSummary += &amp;#039;User talk:&amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
			editSummary += page + (section ? &amp;#039;#&amp;#039; + section : &amp;#039;&amp;#039;) + &amp;#039;]])&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	var text = &amp;#039;\n\n&amp;#039; + Twinkle.talkback.getNoticeWikitext(tbtarget, page, section, message);&lt;br /&gt;
&lt;br /&gt;
	Morebits.simpleWindow.setButtonsEnabled(false);&lt;br /&gt;
	Morebits.status.init(form);&lt;br /&gt;
&lt;br /&gt;
	var fullUserTalkPageName = mw.config.get(&amp;#039;wgFormattedNamespaces&amp;#039;)[mw.config.get(&amp;#039;wgNamespaceIds&amp;#039;).user_talk] + &amp;#039;:&amp;#039; + mw.config.get(&amp;#039;wgRelevantUserName&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	Morebits.wiki.actionCompleted.redirect = fullUserTalkPageName;&lt;br /&gt;
	Morebits.wiki.actionCompleted.notice = &amp;#039;Talkback complete; reloading talk page in a few seconds&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var talkpage = new Morebits.wiki.page(fullUserTalkPageName, &amp;#039;Adding talkback&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	talkpage.setAppendText(text);&lt;br /&gt;
	talkpage.setEditSummary(editSummary + Twinkle.getPref(&amp;#039;summaryAd&amp;#039;));&lt;br /&gt;
	talkpage.setCreateOption(&amp;#039;recreate&amp;#039;);&lt;br /&gt;
	talkpage.setMinorEdit(Twinkle.getPref(&amp;#039;markTalkbackAsMinor&amp;#039;));&lt;br /&gt;
	talkpage.setFollowRedirect(true);&lt;br /&gt;
	talkpage.append();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.preview = function(form) {&lt;br /&gt;
	var tbtarget = form.getChecked(&amp;#039;tbtarget&amp;#039;)[0];&lt;br /&gt;
	var section = form.section.value;&lt;br /&gt;
	var page, message;&lt;br /&gt;
&lt;br /&gt;
	if (tbtarget === &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		page = form.noticeboard.value;&lt;br /&gt;
	} else {&lt;br /&gt;
		// usertalk, other, see&lt;br /&gt;
		page = form.page ? form.page.value : mw.config.get(&amp;#039;wgUserName&amp;#039;);&lt;br /&gt;
		if (form.message) {&lt;br /&gt;
			message = form.message.value.trim();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var noticetext = Twinkle.talkback.getNoticeWikitext(tbtarget, page, section, message);&lt;br /&gt;
	form.previewer.beginRender(noticetext, &amp;#039;User_talk:&amp;#039; + mw.config.get(&amp;#039;wgRelevantUserName&amp;#039;)); // Force wikitext/correct username&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.getNoticeWikitext = function(tbtarget, page, section, message) {&lt;br /&gt;
	var text;&lt;br /&gt;
	if (tbtarget === &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		text = Morebits.string.safeReplace(Twinkle.talkback.noticeboards[page].text, &amp;#039;$SECTION&amp;#039;, section);&lt;br /&gt;
	} else if (tbtarget === &amp;#039;see&amp;#039;) {&lt;br /&gt;
		text = &amp;#039;{{subst:Please see|location=&amp;#039; + page + (section ? &amp;#039;#&amp;#039; + section : &amp;#039;&amp;#039;) + &amp;#039;|more=&amp;#039; + message.trim() + &amp;#039;}}&amp;#039;;&lt;br /&gt;
	} else {&lt;br /&gt;
		text = &amp;#039;==&amp;#039;;&lt;br /&gt;
		if (tbtarget === &amp;#039;mail&amp;#039;) {&lt;br /&gt;
			text += Twinkle.getPref(&amp;#039;mailHeading&amp;#039;) + &amp;#039;==\n&amp;#039; + &amp;quot;{{You&amp;#039;ve got mail|subject=&amp;quot; + section;&lt;br /&gt;
		} else {  // tbtarget one of mytalk, usertalk, other&lt;br /&gt;
			// clean talkback heading: strip section header markers that were erroneously suggested in the documentation&lt;br /&gt;
			text += Twinkle.getPref(&amp;#039;talkbackHeading&amp;#039;).replace(/^\s*=+\s*(.*?)\s*=+$\s*/, &amp;#039;$1&amp;#039;) +&lt;br /&gt;
				&amp;#039;==\n&amp;#039; + &amp;#039;{{talkback|&amp;#039; + page + (section ? &amp;#039;|&amp;#039; + section : &amp;#039;&amp;#039;);&lt;br /&gt;
		}&lt;br /&gt;
		text += &amp;#039;|ts=~~~~~}}&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
		if (message) {&lt;br /&gt;
			text += &amp;#039;\n&amp;#039; + message + &amp;#039;  ~~~~&amp;#039;;&lt;br /&gt;
		} else if (Twinkle.getPref(&amp;#039;insertTalkbackSignature&amp;#039;)) {&lt;br /&gt;
			text += &amp;#039;\n~~~~&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return text;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>en&gt;Amorymeltzer</name></author>
	</entry>
</feed>