From cd87dfb0e6de8b92a0283771903b88796410888d Mon Sep 17 00:00:00 2001 From: Stefano Cudini Date: Wed, 10 Dec 2025 18:00:14 +0100 Subject: [PATCH] Fix #11792 Search plugin show null or undefined in displayName (#11791) (cherry picked from commit 0cc2564d6e7b19a2d8a128f2b0b46c908ff71b8b) --- web/client/utils/TemplateUtils.js | 2 +- web/client/utils/__tests__/TemplateUtils-test.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/web/client/utils/TemplateUtils.js b/web/client/utils/TemplateUtils.js index 4320ad428dd..daefc6845b1 100644 --- a/web/client/utils/TemplateUtils.js +++ b/web/client/utils/TemplateUtils.js @@ -67,7 +67,7 @@ export const generateTemplateString = (function() { .replace(/\$\{([\s]*[^;\s\{]+[\s]*)\}/g, (_, match) => { const escapeFunction = escapeFn || (a => a); return escapeFunction(match.trim().split(".").reduce((a, b) => { - return a && a[b]; + return a && a[b] || ''; }, map)); }); diff --git a/web/client/utils/__tests__/TemplateUtils-test.js b/web/client/utils/__tests__/TemplateUtils-test.js index 68c96999228..8dd3d991b4b 100644 --- a/web/client/utils/__tests__/TemplateUtils-test.js +++ b/web/client/utils/__tests__/TemplateUtils-test.js @@ -50,6 +50,12 @@ describe('TemplateUtils', () => { let templateResult = templateFunction({test: "TEST"}); expect(templateResult).toBe("this is a TEST2"); }); + it('generateTemplateString with some null or undefined attributes', () => { + let templateFunction = generateTemplateString("#${desc}, ${desc1}, ${desc2}#"); + expect(templateFunction).toExist(); + let templateResult = templateFunction({desc: "desc value", desc1: null, desc2: undefined}); + expect(templateResult).toEqual("#desc value, , #"); + }); it('validateStringAttribute', () => { const testObj = {