Refactor getDisplayedFilters and add translations

This commit is contained in:
Mark Kaylor 2023-01-27 17:06:15 +01:00
parent 00db731c6c
commit e38379c828
2 changed files with 38 additions and 27 deletions

View File

@ -23,7 +23,6 @@ import PaginationFooter from './PaginationFooter';
import Modal from './Modal'; import Modal from './Modal';
import Filters from '../../../../../../../admin/src/pages/SettingsPage/components/Filters'; import Filters from '../../../../../../../admin/src/pages/SettingsPage/components/Filters';
import getDisplayedFilters from './utils/getDisplayedFilters'; import getDisplayedFilters from './utils/getDisplayedFilters';
import getDefaultMessage, { actionTypes } from './utils/getActionTypesDefaultMessages';
import useAuditLogsData from './hooks/useAuditLogsData'; import useAuditLogsData from './hooks/useAuditLogsData';
const ListView = () => { const ListView = () => {
@ -36,28 +35,7 @@ const ListView = () => {
useFocusWhenNavigate(); useFocusWhenNavigate();
const actionOptions = Object.keys(actionTypes).map((action) => { const displayedFilters = getDisplayedFilters({ formatMessage, users });
return {
label: formatMessage(
{
id: `Settings.permissions.auditLogs.${action}`,
defaultMessage: getDefaultMessage(action),
},
{ model: '' }
),
customValue: action,
};
});
const userOptions = users?.results.map((user) => {
return {
label: `${user.firstname} ${user.lastname}`,
// Combobox expects a string value
customValue: user.id.toString(),
};
});
const displayedFilters = getDisplayedFilters({ actionOptions, userOptions });
const title = formatMessage({ const title = formatMessage({
id: 'global.auditLogs', id: 'global.auditLogs',

View File

@ -1,4 +1,5 @@
import ComboboxFilter from '../ComboboxFilter'; import ComboboxFilter from '../ComboboxFilter';
import getDefaultMessage, { actionTypes } from './getActionTypesDefaultMessages';
const customOperators = [ const customOperators = [
{ {
@ -11,12 +12,36 @@ const customOperators = [
}, },
]; ];
const getDisplayedFilters = ({ actionOptions, userOptions }) => { const getDisplayedFilters = ({ formatMessage, users }) => {
const actionOptions = Object.keys(actionTypes).map((action) => {
return {
label: formatMessage(
{
id: `Settings.permissions.auditLogs.${action}`,
defaultMessage: getDefaultMessage(action),
},
{ model: '' }
),
customValue: action,
};
});
const userOptions = users?.results.map((user) => {
return {
label: `${user.firstname} ${user.lastname}`,
// Combobox expects a string value
customValue: user.id.toString(),
};
});
return [ return [
{ {
name: 'action', name: 'action',
metadatas: { metadatas: {
label: 'Action', label: formatMessage({
id: 'Settings.permissions.auditLogs.action',
defaultMessage: 'Action',
}),
options: actionOptions, options: actionOptions,
customOperators, customOperators,
customInput: ComboboxFilter, customInput: ComboboxFilter,
@ -25,13 +50,21 @@ const getDisplayedFilters = ({ actionOptions, userOptions }) => {
}, },
{ {
name: 'date', name: 'date',
metadatas: { label: 'Date' }, metadatas: {
label: formatMessage({
id: 'Settings.permissions.auditLogs.date',
defaultMessage: 'Date',
}),
},
fieldSchema: { type: 'datetime' }, fieldSchema: { type: 'datetime' },
}, },
{ {
name: 'user', name: 'user',
metadatas: { metadatas: {
label: 'User', label: formatMessage({
id: 'Settings.permissions.auditLogs.user',
defaultMessage: 'User',
}),
options: userOptions, options: userOptions,
customOperators: [ customOperators: [
...customOperators, ...customOperators,