User:Diriector Doc/sandbox/Scripts/DiscussionTools.js

// const imgDataURI = { signature: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+c2lnbmF0dXJlPC90aXRsZT48cGF0aCBkPSJNMCAxOGgyMHYxSDB6bS0uMDAzLTYuMTU1bDEuMDYtMS4wNiA0LjM2MyA0LjM2Mi0xLjA2IDEuMDZ6Ii8+PHBhdGggZD0iTS4wMDQgMTUuMTQ3bDQuMzYzLTQuMzYzIDEuMDYgMS4wNjEtNC4zNjIgNC4zNjN6TTE3IDVjMCA5LTExIDktMTEgOXYtMS41czggLjUgOS41LTYuNUMxNiA0IDE1IDIuNSAxNCAyLjVTMTEgNCAxMC43NSAxMGMtLjA4IDIgLjc1IDQuNSAzLjI1IDQuNSAxLjUgMCAyLTEgMy41LTFhMi4wNyAyLjA3IDAgMDEyLjI1IDIuNWgtMS41cy4xMy0xLS41LTFDMTYgMTUgMTYgMTYgMTQgMTZjMCAwLTQuNzUgMC00Ljc1LTZTMTIgMSAxNCAxYy41IDAgMyAwIDMgNHoiLz48L3N2Zz4=", clock: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iNS4yOTE2NjY1bW0iCiAgIGhlaWdodD0iNS4yOTE2NjY1bW0iCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjQgKDVkYTY4OWMzMTMsIDIwMTktMDEtMTQpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjbG9jay5zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0iYmFzZSIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyMi42Mjc0MTciCiAgICAgaW5rc2NhcGU6Y3g9IjEwLjAzNDUzMiIKICAgICBpbmtzY2FwZTpjeT0iNy44Mjk0NDg4IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIHVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE2MDAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODM3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIgLz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC0yOTEuNzA4MzIpIj4KICAgIDxjaXJjbGUKICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjYxNjc5Mjk4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtwYWludC1vcmRlcjpmaWxsIG1hcmtlcnMgc3Ryb2tlIgogICAgICAgaWQ9InBhdGgxMzY2IgogICAgICAgY3g9IjIuNjQ1ODMzNSIKICAgICAgIGN5PSIyOTQuMzU0MTYiCiAgICAgICByPSIyLjMzNzQzNjkiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiMwMTAxMDE7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuMDI0MTEyNDY7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO3BhaW50LW9yZGVyOmZpbGwgbWFya2VycyBzdHJva2UiCiAgICAgICBkPSJNIDEzLjY5NzI2Niw0LjE5NTMxMjUgOS43NjU2MjUsOS4wODAwNzgxIDQuNzk4ODI4MSw2LjczNjMyODEgNC4xNTgyMDMxLDguMDkzNzUgYyAyLjAwMjY5NTIsMC45NDU3Njk2IDQuMDA3MzMyNCwxLjg4NzQ2MTkgNi4wMDc4MTE5LDIuODM3ODkgMS42MDk1MTgsLTEuODk1NTQ4NSAzLjE0MDAyLC0zLjg1OTQwNzMgNC42OTkyMTksLTUuNzk2ODc0NCB6IgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNjQ1ODMzMywwLDAsMC4yNjQ1ODMzMywwLDI5MS43MDgzMikiCiAgICAgICBpZD0icmVjdDEzOTYiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDwvZz4KPC9zdmc+Cg==", calligraphy: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIwIgogICBoZWlnaHQ9IjIwIgogICB2aWV3Qm94PSIwIDAgMjAgMjAiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzgiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImRvd25sb2FkLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi40ICg1ZGE2ODljMzEzLCAyMDE5LTAxLTE0KSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTQiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMxMiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE2MDAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODM3IgogICAgIGlkPSJuYW1lZHZpZXcxMCIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMTEuOCIKICAgICBpbmtzY2FwZTpjeD0iMTAiCiAgICAgaW5rc2NhcGU6Y3k9IjEwIgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmc4IiAvPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTIiPnNpZ25hdHVyZTwvdGl0bGU+CiAgPHBhdGgKICAgICBkPSJNIDExLjQ2ODA3NywwIEMgOC44MDE0MzI1LDAgNS4xMzQ3OTY3LDQgNS4xMzQ3OTY3LDEyIGMgMCwxLjA2NTkxNyAwLjExNzU5MTUsMS45ODA0NTUgMC4zMTI0OTc0LDIuNzgxMjUxIEMgMi45MjE2MjEsMTUuNDYwNTAyIDAuODAxNSwxNS4zMzMzMzQgMC44MDE1LDE1LjMzMzMzNCB2IDIgYyAwLDAgMi40MTM0NzA2LC0wLjAxNTQ5IDUuMjc1OTk3LC0wLjgxMjUwMSBDIDcuODQxMDEzOSwxOS45OTI4NzMgMTEuNDY4MDc3LDIwIDExLjQ2ODA3NywyMCAxNC4xMzQ3MiwyMCAxNC4xMzQ3MiwxOC42NjY2NjcgMTYuNDY4MDM0LDE4LjY2NjY2NyAxNy4zMDgwMjgsMTguNjY2NjY3IDE3LjEzNDY5NiwyMCAxNy4xMzQ2OTYsMjAgaCAxLjk5OTk4MiBBIDIuNzU5OTc2NywyLjc2IDAgMCAwIDE2LjEzNDcwNCwxNi42NjY2NjcgQyAxNC4xMzQ3MiwxNi42NjY2NjcgMTMuNDY4MDU5LDE4IDExLjQ2ODA3NywxOCA5Ljc1NDU2MDMsMTggOC42MzcyNTM5LDE3LjExNDE3IDcuOTYyODk4MiwxNS44OTU4MzQgMTEuNjg2MjYzLDE0LjQxOTc4MiAxNS40NjgwNDIsMTEuNDI3NjcxIDE1LjQ2ODA0Miw1LjMzMzMzMzMgMTUuNDY4MDQyLDAgMTIuMTM0NzM3LDAgMTEuNDY4MDc3LDAgWiBtIDAsMiBDIDEyLjgwMTM5OSwyIDE0LjEzNDcyLDQgMTMuNDY4MDU5LDYuNjY2NjY2NiAxMi41NzQxNjYsMTAuODM4MjA0IDkuOTQ5OTY1NCwxMy4wMDQxOTYgNy4zMTk2NzQzLDE0LjEzMjgxMyA3LjE2NzIzODIsMTMuNDIyODE0IDcuMTA3MTc4OCwxMi42OTAwMjcgNy4xMzQ3Nzk5LDEyIDcuNDY4MTEwMyw0IDEwLjEzNDc1NCwyIDExLjQ2ODA3NywyIFoiCiAgICAgaWQ9InBhdGg2IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9InN0cm9rZS13aWR0aDoxLjMzMzMyNzc3IiAvPgo8L3N2Zz4K" }; importScript("User:Diriector Doc/sandbox/Scripts/DialogBox.js");

