From 7f5d15e04ac19bed71118731217a1259a8629e74 Mon Sep 17 00:00:00 2001 From: ejunga Date: Wed, 9 Apr 2025 12:03:08 -0400 Subject: [PATCH 1/3] Add betterSearch functionality --- tdx-enhanced.js | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tdx-enhanced.js b/tdx-enhanced.js index ca10fe2..eed8753 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -1,7 +1,7 @@ // ==UserScript== // @name tdx-enhanced // @namespace ecn -// @version 2025-02-05-01 +// @version 2025-04-21-01 // @description enhanced tdx coloring & formatting. follows system color scheme. // @author Purdue STEM IT - it@purdue.edu // @match https://service.purdue.edu/TDNext/* @@ -79,6 +79,29 @@ /* BEGIN FUNCTIONS */ + function left_append_ticket_number() { + try { + const queryString = window.location.search; + const urlParams = new URLSearchParams(queryString); + const ticketID = urlParams.get('TicketID') || ""; + let title = document.querySelector("title"); + title.innerText = ticketID + ' ' + title.innerText; + } catch (error) { + console.warn(error); + } + } + + function betterSearch() { + var searchText = document.querySelector('#txtItemIDLookup').value.trim(); + var isInteger = /^\d*$/.test(searchText); + if (isInteger && searchText.length > 0) { + window.open('/TDNext/Apps/Search/LookupItem?searchText=' + encodeURIComponent(searchText), '_blank'); + } else if (false === false){ + TeamDynamix.osjs.openApp('appSearch', 'Search', '/TDNext/Apps/Shared/Global/Search?searchText=' + encodeURIComponent(searchText)); + $('#txtItemIDLookup').val('') + } + } + function updateHeading(mutation,numItems,totalItems) { let headings = mutation.querySelectorAll(".panel-title") @@ -817,6 +840,11 @@ injectOtherStyles(frame) }); } + + let searchButton = document.getElementById("btnSearch"); + if (searchButton) { + searchButton.onclick = betterSearch; + } }); }); From dceeaa49d1f863e358ec1f87d6748807a299f123 Mon Sep 17 00:00:00 2001 From: ejunga Date: Mon, 21 Apr 2025 12:36:17 -0400 Subject: [PATCH 2/3] Add ticket number to title --- tdx-enhanced.js | 1 + 1 file changed, 1 insertion(+) diff --git a/tdx-enhanced.js b/tdx-enhanced.js index eed8753..67ac621 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -289,6 +289,7 @@ if (header) { let ticketTitle = header.childNodes[0].textContent document.title = ticketTitle + left_append_ticket_number() } else { return } From fca0c9fda795e17dfc79a7663dfe44dd125c0bf0 Mon Sep 17 00:00:00 2001 From: ejunga Date: Tue, 22 Apr 2025 10:54:56 -0400 Subject: [PATCH 3/3] Modified betterSearch application Previously, betterSearch was always applied, now it follows the link behavior settings, only being applied when the mode is "tabs" --- tdx-enhanced.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tdx-enhanced.js b/tdx-enhanced.js index 67ac621..4771c06 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -102,6 +102,17 @@ } } + function search() { + var searchText = $('#txtItemIDLookup').val().trim(); + var isInteger = /^\d*$/.test(searchText); + if (isInteger && searchText.length > 0) { + openWin('/TDNext/Apps/Search/LookupItem?searchText=' + encodeURIComponent($('#txtItemIDLookup').val()), 992, 700, '_blank'); + } else if (false === false){ + TeamDynamix.osjs.openApp('appSearch', 'Search', '/TDNext/Apps/Shared/Global/Search?searchText=' + encodeURIComponent(searchText)); + $('#txtItemIDLookup').val('') + } + } + function updateHeading(mutation,numItems,totalItems) { let headings = mutation.querySelectorAll(".panel-title") @@ -844,7 +855,12 @@ let searchButton = document.getElementById("btnSearch"); if (searchButton) { - searchButton.onclick = betterSearch; + let behavior = settings('get','linkBehavior') + if (behavior==="tabs") { + searchButton.onclick = betterSearch; + } else { + searchButton.onclick = search; + } } }); });