46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import { RootState } from "../store";
|
|
import { FieldGroupMap, SidebarLink } from "./metadataSlice";
|
|
|
|
export const selectMetadataState = (state: RootState) => state.metadata;
|
|
|
|
export const selectMetadataStatus = (state: RootState) =>
|
|
state.metadata?.status;
|
|
|
|
export const selectMetadataError = (state: RootState) => state.metadata?.error;
|
|
|
|
export const selectAppMetadata = (state: RootState) => state.metadata?.data;
|
|
|
|
export const selectFieldNames = (state: RootState): FieldGroupMap | undefined =>
|
|
state.metadata.data?.field_names;
|
|
|
|
export const selectSidebarLinks = (state: RootState): SidebarLink[] =>
|
|
state.metadata.data?.sidebar?.links ?? [];
|
|
|
|
export const selectJobTitles = (state: RootState): string[] =>
|
|
state.metadata.data?.job_titles ?? [];
|
|
|
|
export const selectGroups = (state: RootState): string[] =>
|
|
state.metadata.data?.groups ?? [];
|
|
|
|
export const selectMerchants = (state: RootState): string[] =>
|
|
state.metadata.data?.merchants ?? [];
|
|
|
|
export const selectCountries = (state: RootState): string[] =>
|
|
state.metadata.data?.countries ?? [];
|
|
|
|
export const selectTransactionStatuses = (state: RootState): string[] =>
|
|
state.metadata.data?.transaction_status ?? [];
|
|
|
|
export const selectNavigationSidebar = (state: RootState): SidebarLink[] =>
|
|
state.metadata.data?.sidebar?.links ?? [];
|
|
|
|
export const selectConditionOperators = (
|
|
state: RootState
|
|
): Record<string, string> | undefined =>
|
|
state.metadata.data?.field_names?.conditions;
|
|
|
|
export const selectTransactionFieldNames = (
|
|
state: RootState
|
|
): Record<string, string> | undefined =>
|
|
state.metadata.data?.field_names?.transactions;
|