JIRA sub-task order editor

Change the order of JIRA sub-tasks via drag and drop.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name       JIRA sub-task order editor
// @namespace  com.nordstrom.sets
// @version    2.0
// @description  Change the order of JIRA sub-tasks via drag and drop.
// @match      https://*/browse/*
// @copyright  2012
// ==/UserScript==


function getorder(){
	order=[];
	$('#issuetable>tbody').children('tr').each(
		function(idx,elm) {
			if(elm.id) {
				order.push(elm.id);
			}
		});
	return order;
}

jQuery("#issuetable>tbody").sortable(
	{ 
		start:function() {
			old_order=getorder();
		} ,
		stop:function(event,ui) {
			new_order=getorder();
			for(i=0;i<=new_order.length;i++) {
				id=ui.item[0].id;
				if(id==old_order[i])oldpos=i;
				if(id==new_order[i])newpos=i;
			} 
			jQuery.ajax( {url:'/jira/secure/MoveIssueLink.jspa?id='+jQuery('#key-val').attr('rel')+'&currentSubTaskSequence='+oldpos+'&subTaskSequence='+newpos,} );
		}
	});