// ==UserScript==
// @name Fix ADS checkin comments in discussion and history of workitems
-// @version 0.10
+// @version 0.11
// @author Tobias Sachs
// ... in @match replace "ads" with the url of you Azure DevOps Server
// @match https://ads/*
// @description
// ==/UserScript==
-// 0.11: #fix comments in Bugs opened via mention email notification
+// 0.11: fix regexp for later changesets attached.
// 0.10: #Bugnumber to links, highlight comments for customors in checkins
// 0.09: update download/update URLs
// 0.08: fix typos/formatting
let timerId;
let fixWorkitems = () => {
- console.debug("fixWorkitems...");
let found = document.getElementsByClassName("comment-content");
- if (fixCommentContents(found)) return;
+ fixCommentContents(found);
found = document.getElementsByClassName("history-item-comment");
- if (fixCommentContents(found)) return;
+ fixCommentContents(found);
- found = document.getElementsByClassName("comments-section");
- if (fixCommentContents(found)) return;
-
- console.debug("... notihing found to fix..");
+ console.debug("observe...");
};
let fixCommentContents = (items) => {
if (items === null || items === undefined || items.length === 0) {
- return false;
+ return;
}
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*):/,
- "<b>$1<a href='/HeBa/Entwicklung/_versionControl/changeset/$2'>$2</a></b>:<br />");
+ html = html.replace(/(Associated with changeset )(\d*)([:.])/,
+ "<b>$1<a href='/HeBa/Entwicklung/_versionControl/changeset/$2'>$2</a></b>$3<br />");
html = html.replace(/#(\d+)/g, "<a href='/HeBa/Entwicklung/_versionControl/changeset/$1'>#$1</a>");
html = html.replace(/\n/gi, "<br />");
html = html.replace(/(@@CUST.*)/s, "<br><span style=\"color: green; font-style:italic;\">$1</span>");
el.innerHTML = html;
}
}
- reurn true;
};
let fixVersionControl = () => {