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 18:26, 30 October 2015 (typo). 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 oname, clerk1, clerk2, clerk3, drafter1, drafter2, drafter3, nname = "";
	var ev, wk, pd = "";
	
			openCase.step2 = function() {
				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();
				
			$('#bodyContent').before('<div id="openCase-dialog3" style="width:400px;display:none;">'+ 'Inactive arbs:' +
			'<div style="float:left; width:150px; padding-bottom:1%;">'+
			'<input type="radio" name="open" id="iarb1" /><label for="iarb1">'+'AGK'+'</label><br />'+
			'<input type="radio" name="open" id="iarb2" /><label for="iarb2">'+'Courcelles'+'</label><br />'+
			'<input type="radio" name="open" id="iarb3" /><label for="iarb3">'+'DGG'+'</label><br />'+
			'<input type="radio" name="open" id="iarb4" /><label for="iarb4">'+'DeltaQuad'+'</label><br />'+
			'<input type="radio" name="open" id="iarb5" /><label for="iarb5">'+'Doug Weller'+'</label><br />'+
			'<input type="radio" name="open" id="iarb6" /><label for="iarb6">'+'Euryalus'+'</label><br />'+
			'<input type="radio" name="open" id="iarb7" /><label for="iarb7">'+'GorillaWarfare'+'</label><br />'+
			'<input type="radio" name="open" id="iarb8" /><label for="iarb8">'+'Guerillero'+'</label><br />'+
			'<input type="radio" name="open" id="iarb9" /><label for="iarb9">'+'LFaraone'+'</label><br />'+
			'<input type="radio" name="open" id="iarb10" /><label for="iarb10">'+'NativeForeigner'+'</label><br />'+
			'<input type="radio" name="open" id="iarb11" /><label for="iarb11">'+'Roger Davies'+'</label><br />'+
			'<input type="radio" name="open" id="iarb12" /><label for="iarb12">'+'Salvio giuliano'+'</label><br />'+
			'<input type="radio" name="open" id="iarb13" /><label for="iarb13">'+'Seraphimblade'+'</label><br />'+
			'<input type="radio" name="open" id="iarb14" /><label for="iarb14">'+'Thryduulf'+'</label><br />'+
			'<input type="radio" name="open" id="iarb15" /><label for="iarb15">'+'Yunshui'+'</label><br />'+ '</div>' +
			
			'<div style="float:right"; width:150px; padding-bottom:1%;">' +
			'<input type="radio" name="open" id="rarb1" /><label for="rarb1">'+'AGK'+'</label><br />'+
			'<input type="radio" name="open" id="rarb2" /><label for="rarb2">'+'Courcelles'+'</label><br />'+
			'<input type="radio" name="open" id="rarb3" /><label for="rarb3">'+'DGG'+'</label><br />'+
			'<input type="radio" name="open" id="rarb4" /><label for="rarb4">'+'DeltaQuad'+'</label><br />'+
			'<input type="radio" name="open" id="rarb5" /><label for="rarb5">'+'Doug Weller'+'</label><br />'+
			'<input type="radio" name="open" id="riarb6" /><label for="rarb6">'+'Euryalus'+'</label><br />'+
			'<input type="radio" name="open" id="rarb7" /><label for="rarb7">'+'GorillaWarfare'+'</label><br />'+
			'<input type="radio" name="open" id="rarb8" /><label for="rarb8">'+'Guerillero'+'</label><br />'+
			'<input type="radio" name="open" id="rarb9" /><label for="rarb9">'+'LFaraone'+'</label><br />'+
			'<input type="radio" name="open" id="rarb10" /><label for="rarb10">'+'NativeForeigner'+'</label><br />'+
			'<input type="radio" name="open" id="rarb11" /><label for="rarb11">'+'Roger Davies'+'</label><br />'+
			'<input type="radio" name="open" id="rarb12" /><label for="rarb12">'+'Salvio giuliano'+'</label><br />'+
			'<input type="radio" name="open" id="rarb13" /><label for="rarb13">'+'Seraphimblade'+'</label><br />'+
			'<input type="radio" name="open" id="rarb14" /><label for="rarb14">'+'Thryduulf'+'</label><br />'+
			'<input type="radio" name="open" id="rarb15" /><label for="rarb15">'+'Yunshui'+'</label><br />'+
			'</div>')
			
			$("#openCase-dialog3").show().dialog( { title: "Open a case",
			width: 600,
			buttons: [ { text: "Next", click: openCase.step2}, 
			{ text: "Cancel", click: function() {
				$(this).dialog("close")
				} }]
			} )}

			openCase.start = function() {

			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-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>'+
			'</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();
			params = {
				'action':'tokens',
				'type':'edit'
			}
			openCase.api.get(params)
			.done ( function (data) {
				openCase.token = data['tokens']['edittoken'];
			})
			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;
})