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);

$(function() {

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