X-Git-Url: https://src.twobees.de/?p=tampermonkeyscripts.git;a=blobdiff_plain;f=AzureDevOpsCommentEnhancer.user.js;h=71332a6dcf28695472471ed344416307debb93e7;hp=95b4094c253d6c040f85ca188cb458203ca40402;hb=ab797bdea3b74fe985bf3228de372c06c8d1c2e0;hpb=5f6cd37ecc031f554826a093080a9cfd9a0c4cad
diff --git a/AzureDevOpsCommentEnhancer.user.js b/AzureDevOpsCommentEnhancer.user.js
index 95b4094..71332a6 100755
--- a/AzureDevOpsCommentEnhancer.user.js
+++ b/AzureDevOpsCommentEnhancer.user.js
@@ -1,46 +1,59 @@
// ==UserScript==
// @name Fix ADS checkin comments in discussion and history of workitems
-// @version 0.8
+// @version 0.11
// @author Tobias Sachs
// ... in @match replace "ads" with the url of you Azure DevOps Server
// @match https://ads/*
-// @updateURL https://github.com/tsheba/tampermonkeyscripts/raw/master/AzureDevOpsCommentEnhancer.user.js
-// @downloadURL https://github.com/tsheba/tampermonkeyscripts/raw/master/AzureDevOpsCommentEnhancer.user.js
+// @updateURL https://src.twobees.de/?p=tampermonkeyscripts.git;a=blob_plain;f=AzureDevOpsCommentEnhancer.user.js;hb=HEAD
+// @downloadURL https://src.twobees.de/?p=tampermonkeyscripts.git;a=blob_plain;f=AzureDevOpsCommentEnhancer.user.js;hb=HEAD
// @grant none
// @description
// ==/UserScript==
-// 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 = () => {
@@ -49,16 +62,18 @@
if (!found) {
return;
}
-
+
// if opened from email notification, it is the first span in div "changeset-version"
elToFix = found.querySelector("span");
-
+
if (!elToFix) {
return;
}
- elToFix.innerHTML = elToFix.innerHTML.replace(/(Changeset )(\d+)/, "$1$2");
- }
+ elToFix.innerHTML = elToFix.innerHTML
+ .replace(/(Changeset )(\d+)/,
+ "$1$2");
+ };
let fixit = () => {
if (timerId) {
@@ -78,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();
}
@@ -96,3 +111,4 @@
fixit();
})();
+