User:Ricordisamoa/StreamDelete.js

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* <nowiki>
 * StreamDelete.js by [[User:Ricordisamoa]]
 * uses jQuery & Ajax
 *
 * new-concept Deletion Requests on Wikidata!
*/
$(document).ready(function(){
	if(mw.config.get("wgNamespaceNumber")!=0) return;
	$(mw.util.addPortletLink("p-cactions","#","Request StreamDeletion","streamdelete-nominate","Request for this item to be stream-deleted"))
	.click(function(event){
		event.preventDefault();
		$("<div>")
		.append(
			$("<label>")
			.text("Duplicate of / merged with: ")
			.append(
				$("<input>")
				.val("Q")
				.autocomplete({
					source:function(request,response){
						$.get(
							mw.util.wikiScript("api"),
							{
								action:"query",
								format:"json",
								list:"allpages",
								aiprop:"",
								aifrom:request.term
							},
							function(data){
								response($.map(data.query.allpages,function(e){
									return e.title;
								}));
							}
						);
					}
				})
			)
		)
		.append("<br/>")
		.append(
			$("<label>")
			.text("Additional reason: ")
			.append(
				$("<input>")
			)
		)
		.dialog({
			title:"StreamDelete RfD",
			buttons:{
				"Cancel":function(){
					$(this).dialog("close");
				},
				"Proceed":function(){
					var input=$(this).dialog("widget").find("input").first();
					if(input.val()=="") return;
					$(this).dialog("close");
					$.post(
						mw.util.wikiScript("api"),
						{
							action:"edit",
							appendtext:"\n{{/row|"+mw.config.get("wgPageName").replace(/^Q/i,"")+"|to="+input.val().replace(/^Q/i,"")+"}}",
							title:"User:Ricordisamoa/StreamDelete",
							summary:"[[User:Ricordisamoa/StreamDelete|nominating]] [["+input.val()+"]] for deletion",
							token:mw.user.tokens.get("editToken")
						}
					)
					.done(function(data){
						jsMsg("Item nominated!");
						setTimeout(function(){document.location.href=mw.util.getUrl("User:Ricordisamoa/StreamDelete");},2500);
					})
					.fail(function(){
						jsMsg("The ajax request failed.");
					});
				}
			}
		});
	});
});
/* </nowiki> */