Sort permissions and add enum name (#3268)

This commit is contained in:
Jakub Neander 2023-03-07 10:50:11 +01:00 committed by GitHub
parent d79e21349a
commit b7abf57a05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,6 +16,11 @@ import { makeStyles } from "@saleor/macaw-ui";
import React from "react"; import React from "react";
import { useIntl } from "react-intl"; import { useIntl } from "react-intl";
const byAlphabeticalOrder =
<T extends {}>(field: string) =>
(a: T, b: T) =>
a[field].localeCompare(b[field]);
const useStyles = makeStyles( const useStyles = makeStyles(
theme => ({ theme => ({
checkboxContainer: { checkboxContainer: {
@ -50,7 +55,6 @@ const AccountPermissions: React.FC<AccountPermissionsProps> = props => {
const { const {
data, data,
disabled, disabled,
permissions,
permissionsExceeded, permissionsExceeded,
onChange, onChange,
description, description,
@ -58,6 +62,10 @@ const AccountPermissions: React.FC<AccountPermissionsProps> = props => {
errorMessage, errorMessage,
} = props; } = props;
const permissions = Object.values(props.permissions).sort(
byAlphabeticalOrder("name"),
);
const classes = useStyles(props); const classes = useStyles(props);
const intl = useIntl(); const intl = useIntl();
const { user } = useUser(); const { user } = useUser();
@ -192,13 +200,14 @@ const AccountPermissions: React.FC<AccountPermissionsProps> = props => {
id={perm.code} id={perm.code}
primary={perm.name.replace(/\./, "")} primary={perm.name.replace(/\./, "")}
secondary={ secondary={
perm.lastSource && perm.lastSource
intl.formatMessage({ ? intl.formatMessage({
id: "VmMDLN", id: "VmMDLN",
defaultMessage: defaultMessage:
"This group is last source of that permission", "This group is last source of that permission",
description: "permission list item description", description: "permission list item description",
}) })
: perm.code
} }
/> />
</ListItem> </ListItem>