var customizeToolbar = function{ //Sometimes, this script loads before window.Forms does. If this happens, the script will reload (catch) try{ Forms = window.Forms; dialogBox = window.dialogBox; //upon difinition, "new dialogBox" will at itself to Forms.Templates so there is no need co create a variable for it. new dialogBox("Discussion", "disc",		[		{"field": "Result"}		],		[],		(function{ let result = Forms.getCompletedForm.all.result; return { pre: "" + result:"") + "",				post: '\n'			};		}) );		let atopBox = function(name, short){			new dialogBox(name, short, [			{"field": "Result"}, {"field": "Status", "tooltip": "status-tooltip"} ],			[],			(function{				let fields = Forms.getCompletedForm.all;				return {					pre: "\n",					post: '\n'				};			}) );		};		atopBox("Archive Top", "atop");		atopBox("Archive Top Red", "atopr");		atopBox("Archive Top Green", "atopg");		atopBox("Archive Top Yellow", "atopy");		new dialogBox("Poll", "pot", [		{"field": "Result"}, {"field": "Type", "tooltip": "poll-type-tooltip"} ],		[],		(function{			let fields = Forms.getCompletedForm.all;			return {				pre: "\n",				post: '\n'			};		}) );		new dialogBox("RM", "rm", [		{"field": "Result"}, {"field": "NAC", "tooltip": "nac-tooltip", "type":2}, {"field": "PMC", "tooltip": "pmc-tooltip", "type":2} ],		[],		(function{			let fields = Forms.getCompletedForm.all;			return {				pre: "\n",				post: '\n'			};		}) );		new dialogBox("Closed rfc top", "rfc", [		{"field": "Reason"} ],		[],		(function{			let result = Forms.getCompletedForm.all.result;			return {				pre: "" + result:"") + "", post: '\n' };		})		);		new dialogBox("Collapse", "col",		[		{"field": "Title"}		],		[		{"field": "Warning", "tooltip": "col-warning-tooltip", "type":2},		{"field": "Collapsed", "tooltip": "col-collapse-tooltip", "type":2}		],		(function{ let content = "{{Collapse top"; let fields = Forms.getCompletedForm; if(!jQuery.isEmptyObject(fields.all)){ content += (fields.basic.title ? "\n| result = " + fields.basic.title:""); content += (fields.extra.warning ? "\n| warning = yes":""); content += (fields.extra.collapsed ? "\n| collapse = yes":""); content += "\n"; }			return { pre: content + "}}\n", post: '\n' };		})		);		new dialogBox("Hidden", "hat",		[		{"field": "Reason", "tooltip": "hat-sign-tooltip"},		{"field": "Closer", "tooltip": "hat-closer-tooltip"},		{"field": "Collapse", "tooltip": "col-collapse-tooltip"}		],		[],		(function{ let content = "{{Collapse top"; let fields = Forms.getCompletedForm.all; if(!jQuery.isEmptyObject(fields)){ content += (fields.reason ? "\n| reason = " + fields.reason:""); content += (fields.closer ? "\n| closer = " + fields.basic.status:""); content += (fields.collapsed ? "\n| collapse = yes":""); content += "\n"; }			return { pre: content + "}}\n", post: '\n' };		})		);		//Now that I have designed the dialog boxs, I need to turn them into availible modules Forms.init; } catch(e) { //This reloads the script after 500ms in order to correctly grab window.Forms when it loads setTimeout(customizeToolbar, 500); return; }	//Adding a new dropdown section to the toolbar $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {		'sections': {			'discussion': {				'type': 'toolbar',				'label': 'Discussion'			}		}	}); //Adding a news sections to the new dropdown toolbar $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {		'section': 'discussion',		'groups': {			'signing': {				//'labelMsg': 'group-signing-label'			},			'pinging': {				'label': 'Pinging'			},			'archiving': {				'label': 'Archiving'			},			'editRequests': {				'label': 'Edit Request'			}		}	}); //Adding buttons to the "signing" section $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {		'section': 'discussion',		'group': 'signing',		'tools': {			'sigAndTime': {				label: 'Signature and timestamp',				type: 'button',				icon: imgDataURI.signature,				action: {					type: 'encapsulate',					options: {						pre: "--" + ""					}				}			},			'justTime': {				label: 'Just timestamp',				type: 'button',				icon: imgDataURI.clock,				action: {					type: 'encapsulate',					options: {						pre: "" + "~" + ""					}				}			},			'justSig': {				label: 'Just signature',				type: 'button',				icon: imgDataURI.calligraphy,				action: {					type: 'encapsulate',					options: {						pre: "--" + "~"					}				}			}		}	}); //Adding dropdown to the "pinging" section $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {		'section': 'discussion',		'group': 'pinging',		'tools': {			'pingSelect': {				label: 'Templates',				type: 'select',				list: {					'Ping-button': {						label: ,						action: {							type: 'encapsulate',							options: {								pre: 							}						}					},					'Reply_to-button': {						label: ,						action: {							type: 'encapsulate',							options: {								pre: 							}						}					},					'Hidden_ping-button': {						label: ,						action: {							type: 'encapsulate',							options: {								pre: 							}						}					},					'To-button': {						label: ,						action: {							type: 'encapsulate',							options: {								pre: 							}						}					},					'User_link-button': {						label: ,						action: {							type: 'encapsulate',							options: {								pre: ,								post: 							}						}					},					'No_ping-button': {						label: , action: { type: 'encapsulate', options: { pre: '' }						}					}				}			}		}	});	//Adding drop-down to the "archiving" section	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'discussion', 'group': 'archiving', 'tools': { 'archiveSelect': { label: 'Templates', type: 'select', list: { 'Archive-button': { label: '', action: { type: 'dialog', module: 'dialog-atop' }					},					'Discussion-button': { label: '', action: { type: 'dialog', module: 'dialog-disc' }					},					'Poll-button': { label: '', action: { type: 'dialog', module: 'dialog-pot' }					},					'Collapse-button': { label: '', action: { type: 'dialog', module: 'dialog-col' }					},					'Hidden_archive-button': { label: '', action: { type: 'dialog', module: 'dialog-hat' }					},					'Closed_RFC-button': { label: '', action: { type: 'dialog', module: 'dialog-rfc' }					},					'RM-button': { label: '', action: { type: 'dialog', module: 'dialog-rm' }					},					'Archive_r-button': { label: ' (red)', action: { type: 'dialog', module: 'dialog-atopr' }					},					'Archive_g-button': { label: ' (green)', action: { type: 'dialog', module: 'dialog-atopg' }					},					'Archive_y-button': { label: ' (yellow)', action: { type: 'dialog', module: 'dialog-atopy' }					}				}			}		}	});	//Adding drop-down to the "edit request" section	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'discussion', 'group': 'editRequests', 'tools': { 'pingSelect': { label: 'Templates', type: 'select', list: { 'FPER': { label: '', action: { type: 'encapsulate', options: { pre: '' }						}					},					'SPER': { label: '', action: { type: 'encapsulate', options: { pre: '' }						}					},					'EPER': { label: '', action: { type: 'encapsulate', options: { pre: '' }						}					},					'TPER': { label: '', action: { type: 'encapsulate', options: { pre: '' }						}					},					'IPER': { label: '', action: { type: 'encapsulate', options: { pre: '' }						}					},					'edit': { label: '', action: { type: 'encapsulate', options: { pre: '' }						}					},					'move':{ label: '', action: { type: 'encapsulate', options: { pre: '', post: ' \n\n' }						}					}				}			}		}	});	mw.usability.addMessages({ "status-tooltip": "Possible values: resolved, withdrawn, moved, or none", "poll-type-tooltip": "Used when it is not a move proposal", "nac-tooltip": 'Indicates a non-admin closure (overrides PMC)', "pmc-tooltip": 'Indicates a page mover closure', "col-warning-tooltip": 'Cheching this will add the "Do not modify" warning', "col-collapse-tooltip": 'Cheching this will set the default state to "collapsed"', "hat-sign-tooltip": 'Be sure to sign closure statement (' + '), else use the |closer= parameter', "hat-closer-tooltip": "Name of user who closed discussion, not a signature", "wikieditor-toolbar-tool-atop-title": "Archive Top", "wikieditor-toolbar-tool-atopr-title": "Archive Top (Red)", "wikieditor-toolbar-tool-atopg-title": "Archive Top (Green)", "wikieditor-toolbar-tool-atopy-title": "Archive Top (Yellow)", "wikieditor-toolbar-tool-col-title": "Collapse Top", "wikieditor-toolbar-tool-disc-title": "Discussion Top", "wikieditor-toolbar-tool-hat-title": "Hidden Archive", "wikieditor-toolbar-tool-pot-title": "Poll Top", "wikieditor-toolbar-tool-rfc-title": "Rfc Top", "wikieditor-toolbar-tool-rm-title": "RM Top" }); };

/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */ if(['edit', 'submit'].indexOf(mw.config.get('wgAction')) !== -1){ /*	* Will only procede if in one of these namespaces: ** *Talk			1 ** *User			2 ** *User talk		3 ** *Wikipedia		4 ** *Wikipedia talk	5 ** *File talk		7 ** *MediaWiki talk	9 ** *Template talk	11 ** *Help talk		13 ** *Category talk	15 ** *Portal talk		101 ** *Draft talk		119 ** *Module talk 	829 * Basically only pages with discussions going on	*/ if([1, 2, 3, 4, 5, 7, 9, 11, 13, 15, 101, 119, 829].some(function(e){return mw.config.get('wgNamespaceNumber') == e})){ let pagename = mw.config.get('wgPageName'); /* Will only procede if not in not using code editor (hopefully) */ if(!((pagename.substr(pagename.length - 3) === ".js" || pagename.substr(pagename.length - 4) === ".css") && mw.config.get('wgNamespaceNumber') % 2 === 0)){ mw.loader.using('user.options').then(function{				// This can be the string "0" if the user disabled the preference (T54542)				if(mw.user.options.get('usebetatoolbar') == 1){					$.when(mw.loader.using('ext.wikiEditor'), $.ready).then(customizeToolbar);				}			}); }	} } //