From 4a073197371e1cfcfc09db1b09b16d90892b1148 Mon Sep 17 00:00:00 2001 From: wangf1122 <74916635+wangf1122@users.noreply.github.com> Date: Sat, 14 Dec 2024 07:18:14 -0500 Subject: [PATCH] support section variable in manual url (#8494) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * support section variable in manual url * isoLang variable, help wording * Revert "isoLang variable, help wording" This reverts commit 0b000ce2 * ignore path "/" for default language replacement * Update web-ui/src/main/resources/catalog/locales/en-admin.json Co-authored-by: Jose García * remove double slash * remove double slash in error handler --------- Co-authored-by: Jose García --- .../common/needhelp/NeedHelpDirective.js | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/web-ui/src/main/resources/catalog/components/common/needhelp/NeedHelpDirective.js b/web-ui/src/main/resources/catalog/components/common/needhelp/NeedHelpDirective.js index 0ca87cb85c0..a957a360122 100644 --- a/web-ui/src/main/resources/catalog/components/common/needhelp/NeedHelpDirective.js +++ b/web-ui/src/main/resources/catalog/components/common/needhelp/NeedHelpDirective.js @@ -140,6 +140,18 @@ return defer.promise; }; + /** + * Processes an URL removing // characters in the URL path. + * + * @param url + * @returns {string} + */ + var processUrl = function(url) { + var urlToProcess = new URL(url); + urlToProcess.pathname = urlToProcess.pathname.replace(/\/\//g, "/"); + return urlToProcess.toString(); + } + /** * Get the URL of the corresponding help page and open it in a new tab * @returns {boolean} @@ -152,18 +164,25 @@ if (gnGlobalSettings.lang !== "en") { baseUrl = scope.helpBaseUrl.replace("{{lang}}", gnGlobalSettings.lang); } else { - baseUrl = scope.helpBaseUrl.replace("/{{lang}}", ""); + baseUrl = scope.helpBaseUrl.replace("{{lang}}", ""); } baseUrl = baseUrl.replace("{{version}}", scope.applicationVersion); - var helpPageUrl = baseUrl + "/" + page; + var helpPageUrl; + if (baseUrl.includes("{{section}}")) { + helpPageUrl = baseUrl.replace("{{section}}", page); + } else { + helpPageUrl = baseUrl + "/" + page; + } + + helpPageUrl = processUrl(helpPageUrl); testAndOpen(helpPageUrl).then( function () {}, function () { var baseUrl = scope.helpBaseUrl - .replace("/{{lang}}", "") + .replace("{{lang}}", "") .replace("{{version}}", scope.applicationVersion); var helpPageUrl = baseUrl + "/" + page;