Fix configuration labels and types
This commit is contained in:
parent
ad4975bd84
commit
b6886d8fc8
3 changed files with 26 additions and 21 deletions
|
@ -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:
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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({
|
||||||
|
|
Loading…
Reference in a new issue