Snippets

Abdulrazaq Omar issuetypescheme-expander

Created by Abdulrazaq Omar
// ==UserScript==
// @name         Jira Admin Issuetype Scheme Expander
// @version      0.2
// @match        http*://*/*/admin/ManageIssueTypeSchemes!default.jspa
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // prepare page
    AJS.$("table#issuetypeschemes tbody tr td[data-scheme-field='options'] ul").css('display','none');
    AJS.$("table#issuetypeschemes tbody tr td[data-scheme-field='projects'] ul").css('display','none');
    AJS.$("table#issuetypeschemes tbody tr td[data-scheme-field='options'] ul").each( function() {
        var num = AJS.$(this).find("li").length;
        var desc = num + " issue type" + (num > 1 ? 's' : '');
        AJS.$(this).parent().append(AJS.$("<span class='cell-type-collapsed'>").append(desc));
    });
    AJS.$("table#issuetypeschemes tbody tr td[data-scheme-field='projects'] ul").each( function() {
        var num = AJS.$(this).find("li").length;
        var desc = num + " project" + (num > 1 ? 's' : '');
        AJS.$(this).parent().append(AJS.$("<span class='cell-type-collapsed'>").append(desc));
    });

    // create and apply expander
    var expander = AJS.$("<span class='aui-icon aui-icon-small aui-iconfont-collapsed'>");
    expander.click(function() {
        var el = AJS.$(this);
        if (el.hasClass('aui-iconfont-collapsed')) {
            // make options and projects viewable
            el.removeClass('aui-iconfont-collapsed');
            el.addClass('aui-iconfont-expanded');

            el.parent().parent().find("td[data-scheme-field='options'] ul").css('display','');
            el.parent().parent().find("td[data-scheme-field='options'] span.cell-type-collapsed").css('display','none');
            el.parent().parent().find("td[data-scheme-field='projects'] ul").css('display','');
            el.parent().parent().find("td[data-scheme-field='projects'] span.cell-type-collapsed").css('display','none');
        } else {
            // make options and projects hidden
            el.removeClass('aui-iconfont-expanded');
            el.addClass('aui-iconfont-collapsed');

            el.parent().parent().find("td[data-scheme-field='options'] ul").css('display','none');
            el.parent().parent().find("td[data-scheme-field='options'] span.cell-type-collapsed").css('display','');
            el.parent().parent().find("td[data-scheme-field='projects'] ul").css('display','none');
            el.parent().parent().find("td[data-scheme-field='projects'] span.cell-type-collapsed").css('display','');
        }
    });
    AJS.$("table#issuetypeschemes tbody tr td.cell-type-key").prepend(expander);
})();

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.