import AccountPermissions from "@saleor/components/AccountPermissions"; import AppHeader from "@saleor/components/AppHeader"; import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; import Container from "@saleor/components/Container"; import Form from "@saleor/components/Form"; import Grid from "@saleor/components/Grid"; import SaveButtonBar from "@saleor/components/SaveButtonBar"; import { PermissionGroupErrorFragment } from "@saleor/fragments/types/PermissionGroupErrorFragment"; import { sectionNames } from "@saleor/intl"; import { PermissionEnum } from "@saleor/types/globalTypes"; import { getFormErrors } from "@saleor/utils/errors"; import getPermissionGroupErrorMessage from "@saleor/utils/errors/permissionGroups"; import React from "react"; import { useIntl } from "react-intl"; import { PermissionData } from "../PermissionGroupDetailsPage"; import PermissionGroupInfo from "../PermissionGroupInfo"; export interface PermissionGroupCreatePageFormData { name: string; hasFullAccess: boolean; isActive: boolean; permissions: PermissionEnum[]; } const initialForm: PermissionGroupCreatePageFormData = { hasFullAccess: false, isActive: false, name: "", permissions: [] }; export interface PermissionGroupCreatePageProps { disabled: boolean; errors: PermissionGroupErrorFragment[]; permissions: PermissionData[]; saveButtonBarState: ConfirmButtonTransitionState; onBack: () => void; onSubmit(data: PermissionGroupCreatePageFormData); } const PermissionGroupCreatePage: React.FC = ({ disabled, permissions, onBack, onSubmit, saveButtonBarState, errors }) => { const intl = useIntl(); const formErrors = getFormErrors(["addPermissions"], errors || []); const permissionsError = getPermissionGroupErrorMessage( formErrors.addPermissions, intl ); return (
{({ data, change, submit, hasChanged }) => ( {intl.formatMessage(sectionNames.permissionGroups)}
)}
); }; PermissionGroupCreatePage.displayName = "PermissionGroupCreatePage"; export default PermissionGroupCreatePage;