Insights report filters.

This commit is contained in:
Mike Cao 2023-08-09 15:06:19 -07:00
parent acbffed2ce
commit 5039349d57
7 changed files with 138 additions and 87 deletions

View file

@ -1,11 +1,13 @@
import { useMessages } from 'hooks';
export function useFilters(type) {
export function useFilters() {
const { formatMessage, labels } = useMessages();
const filters = {
eq: formatMessage(labels.equals),
neq: formatMessage(labels.doesNotEqual),
const filterLabels = {
eq: formatMessage(labels.is),
neq: formatMessage(labels.isNot),
s: formatMessage(labels.isSet),
ns: formatMessage(labels.isNotSet),
c: formatMessage(labels.contains),
dnc: formatMessage(labels.doesNotContain),
t: formatMessage(labels.true),
@ -18,7 +20,7 @@ export function useFilters(type) {
af: formatMessage(labels.after),
};
const types = {
const typeFilters = {
string: ['eq', 'neq'],
array: ['c', 'dnc'],
boolean: ['t', 'f'],
@ -27,7 +29,11 @@ export function useFilters(type) {
uuid: ['eq'],
};
return types[type]?.map(key => ({ type, value: key, label: filters[key] })) ?? [];
const getFilters = type => {
return typeFilters[type]?.map(key => ({ type, value: key, label: filterLabels[key] })) ?? [];
};
return { getFilters, filterLabels, typeFilters };
}
export default useFilters;