Fix configuration labels and types

This commit is contained in:
Krzysztof Bialoglowicz 2019-09-13 14:57:10 +02:00
parent ad4975bd84
commit b6886d8fc8
3 changed files with 26 additions and 21 deletions

View file

@ -174,12 +174,11 @@ const MenuList = withStyles(styles, { name: "MenuList" })(
const intl = useIntl(); const intl = useIntl();
const configutationMenu = createConfigurationMenu(intl).map(menu => { const configutationMenu = createConfigurationMenu(intl).map(menu => {
menu.menuItems.map(item => { menu.menuItems.map(item =>
return user.permissions user.permissions.map(perm => perm.code).includes(item.permission)
.map(perm => perm.code) );
.includes(item.permission);
});
}); });
const handleSubMenu = itemLabel => { const handleSubMenu = itemLabel => {
setActiveSubMenu({ setActiveSubMenu({
isActive: isActive:

View file

@ -20,15 +20,13 @@ import { PermissionEnum } from "../types/globalTypes";
export interface MenuItem { export interface MenuItem {
label: string; label: string;
menuItems: [ menuItems: Array<{
{
description: string; description: string;
icon: React.ReactElement<IconProps>; icon: React.ReactElement<IconProps>;
permission: PermissionEnum; permission: PermissionEnum;
title: string; title: string;
url?: string; url?: string;
} }>;
];
} }
const styles = (theme: Theme) => const styles = (theme: Theme) =>
@ -115,16 +113,16 @@ export const ConfigurationPage = withStyles(styles, {
menu.menuItems.map(item => hasPermission(item.permission, user)) menu.menuItems.map(item => hasPermission(item.permission, user))
) )
.map((menu, menuIndex) => ( .map((menu, menuIndex) => (
<div className={classes.configurationCategory}> <div className={classes.configurationCategory} key={menuIndex}>
<div className={classes.configurationLabel}> <div className={classes.configurationLabel}>
<Typography>{menu.label}</Typography> <Typography>{menu.label}</Typography>
</div> </div>
<div className={classes.configurationItem}> <div className={classes.configurationItem}>
{menu.menuItems.map(item => ( {menu.menuItems.map((item, itemIndex) => (
<Card <Card
className={item.url ? classes.card : classes.cardDisabled} className={item.url ? classes.card : classes.cardDisabled}
onClick={() => onSectionClick(item.url)} onClick={() => onSectionClick(item.url)}
key={menuIndex} key={itemIndex}
> >
<CardContent className={classes.cardContent}> <CardContent className={classes.cardContent}>
<div className={classes.icon}>{item.icon}</div> <div className={classes.icon}>{item.icon}</div>

View file

@ -30,7 +30,9 @@ import ConfigurationPage, { MenuItem } from "./ConfigurationPage";
export function createConfigurationMenu(intl: IntlShape): MenuItem[] { export function createConfigurationMenu(intl: IntlShape): MenuItem[] {
return [ return [
{ {
label: "Attributes and Product Types", label: intl.formatMessage({
defaultMessage: "Attributes and Product Typess"
}),
menuItems: [ menuItems: [
{ {
description: intl.formatMessage({ description: intl.formatMessage({
@ -55,7 +57,9 @@ export function createConfigurationMenu(intl: IntlShape): MenuItem[] {
] ]
}, },
{ {
label: "Product Settings", label: intl.formatMessage({
defaultMessage: "Product Settings"
}),
menuItems: [ menuItems: [
{ {
description: intl.formatMessage({ description: intl.formatMessage({
@ -80,7 +84,9 @@ export function createConfigurationMenu(intl: IntlShape): MenuItem[] {
] ]
}, },
{ {
label: "Staff Settings", label: intl.formatMessage({
defaultMessage: "Staff Settings"
}),
menuItems: [ menuItems: [
{ {
description: intl.formatMessage({ description: intl.formatMessage({
@ -95,7 +101,9 @@ export function createConfigurationMenu(intl: IntlShape): MenuItem[] {
] ]
}, },
{ {
label: "Miscellaneous", label: intl.formatMessage({
defaultMessage: "Miscellaneous"
}),
menuItems: [ menuItems: [
{ {
description: intl.formatMessage({ description: intl.formatMessage({