Fixed translations for columns

(cherry picked from commit 6d53d2a153a98070c42d0619c15902b6bd5dfab4)

Closes #3897
This commit is contained in:
Mark McDowall 2023-07-19 17:52:19 -07:00 committed by Bogdan
commit 7406e0e3b7
6 changed files with 17 additions and 10 deletions

View file

@ -100,7 +100,7 @@ export const defaultState = {
columnLabel: translate('CustomFormatScore'),
label: React.createElement(Icon, {
name: icons.SCORE,
title: translate('CustomFormatScore')
title: () => translate('CustomFormatScore')
}),
isVisible: false
},

View file

@ -68,7 +68,7 @@ export const defaultState = {
columnLabel: translate('CustomFormatScore'),
label: React.createElement(Icon, {
name: icons.SCORE,
title: translate('CustomFormatScore')
title: () => translate('CustomFormatScore')
}),
isVisible: false
},

View file

@ -36,10 +36,17 @@ function mergeColumns(path, initialState, persistedState, computedState) {
const column = initialColumns.find((i) => i.name === persistedColumn.name);
if (column) {
columns.push({
...column,
isVisible: persistedColumn.isVisible
});
const newColumn = {};
// We can't use a spread operator or Object.assign to clone the column
// or any accessors are lost and can break translations.
for (const prop of Object.keys(column)) {
Object.defineProperty(newColumn, prop, Object.getOwnPropertyDescriptor(column, prop));
}
newColumn.isVisible = persistedColumn.isVisible;
columns.push(newColumn);
}
});