This script handles custom setups where the Done column is not in it's default location.
// ==UserScript== // @name TFS Boards Hide Done Column // @namespace net.intellectualponderings.TFSBoardsHideDoneColumn // @include http://*:8080/tfs/*/_boards* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js // @version 1 // @grant GM_addStyle // @grant unsafeWindow // ==/UserScript== // Default easy method, doesn't work on customized layouts. //GM_addStyle('#taskboard-table_s3, td[axis="taskboard-table_s3"] { display: none ! important; }'); var ob = (function () { var MutationObserver = window.MutationObserver || window.WebKitMutationObserver, eventListenerSupported = window.addEventListener; return function (obj, callback) { if (MutationObserver) { var obs = new MutationObserver(function (mutations, observer) { if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) callback(); }); obs.observe(obj, { childList: true, subtree: true }); } else if (eventListenerSupported) { obj.addEventListener('DOMNodeInserted', callback, false); obj.addEventListener('DOMNodeRemoved', callback, false); } } }) (); ob(document.getElementById('taskboard'), function () { var dth = $('.taskboard-row th:contains("Done")'); if (dth) { var col = dth[0].id; // Hide the column GM_addStyle('#' + col + ', td[axis="' + col + '"] { display: none ! important; }'); var numColumns = $('th.taskboard-cell:not(.taskboard-parent):visible').length if (numColumns > 0) { var newColumnWidth = 100 / numColumns; GM_addStyle('th.taskboard-cell:not(.taskboard-parent) { width: ' + newColumnWidth + '% !important; }'); } } });
No comments:
Post a Comment