Last active
June 20, 2017 08:14
-
-
Save tifletcher/e4c67359b5190bff715da308cc84f0af to your computer and use it in GitHub Desktop.
Fix jira dashboards -- Remove extra sprints, re-sort, remove bogus height adjustments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function () { | |
const $ = jQuery | |
const table_selector = ".issue-table" | |
const row_selector = ".issuerow" | |
const sprint_column_selector = ".customfield_10007" | |
function trim_sprint_column(i, column) { | |
const sprints = $(column).text().split(",") | |
const sprint = sprints[sprints.length - 1] | |
$(column).text(sprint.trim()) | |
} | |
function trim_sprints() { | |
$(sprint_column_selector).each(trim_sprint_column) | |
} | |
function by_sprint_column(rowA, rowB) { | |
const a = $(rowA).find(sprint_column_selector).text() | |
const b = $(rowB).find(sprint_column_selector).text() | |
return a === b ? 0 : a < b ? -1 : 1 | |
} | |
function sort_rows_by_sprint_column(i, table) { | |
const table_body = $(table).find("tbody") | |
const sorted_rows = table_body.find("tr").get().sort(by_sprint_column) | |
$.each(sorted_rows, (i, el) => table_body.append(el)) | |
} | |
function sort_tables() { | |
$(table_selector).each(sort_rows_by_sprint_column) | |
} | |
function unfuck_heights() { | |
$(table_selector).parents(".results-wrap").parent("div").css("height", "") | |
$(".gadget").css("height", "") | |
} | |
function color_flipper() { | |
let current; | |
function get() { return current[0] } | |
function reset() { | |
current = [ "aliceblue", "beige" ] | |
return get() | |
} | |
function next() { | |
current = [current[1], current[0]] | |
return get() | |
} | |
reset() | |
return { next: next, get: get, reset: reset } | |
} | |
function stripe_rows() { | |
function get_sprint(tr) { | |
return $(tr).find(sprint_column_selector).text() | |
} | |
function get_previous_row(tr) { | |
return $(tr).prev("tr") | |
} | |
const colors = color_flipper() | |
function set_color(i, el) { | |
const previous_row_sprint = get_sprint(get_previous_row(el)) | |
const color = previous_row_sprint == "" ? colors.reset() : get_sprint(el) == previous_row_sprint ? colors.get() : colors.next() | |
$(el).css("background", color) | |
} | |
$(row_selector).each(set_color) | |
} | |
trim_sprints() | |
sort_tables() | |
unfuck_heights() | |
stripe_rows() | |
})() | |
// jscompress.com | |
// javascript:(function(){function c(p,q){const r=l(q).text().split(","),s=r[r.length-1];l(q).text(s.trim())}function e(p,q){const r=l(p).find(o).text(),s=l(q).find(o).text();return r===s?0:r<s?-1:1}function f(p,q){const r=l(q).find("tbody"),s=r.find("tr").get().sort(e);l.each(s,(t,u)=>r.append(u))}function j(){function p(){return s[0]}function q(){return s=["aliceblue","beige"],p()}let s;return q(),{next:function(){return s=[s[1],s[0]],p()},get:p,reset:q}}const l=jQuery,m=".issue-table",o=".customfield_10007";(function(){l(o).each(c)})(),function(){l(m).each(f)}(),function(){l(m).parents(".results-wrap").parent("div").css("height",""),l(".gadget").css("height","")}(),function(){function p(t){return l(t).find(o).text()}function q(t){return l(t).prev("tr")}const s=j();l(".issuerow").each(function(t,u){const v=p(q(u)),w=""==v?s.reset():p(u)==v?s.get():s.next();l(u).css("background",w)})}()})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment