JIRA - Show Total Number of Points for Each Column

Displays the total amount of points in each column of your board

目前为 2016-01-24 提交的版本。查看 最新版本

// ==UserScript==
// @name        JIRA - Show Total Number of Points for Each Column
// @namespace   chriskim06
// @description Displays the total amount of points in each column of your board
// @include     https://*jira*com/secure/*Board*
// @require     http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
// @require     https://greasyfork.org/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=19641
// @version     1.0.1
// @grant       none
// @locale      en
// ==/UserScript==

this.$ = this.jQuery = jQuery.noConflict(true);

  
  waitForKeyElements('#ghx-pool', getNumPoints);
  
  // jNode is the board
  function getNumPoints(jNode) {
    var columns = {};
    var columnHeaders = $('#ghx-column-headers');
    columnHeaders.children().each(function() {
      columns[$(this).attr('data-id')] = 0;
    });
    
    // For each column...
    $('.ghx-columns > .ghx-column.ui-sortable').each(function() {
      var columnId = $(this).attr('data-column-id');
      console.log(columnId);
      
      // Get each ticket and...
      $(this).children().each(function() {
        // Add it to the total
        var points = parseInt($(this).find('.ghx-end').find('span.aui-badge').html(), 10);
        if (points > 0) {
          columns[columnId] += points;
        }
      });
      console.log("val = " + columns[columnId]);
    });
    
    // Append the total point value for this column to the column's name
    columnHeaders.children().each(function() {
      var columnId = $(this).attr('data-id');
      var columnTitle = $(this).find('h2');
      columnTitle.append(' (' + columns[columnId] + ')');
      console.log("POINTS - " + columnTitle.html() + ": " + columns[columnId]);
    });
  }