diff --git a/public/js/components/filter/Filter.js b/public/js/components/filter/Filter.js index 919132229..31b1efe12 100644 --- a/public/js/components/filter/Filter.js +++ b/public/js/components/filter/Filter.js @@ -107,7 +107,6 @@ export const CoreFilterCmpt = { default: [], }, }, - inject: ["language"], data: function () { return { uuid: 0, @@ -247,6 +246,9 @@ export const CoreFilterCmpt = { ...{ title: filterTitles[el.name] }, })); }, + language() { + return this.$p.user_language; + }, }, watch: { "language.value": { @@ -917,7 +919,23 @@ export const CoreFilterCmpt = { if (!this.tableBuilt) { return {}; } else if (this.tabulator.options.locale) { - return this.tabulator.getLang().columns; + let result = this.tabulator.getLang().columns; + const columnFieldTitlePairs = this.tabulator + .getColumns() + .map((column) => { + const definition = column.getDefinition(); + return [definition.field, definition.title]; + }); + columnFieldTitlePairs.forEach((fieldTitlePair) => { + if ( + fieldTitlePair[0]?.length && + fieldTitlePair[1]?.length && + !(fieldTitlePair[0] in result) + ) { + result[fieldTitlePair[0]] = fieldTitlePair[1]; + } + }); + return result; } return this.tabulator.getColumns().reduce((res, col) => { res[col.getField()] = col.getDefinition().title;