Jump to content

User:Kharkiv07/sandbox.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Kharkiv07 (talk | contribs) at 22:47, 30 October 2015 (Reverted to revision 688281314 by Kharkiv07 (talk): Restoring to last working version. (TW)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
mw.loader.using( ['mediawiki.util', 'mediawiki.api', 'jquery.ui.dialog'], function () {
	if (mw.config.get('wgNamespaceNumber') == 2 && 
	mw.config.get('wgTitle') == ('Kharkiv07/sandbox2')) {
		$(document).ready( function () {
			mw.util.addPortletLink( 'p-cactions', '#', 'Open', 'ca-openCase', 'Open case' );	
		} );
		
	openCase = {};
	var cases = []; var ev, wk, pd = "";
	var rarbs = []; var iarbs = [];
	var arbs = ["AGK", "Courcelles", "DGG", "DeltaQuad", "Doug Weller", "Euryalus",
	"GorillaWarfare", "Guerillero", "LFaraone", "NativeForeigner", "Roger Davies", 
	"Salvio giuliano", "Seraphimblade", "Thryduulf", "Yunshui"];
	var oname = ""; var clerk1 = "";
	var clerk2 = ""; var clerk3 = "";
	var drafter1 = ""; var drafter2 = "";
	var drafter3 = ""; var nname = "";
	
			openCase.startopen = function() {
								
				for (var i=0; i<15; i++) {
					if($('#iarb' + i).prop('checked') === true) {
						iarbs.push(arbs[i]);
					}
				}
				
				for (var n=0; n<15; n++) {
					if($('#rarb' + i).prop('checked') === true) {
						rarbs.push(arbs[i]);
					}
				}
				
			var nname = $('#nname').val(); var clerk1 = $('#clerk1').val();
			var clerk2 = $('#clerk2').val(); var clerk3 = $('#clerk3').val();
			var drafter1 = $('#drafter1').val(); var drafter2 = $('#drafter2').val();
			var drafter3 = $('#drafter3').val(); var ev = $('#evidence').val();
			var wk = $('#workshop').val(); var pd = $('#pd').val();
			
			if($('#case0').prop('checked') === true) {
				var oname = cases[0]
			}
			else if($('#case1').prop('checked') === true) {
				var oname = cases[1]
			}
			else if($('#case2').prop('checked') === true) {
				var oname = cases[2]
			}
			else if($('#case3').prop('checked') === true) {
				var oname = cases[3]
			}
			else if($('#case4').prop('checked') === true) {
				var oname = cases[4]
			}
			params = {
				'action':'tokens',
				'type':'edit'
			}
			openCase.api.get(params)
			.done ( function (data) {
				openCase.token = data['tokens']['edittoken'];
			})
			
			params = {
				'action':'edit',
				'format':'json',
				'pageid':'47446978',
				'summary':'Opening ' + nname,
				'sectiontitle':oname,
				'watchlist':'watch',
				'text':'',
				'token':openCase.token,
			}
			openCase.api.get(params)
			.done ( function (data) {
			});
			
			}
	
			openCase.confirm = function() {
				
				for (var i=0; i<15; i++) {
					if($('#iarb' + i).prop('checked') === true) {
						iarbs.push(arbs[i]);
					}
				}
				
				for (var n=0; n<15; n++) {
					if($('#rarb' + i).prop('checked') === true) {
						rarbs.push(arbs[i]);
					}
				}
				
			var nname = $('#nname').val(); var clerk1 = $('#clerk1').val();
			var clerk2 = $('#clerk2').val(); var clerk3 = $('#clerk3').val();
			var drafter1 = $('#drafter1').val(); var drafter2 = $('#drafter2').val();
			var drafter3 = $('#drafter3').val(); var ev = $('#evidence').val();
			var wk = $('#workshop').val(); var pd = $('#pd').val();
			
			if($('#case0').prop('checked') === true) {
				var oname = cases[0]
			}
			else if($('#case1').prop('checked') === true) {
				var oname = cases[1]
			}
			else if($('#case2').prop('checked') === true) {
				var oname = cases[2]
			}
			else if($('#case3').prop('checked') === true) {
				var oname = cases[3]
			}
			else if($('#case4').prop('checked') === true) {
				var oname = cases[4]
			}
			
			$('#bodyContent').before('<div id="openCase-dialog4" style="width:400px;display:none;">' +
			'<div style="float:left; width:150px; padding-bottom:1%;">'+ '<b>Case to be opened</b>: ' + oname + '<br/>' +
			'<b>New case name:</b> ' + nname + '<br/>' + '<b>First clerk</b>: ' + clerk1 + '<br/>' + '<b>Second clerk</B>: ' + clerk2 + '<br/>' +
			'<b>Third clerk:</b> ' + clerk3 + '<br/>' + '<b>First drafter:</b> ' + drafter1 + '<br/>' + '<b>Second drafter:</b> ' + drafter2 + '<br/>' +
			'<b>Third drafter:</b> ' + drafter3 + '<br/>' + '</div>' +
			'<div style="float:right; width:150px; padding-bottom:1%;">'+ '<b>Evidence closes:</b> ' + ev + '<br/>' +
			'<b>Workshop closes:</b> ' + wk + '<br/>' + '<b>Proposed decision closes:</b> ' + pd + '<br/>' +
			'<b>Inactive arbitrators:</b> ' + iarbs + '<br/>' + '<b>Recused arbitrators:</b> ' + rarbs + '<br/>' +
			'</div>')
			
			$("#openCase-dialog4").show().dialog( { title: "Open a case",
			width: 375,
			buttons: [ { text: "Confirm", click: openCase.startopen}, 
			{ text: "Cancel", click: function() {
				$(this).dialog("close")
				} }]
			} )}
	
			openCase.step2 = function() {
			$('#iarb0').prop('disabled', true); $('#iarb1').prop('disabled', true); $('#iarb2').prop('disabled', true);
			$('#iarb3').prop('disabled', true); $('#iarb4').prop('disabled', true); $('#iarb5').prop('disabled', true);
			$('#iarb6').prop('disabled', true); $('#iarb7').prop('disabled', true); $('#iarb8').prop('disabled', true);
			$('#iarb9').prop('disabled', true); $('#iarb10').prop('disabled', true); $('#iarb11').prop('disabled', true);
			$('#iarb12').prop('disabled', true); $('#iarb13').prop('disabled', true); $('#iarb14').prop('disabled', true);
			
			$('#rarb0').prop('disabled', true); $('#rarb1').prop('disabled', true); $('#rarb2').prop('disabled', true);
			$('#rarb3').prop('disabled', true); $('#rarb4').prop('disabled', true); $('#rarb5').prop('disabled', true);
			$('#rarb6').prop('disabled', true); $('#rarb7').prop('disabled', true); $('#rarb8').prop('disabled', true);
			$('#rarb9').prop('disabled', true); $('#rarb10').prop('disabled', true); $('#rarb11').prop('disabled', true);
			$('#rarb12').prop('disabled', true); $('#rarb13').prop('disabled', true); $('#rarb14').prop('disabled', true);
			
			$('#bodyContent').before('<div id="openCase-dialog3" style="width:400px;display:none;">' +
			'<div style="float:left; width:150px; padding-bottom:1%;">'+
			'Inactive arbs:' + '<br/>' +
			'<input type="checkbox" name="open" id="iarb0" /><label for="iarb0">'+'AGK'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb1" /><label for="iarb1">'+'Courcelles'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb2" /><label for="iarb2">'+'DGG'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb3" /><label for="iarb3">'+'DeltaQuad'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb4" /><label for="iarb4">'+'Doug Weller'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb5" /><label for="iarb5">'+'Euryalus'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb6" /><label for="iarb6">'+'GorillaWarfare'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb7" /><label for="iarb7">'+'Guerillero'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb8" /><label for="iarb8">'+'LFaraone'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb9" /><label for="iarb9">'+'NativeForeigner'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb10" /><label for="iarb10">'+'Roger Davies'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb11" /><label for="iarb11">'+'Salvio giuliano'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb12" /><label for="iarb12">'+'Seraphimblade'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb13" /><label for="iarb13">'+'Thryduulf'+'</label><br />'+
			'<input type="checkbox" name="open" id="iarb14" /><label for="iarb14">'+'Yunshui'+'</label><br />'+ '</div>' +
			
			'<div style="float:right"; width:150px; padding-bottom:1%;">' +
			'Recused arbs:' + '<br/>' +
			'<input type="checkbox" name="open" id="rarb0" /><label for="rarb1">'+'AGK'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb1" /><label for="rarb2">'+'Courcelles'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb2" /><label for="rarb3">'+'DGG'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb3" /><label for="rarb4">'+'DeltaQuad'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb4" /><label for="rarb5">'+'Doug Weller'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb5" /><label for="rarb6">'+'Euryalus'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb6" /><label for="rarb7">'+'GorillaWarfare'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb7" /><label for="rarb8">'+'Guerillero'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb8" /><label for="rarb9">'+'LFaraone'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb9" /><label for="rarb10">'+'NativeForeigner'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb10" /><label for="rarb11">'+'Roger Davies'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb11" /><label for="rarb12">'+'Salvio giuliano'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb12" /><label for="rarb13">'+'Seraphimblade'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb13" /><label for="rarb14">'+'Thryduulf'+'</label><br />'+
			'<input type="checkbox" name="open" id="rarb14" /><label for="rarb15">'+'Yunshui'+'</label><br />'+
			'</div>')
			
			$("#openCase-dialog3").show().dialog( { title: "Open a case",
			width: 300,
			buttons: [ { text: "Next", click: openCase.confirm}, 
			{ text: "Cancel", click: function() {
				$(this).dialog("close")
				} }]
			} )}

			openCase.start = function() {
			
			$('#bodyContent').before('<div id="openCase-dialog2" style="width:400px;display:none;">'+
			'<div style="float:left; width:150px; padding-bottom:1%;">'+
			'<input type="text" name="New case name" id="nname"/><label for="nname">New case name</label><br/>'+
			'<input type="date" name="Date of evidence closure" id="evidence"/><label for="evidence">Date of evidence closure</lable><br/>'+
			'<input type="date" name="Date of workshop closure" id="workshop"/><label for="workshop">Date of workshop closure</lable><br/>'+
			'<input type="date" name="Date of proposed decision closure" id="pd"/><label for="pd">Date of proposed decision closure</lable><br/>'+
			'<input type="text" name="clerk1" id="clerk1"/><label for="clerk1">First clerk</lable><br/>'+
			'<input type="text" name="clerk2" id="clerk2"/><label for="clerk2">Second clerk</lable><br/>'+
			'<input type="text" name="clerk3" id="clerk1"/><label for="clerk1">Third clerk</lable><br/>'+
			'<input type="text" name="drafter1" id="drafter1"/><label for="drafter1">First drafter</lable><br/>'+
			'<input type="text" name="drafter2" id="drafter2"/><label for="drafter2">Second drafter</lable><br/>'+
			'<input type="taxt" name="drafter3" id="drafter3"/><label for="drafter3">Third drafter</lable>'+'<br/>'+
			'</div>')
			
			$("#openCase-dialog2").show().dialog( { title: "Open a case",
			width: 185,
			buttons: [ { text: "Next", click: openCase.step2}, 
			{ text: "Cancel", click: function() {
				$(this).dialog("close")
				} }]
			} );
			}
			
	openCase.open = function() {
			$('#case0').prop('disabled', true);
			$('#case1').prop('disabled', true);
			$('#case2').prop('disabled', true);
			$('#case3').prop('disabled', true);
			$('#case4').prop('disabled', true);
			openCase.api = new mw.Api();
			openCase.api = new mw.Api();
			params = {
				'action':'parse',
				'prop':'sections',
				//'pageid':'22747298',
				'pageid':'47446978',
			}
			openCase.api.get(params)
			
			.done ( function (data) {
				for (var i=0; i < data['parse']['sections'].length; i++) {
					if (data['parse']['sections'][i]['level'].indexOf('2') != -1 ) {
						cases.push(data['parse']['sections'][i]['line']);
					}
				}
				
			if(cases.length === 0){
			$('#bodyContent').before('<div id="openCase-dialog" style="width:400px;display:none;">'+
			'<div style="float:left; width:150px; padding-bottom:1%;">'+'No cases detected'+
			'</div>')}
			else if(cases.length == 1){
		    $('#bodyContent').before('<div id="openCase-dialog" style="width:400px;display:none;">'+
			'<div style="float:left; width:150px; padding-bottom:1%;">'+'<input type="radio" name="open" id="case0" /><label for="case0">'+cases[0]+'</label><br />'+
			'</div>')}
			else if(cases.length == 2){
			$('#bodyContent').before('<div id="openCase-dialog" style="width:400px;display:none;">'+
			'<div style="float:left; width:150px; padding-bottom:1%;">'+'<input type="radio" name="open" id="case0" /><label for="case0">'+cases[0]+'</label><br />'+
			'<input type="radio" name="open" id="case1" /><label for="case1">'+cases[1]+'</label><br />'+
			'</div>')}
			else if(cases.length == 3){
			$('#bodyContent').before('<div id="openCase-dialog" style="width:400px;display:none;">'+
			'<div style="float:left; width:150px; padding-bottom:1%;">'+'<input type="radio" name="open" id="case0" /><label for="case0">'+cases[0]+'</label><br />'+
			'<input type="radio" name="open" id="case1" /><label for="case1">'+cases[1]+'</label><br />'+
			'<input type="radio" name="open" id="case2" /><label for="case2">'+cases[2]+'</label><br />'+
			'</div>')}
			else if(cases.length == 4) {
			$('#bodyContent').before('<div id="openCase-dialog" style="width:400px;display:none;">'+
			'<div style="float:left; width:150px; padding-bottom:1%;">'+'<input type="radio" name="open" id="case0" /><label for="case0">'+cases[0]+'</label><br />'+
			'<input type="radio" name="open" id="case1" /><label for="case1">'+cases[1]+'</label><br />'+
			'<input type="radio" name="open" id="case2" /><label for="case2">'+cases[2]+'</label><br />'+
			'<input type="radio" name="open" id="case3" /><label for="case3">'+cases[3]+'</label><br />'+
			'</div>')}
			else if(cases.length == 5) {
			$('#bodyContent').before('<div id="openCase-dialog" style="width:400px;display:none;">'+
			'<div style="float:left; width:150px; padding-bottom:1%;">'+'<input type="radio" name="open" id="case0" /><label for="case0"]>'+cases[0]+'</label><br />'+
			'<input type="radio" name="open" id="case1" /><label for="case1">'+cases[1]+'</label><br />'+
			'<input type="radio" name="open" id="case2" /><label for="case2">'+cases[2]+'</label><br />'+
			'<input type="radio" name="open" id="case3" /><label for="case3">'+cases[3]+'</label><br />'+
			'<input type="radio" name="open" id="case4" /><label for="case4">'+cases[4]+'</label><br />'+
			'</div>')}
			else if(cases.length > 5){
			$('#bodyContent').before('<div id="openCase-dialog" style="width:400px;display:none;">'+'This program can only handle 5 cases at the moment. Yell at Kharkiv07.'+'</div>'
			)}
		
			$("#openCase-dialog").show().dialog( { title: "Open a case",
			width: 350,
			buttons: [ { text: "Next", click: openCase.start }, 
			{ text: "Cancel", click: function() {
				$(this).dialog("close")
				} }]
			} )
			
			return false;
			})
		}
}
	$(document).on('click', '#ca-openCase', openCase.open);
		
	return false;
})