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');
  waitForKeyElements('.ghx-columns', getNumPoints);
  
  // Each jNode is a swimlane on the board
  function getNumPoints(jNode) {
    // For each column in this swimlane...
    jNode.find('.ghx-column.ui-sortable').each(function() {
      var columnId = $(this).attr('data-column-id');
      columns[columnId] = 0;
      
      // For each ticket in this column...
      $(this).children().each(function() {
        // Add the point value to the total
        columns[columnId] += parseInt($(this).find('.ghx-end').find('span.aui-badge').html(), 10);
      });
    
      // 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]);
    });
  }
  
});