X-Git-Url: https://src.twobees.de/?p=tampermonkeyscripts.git;a=blobdiff_plain;f=AzureDevOpsCommentEnhancer.user.js;h=71332a6dcf28695472471ed344416307debb93e7;hp=8d06776aed9abba744a8b0121f24e1d77fdf1a3b;hb=ab797bdea3b74fe985bf3228de372c06c8d1c2e0;hpb=6afb770d872cc7eb9802a867343bf6522350d605 diff --git a/AzureDevOpsCommentEnhancer.user.js b/AzureDevOpsCommentEnhancer.user.js index 8d06776..71332a6 100755 --- a/AzureDevOpsCommentEnhancer.user.js +++ b/AzureDevOpsCommentEnhancer.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Fix ADS checkin comments in discussion and history of workitems -// @version 0.9 +// @version 0.11 // @author Tobias Sachs // ... in @match replace "ads" with the url of you Azure DevOps Server // @match https://ads/* @@ -10,38 +10,50 @@ // @description // ==/UserScript== -// 0.9: update download/update URLs -// 0.8: fix typos/formatting -// 0.7: fix work item tampering -// 0.6: Add link to Changeset in diff view +// 0.11: #fix comments in Bugs opened via mention email notification +// 0.10: #Bugnumber to links, highlight comments for customors in checkins +// 0.09: update download/update URLs +// 0.08: fix typos/formatting +// 0.07: fix work item tampering +// 0.06: Add link to Changeset in diff view +/* jshint esversion:6 */ (function() { 'use strict'; - let timerId = undefined; + let timerId; let fixWorkitems = () => { + console.debug("fixWorkitems..."); let found = document.getElementsByClassName("comment-content"); - fixCommentContents(found); + if (fixCommentContents(found)) return; found = document.getElementsByClassName("history-item-comment"); - fixCommentContents(found); + if (fixCommentContents(found)) return; - console.debug("observe..."); + found = document.getElementsByClassName("comments-section"); + if (fixCommentContents(found)) return; + + console.debug("... notihing found to fix.."); }; let fixCommentContents = (items) => { if (items === null || items === undefined || items.length === 0) { - return; + return false; } console.info("fixing '" + items.length +"' comments."); for (var i = 0; i < items.length; i++) { let el = items[i]; let html = el.innerHTML; if (html.startsWith("Associated")) { - html = html.replace(/(Associated with changeset )(\d*):/, "$1$2:
"); - el.innerHTML = html.replace(/\n/gi, "
"); + html = html.replace(/(Associated with changeset )(\d*):/, + "$1$2:
"); + html = html.replace(/#(\d+)/g, "#$1"); + html = html.replace(/\n/gi, "
"); + html = html.replace(/(@@CUST.*)/s, "
$1"); + el.innerHTML = html; } } + return true; }; let fixVersionControl = () => { @@ -58,8 +70,10 @@ return; } - elToFix.innerHTML = elToFix.innerHTML.replace(/(Changeset )(\d+)/, "$1$2"); - } + elToFix.innerHTML = elToFix.innerHTML + .replace(/(Changeset )(\d+)/, + "$1$2"); + }; let fixit = () => { if (timerId) { @@ -79,7 +93,7 @@ } else { // if (url.includes("/_workitems")){ - // does not work since workitems are often shown in + // does not work since workitems are often shown in // dialogs on random pages fixWorkitems(); } @@ -97,3 +111,4 @@ fixit(); })(); +