Skip to content

Instantly share code, notes, and snippets.

@szalapski
Last active January 26, 2024 15:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save szalapski/d2677564a0e89f735d31 to your computer and use it in GitHub Desktop.
Save szalapski/d2677564a0e89f735d31 to your computer and use it in GitHub Desktop.
TfsWebCompact neatens up the look-and-feel of your Azure DevOps web backlog and task board. See also http://www.szalapski.com/2014/05/a-compact-layout-for-tfs-web-work-items.html .
/* The following is a bookmarklet.
To actually use it, it is easier to drag-and-drop starting with my blog post:
http://www.szalapski.com/2014/05/a-compact-layout-for-tfs-web-work-items.html */
javascript:/* version 2024-01-26 */(function () { var s = document.createElement('style'); s.innerText = `
/* for backlog list */
#header-row {display: none;}
.header-section .hubs-section {left:300px; top:-5px;}
.nav-separated .hub-groups-section, .nav-separated .search-box {margin-top:0; padding-top:0;}
.header-post11 .hub-groups-section li,
.bolt-page .page-content-bottom {margin-bottom:0; padding-bottom:0;}
.header-post11 #navWrapper {height:20px;}
.header-post11 + .content-section {top:20px;}
.header-post11 .hub-groups-section {padding-bottom: 0;}
.hub-title {padding-top:9px; padding-bottom:9px;}
.hub-content .right-hub-content .hub-pivot { margin-left:300px; margin-right:340px;}
.hub-view.explorer .right-hub-content {top:3px;}
.backlog-header .toolbar .menu-bar > .menu-item{margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; }
.backlog-header .toolbar .menu-bar > .menu-item.text-filter-box {margin-top: 0 !important;}
.backlog-header .toolbar .menu-bar > .menu-item.toggle-filter-bar {padding-bottom:0; padding-top: 0 !important;}
.backlog-header .toolbar .menu-bar > .menu-item.toggle {margin-top: 0 !important;}
.backlog-header .toolbar { height:25px; margin-bottom:0;}
.backlog-header { height:auto; margin-bottom:0;}
.productbacklog-grid-results.sprint-backlog.grid {margin-top:0;}
.grid-focus {height: 0;}
.grid-header-column > .title {padding-top: 0; }
.grid-row.closed-item-tfsWebCompact {color:green;}
.grid-row.closed-item-tfsWebCompact .grid-cell:nth-child(3) {text-decoration:line-through;}
/* for board */
.wit-card:focus{
background-color: #bfb;
}
.wit-card:focus:hover{
background-color: #cfc;
}
.wit-card:hover{
background-color: #efe;
}
.id-title-container,
.board-content-details .task-list .add-task-container,
.agile-board .board-tile .board-tile-content .child-tasks-summary,
.board-content-details .task-list .task,
.tags.field-container,
.additional-field.lastAdditionalField,
.board-tile .container,
.taskboard-cell .id-title-container,
.taskboard-cell .witExtra ,
.wit-card.taskboard-card .fields .field-container,
.wit-card .editable-card-identity-picker .card-assigned-to,
.wit-card.taskboard-card .work-item-state-container
{ margin:0 }
.add-task-container,
.vss-Hub .vss-HubPivotBar,
.vss-PivotBar .vss-PivotBar--bar.tall .vss-PivotBar--commandBar,
.page-content-top.page-content,
.bolt-page > .bolt-header,
.flex.flex-column.rhythm-horizontal-4.padding-top-16
{padding:0;}
.repos-pr-header.bolt-header,
.repos-pr-title input,
.pr-secondary-title-row,
.repos-compare-toolbar,
.vss-Hub .vss-HubPivotBar:not(.shadowStyle),
#taskboard-table-header th.taskboard-cell,
.bolt-tabbar-tabs.tall .bolt-tab, .bolt-button
{ padding-block: 0; margin-block: 0; height: auto; }
.repos-changes-viewer .sticky,
.repos-compare-toolbar .margin-vertical-8,
.repos-changes-viewer.is-folder > :first-child
{ padding-block : 2px; margin-block: 2px; }
.wit-card .card-content{
padding: 8px;
}
.taskboard-card{
margin: 3px;
}
.navigation-container .flex-column
{width: 32px;}
.project-navigation .navigation-icon
{
width: 30px;
}
.vss-PivotBar .vss-PivotBar--pivots.tall .vss-PivotBar--button,
.vss-PivotBar .vss-PivotBar--bar.tall .vss-PivotBar--commandBar
{ height: auto; }
.wit-card .editable-field.is-identity{
min-height: 20px;
margin-top: 2px;
}
.tbTile{width: 200px; margin: 5px;}
.tbTile.parentTbTile{width: 140px;}
.taskboard-parent{min-width:auto; width:140px; padding-right:0;}
.taskboard-expander { width: 12px;}
.taskboardTableHeaderScrollContainer .taskboard-parent{min-width:146px; width:140px; padding-right:0;}
.taskboard-cell { padding: 2px;}
.taskboard-cell .id-title-container{ padding-right:0; }
.taskboard-cell .witExtra { margin-bottom: 3px;}
.taskboard-cell:not(.taskboard-parent) .field-container.additional-field .field-label:first-child { display:none; }
.sprint-view-container .vss-PivotBar .vss-PivotBarItem.customPadding { padding-inline: 5px;}
.field-container.additional-field {padding-left: 4px;}
/* make the "Closed" column really compact */
td[axis="taskboard-table-body_s2"] .tbTile {font-size:10.5px;}
td[axis="taskboard-table-body_s2"] .tbTile .id {line-height:10px;}
td[axis="taskboard-table-body_s2"] .tbTile .title {line-height:12px;}
td[axis="taskboard-table-body_s2"] .tbTile .id-title-container {line-height: 10px;}
td[axis="taskboard-table-body_s2"] .tbTile .tbTileContent .container.witExtra { max-height: 12px; }
td[axis="taskboard-table-body_s2"] .witExtra {height:18px;}
td[axis="taskboard-table-body_s2"] .witExtra .user-picture-resolved { display:none;}
td[axis="taskboard-table-body_s2"] .witExtra .element-height-medium {line-height:unset;}
td[axis="taskboard-table-body_s2"] .work-item-type-icon-host { display:none;}
/* "make need analyst testing" column narrower */
table.sticky-table colgroup col:nth-child(5){
width: 12.5% !important;
}
/* row numbers on task board */
table.sticky-table{
counter-reset: number;
}
table.sticky-table td .taskboard-expand-collapse-button{
position:relative;
counter-increment: number;
}
table.sticky-table td .taskboard-expand-collapse-button:after{
position: absolute;
writing-mode: vertical-rl; /* fallback for browsers that don't support sideways-lr */
writing-mode: sideways-lr;
white-space: nowrap;
font-size: 120%;
content:"ROW " counter(number);
top: 30px;
}
table.sticky-table td.taskboard-collapsed-row .taskboard-expand-collapse-button:after{
/* hide on collapsed rows */
display: none;
}
`; document.head.appendChild(s); })();
@szalapski
Copy link
Author

Easier to use if you start from the blog post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment