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 03:26, 30 October 2015 (mayday). 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') == 4 && 
	mw.config.get('wgTitle') == ('Arbitration/Requests/Case')) {
		$(document).ready( function () {
			mw.util.addPortletLink( 'p-cactions', '#', 'Open', 'ca-openCase', 'Open case' );	
		} );
		
	openCase = {};
	var cases = [];
	var count = 0;
	var oname = "";
	
	openCase.start = function() {

			openCase.start = function() {
			if($('#case0').prop('checked')) {
				var oname = cases[0]
			}
			else if($('#case1').prop('checked')) {
				var oname = cases[1]
			}
			else if($('#case2').prop('checked')) {
				var oname = cases[2]
			}
			else if($('#case3').prop('checked')) {
				var oname = cases[3]
			}
			else if($('#case4').prop('checked')) {
				var oname = cases[4]
			}}
			
			console.log(oname)
			
			$('#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/>'+
			'</div>')
			
			$("#openCase-dialog2").show().dialog( { title: "Open a case",
			width: 185,
			buttons: [ { text: "Open", click: openCase.finish }, 
			{ text: "Cancel", click: function() {
				$(this).dialog("close")
				} }]
			} );
			}
			
	openCase.open = function() {
			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',
			}
			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;
})