From 75c9b29fb4464cd904e0cfb59fa6d24d33791e9c Mon Sep 17 00:00:00 2001 From: Lorenzo Natali Date: Wed, 6 Dec 2023 12:01:21 +0100 Subject: [PATCH] Fix #9763. long string tooltip applied statically to components --- .../data/featuregrid/formatters/index.js | 16 +++++++++------- web/client/utils/FeatureGridUtils.js | 3 +-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/web/client/components/data/featuregrid/formatters/index.js b/web/client/components/data/featuregrid/formatters/index.js index 5f2e4104e4..7a869d5acf 100644 --- a/web/client/components/data/featuregrid/formatters/index.js +++ b/web/client/components/data/featuregrid/formatters/index.js @@ -12,26 +12,28 @@ import reactStringReplace from "react-string-replace"; import moment from "moment"; import NumberFormat from '../../../I18N/Number'; +import { handleLongTextEnhancer } from '../../../misc/enhancers/handleLongTextEnhancer'; + import { dateFormats as defaultDateFormats } from "../../../../utils/FeatureGridUtils"; const BooleanFormatter = ({value} = {}) => !isNil(value) ? {value.toString()} : null; -export const StringFormatter = ({value} = {}) => !isNil(value) ? reactStringReplace(value, /(https?:\/\/\S+)/g, (match, i) => ( +export const StringFormatter = handleLongTextEnhancer(({value} = {}) => !isNil(value) ? reactStringReplace(value, /(https?:\/\/\S+)/g, (match, i) => ( {match} -)) : null; -const NumberFormatter = ({value} = {}) => !isNil(value) ? : null; +)) : null); +const NumberFormatter = handleLongTextEnhancer(({value} = {}) => !isNil(value) ? : null); const DEFAULT_DATE_PART = "1970-01-01"; -const DATE_INPUT_FORAMAT = "YYYY-MM-DD[Z]"; -const dateTimeFormatter = ({value, format, type}) => { +const DATE_INPUT_FORMAT = "YYYY-MM-DD[Z]"; +const dateTimeFormatter = handleLongTextEnhancer(({value, format, type}) => { return !isNil(value) ? moment.utc(value).isValid() // geoserver sometimes returns UTC for time. ? moment.utc(value).format(format) : type === 'time' ? moment(`${DEFAULT_DATE_PART}T${value}`).utc().format(format) // time format append default date part : type === "date" && value?.toLowerCase()?.endsWith("z") // in case: date format and value ends with z - ? moment(value, DATE_INPUT_FORAMAT).format(format) + ? moment(value, DATE_INPUT_FORMAT).format(format) : moment(value).format(format) : null; -}; +}); export const register = {}; /** diff --git a/web/client/utils/FeatureGridUtils.js b/web/client/utils/FeatureGridUtils.js index 190f62cb91..16f9e3851f 100644 --- a/web/client/utils/FeatureGridUtils.js +++ b/web/client/utils/FeatureGridUtils.js @@ -18,7 +18,6 @@ import { } from './ogc/WFS/base'; import { applyDefaultToLocalizedString } from '../components/I18N/LocalizedString'; -import { handleLongTextEnhancer } from '../components/misc/enhancers/handleLongTextEnhancer'; const getGeometryName = (describe) => get(findGeometryProperty(describe), "name"); const getPropertyName = (name, describe) => name === "geometry" ? getGeometryName(describe) : name; @@ -148,7 +147,7 @@ export const featureTypeToGridColumns = ( editable, filterable, editor: getEditor(desc, field), - formatter: handleLongTextEnhancer(getFormatter(desc, field)), + formatter: getFormatter(desc, field), filterRenderer: getFilterRenderer(desc, field) }; });