// ==UserScript== // @name Daily Standup Report from JIRA - Part 2 // @namespace http://tampermonkey.net/ // @version 0.2.1 // @description Print out the kanban board // @author davidf@j5int.com // @match https://*.atlassian.net/secure/RapidBoard.jspa?*print_kanban=1* // @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js // @require https://gist.github.com/raw/2625891/waitForKeyElements.js // @grant unsafeWindow // @grant GM_registerMenuCommand // ==/UserScript== (function() { 'use strict'; function removeFirstColumn() { console.log("Hiding left-most column"); var finalColumns = document.querySelectorAll('li.ghx-column:first-of-type'); finalColumns[0].setAttribute('style', 'display: none'); finalColumns[1].setAttribute('style', 'display: none'); }; function removeLastColumn() { console.log("Hiding right-most column"); var finalColumns = document.querySelectorAll('li.ghx-column:last-of-type'); finalColumns[0].setAttribute('style', 'display: none'); finalColumns[1].setAttribute('style', 'display: none'); }; function hideColumns() { // for testing phase of sprint if (window.location.search.indexOf('rapidView=8') != -1) { removeFirstColumn(); } removeLastColumn(); } function awaitPrintKanban() { console.log("Waiting for load"); waitForKeyElements("div#ghx-pool", printKanban); function printKanban(jNode) { console.log("Hiding headers"); document.getElementById('ghx-header').setAttribute('style', 'display:none'); document.getElementById('ghx-operations').setAttribute('style', 'display:none'); window.onbeforeprint = hideColumns; console.log("Triggering print..."); window.print(); console.log("Done"); }; }; GM_registerMenuCommand('Print Daily Kanban Report', awaitPrintKanban, 'P'); if (window.location.search.indexOf('print_kanban=1') != -1) { awaitPrintKanban(); }; })();