From 370ed67133314f06a1297bd3e9d8b7055e0ee540 Mon Sep 17 00:00:00 2001 From: Baptiste Grimaud Date: Fri, 10 Jan 2025 13:52:04 +0100 Subject: [PATCH] BACKLOG-23452: Trim the date format when configured (#1786) When a date format is configured in Content Editor (contentEditor.forceDateFormat property), trim its value to loose restrictions on this property (as the value must be 'MM/DD/YYYY' or 'DD/MM/YYYY'). --- .../SelectorTypes/DateTimePicker/DateTimePicker.jsx | 2 +- .../DateTimePicker/DateTimePicker.spec.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.jsx b/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.jsx index 0251f2c8a..d9eb71a94 100644 --- a/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.jsx +++ b/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.jsx @@ -17,7 +17,7 @@ function getDateFormat(editorContext) { const allowedOverridesDateFormat = ['MM/DD/YYYY', 'DD/MM/YYYY']; // Read date format from config - const forceDateFormat = window.contextJsParameters?.config?.contentEditor?.forceDateFormat; + const forceDateFormat = window.contextJsParameters?.config?.contentEditor?.forceDateFormat?.trim(); if (forceDateFormat && !allowedOverridesDateFormat.includes(forceDateFormat)) { console.warn(`forceDateFormat as been set to an invalid value (${forceDateFormat}). Please use one of the following values: ${allowedOverridesDateFormat.join(', ')}`); } else if (forceDateFormat) { diff --git a/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.spec.js b/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.spec.js index 844d29c87..ed7f732fc 100644 --- a/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.spec.js +++ b/src/javascript/SelectorTypes/DateTimePicker/DateTimePicker.spec.js @@ -126,6 +126,17 @@ describe('DateTimePicker component', () => { testDateFormat('de-DE', 'MM/DD/YYYY'); }); + it('should use the override date format when provided with leading/trailing spaces', () => { + window.contextJsParameters = { + config: { + contentEditor: { + forceDateFormat: ' MM/DD/YYYY ' + } + } + }; + testDateFormat('de-DE', 'MM/DD/YYYY'); + }); + it('should NOT use the override date format when an invalid format is provided', () => { window.contextJsParameters = { config: {