mirror of
https://github.com/Unleash/unleash.git
synced 2025-06-27 01:19:00 +02:00
Merge pull request #745 from Unleash/feat/create-ressources-buttons
feat: create resources buttons and update all forms
This commit is contained in:
commit
cdf2e487b7
@ -1,12 +1,12 @@
|
|||||||
import FormTemplate from '../../../common/FormTemplate/FormTemplate';
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import ApiTokenForm from '../ApiTokenForm/ApiTokenForm';
|
import ApiTokenForm from '../ApiTokenForm/ApiTokenForm';
|
||||||
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
|
import useApiTokensApi from 'hooks/api/actions/useApiTokensApi/useApiTokensApi';
|
||||||
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
import useApiTokenForm from '../hooks/useApiTokenForm';
|
import useApiTokenForm from '../hooks/useApiTokenForm';
|
||||||
import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig';
|
import { ADMIN } from 'component/providers/AccessProvider/permissions';
|
||||||
import useToast from '../../../../hooks/useToast';
|
|
||||||
import useApiTokensApi from '../../../../hooks/api/actions/useApiTokensApi/useApiTokensApi';
|
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
|
||||||
import { ADMIN } from '../../../providers/AccessProvider/permissions';
|
|
||||||
import { ConfirmToken } from '../ConfirmToken/ConfirmToken';
|
import { ConfirmToken } from '../ConfirmToken/ConfirmToken';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { scrollToTop } from '../../../common/util';
|
import { scrollToTop } from '../../../common/util';
|
||||||
@ -96,9 +96,7 @@ export const CreateApiToken = () => {
|
|||||||
mode="Create"
|
mode="Create"
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={ADMIN} type="submit">
|
<CreateButton name="token" permission={ADMIN} />
|
||||||
Create token
|
|
||||||
</PermissionButton>
|
|
||||||
</ApiTokenForm>
|
</ApiTokenForm>
|
||||||
<ConfirmToken
|
<ConfirmToken
|
||||||
open={showConfirm}
|
open={showConfirm}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import FormTemplate from '../../../common/FormTemplate/FormTemplate';
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import useProjectRolesApi from '../../../../hooks/api/actions/useProjectRolesApi/useProjectRolesApi';
|
import useProjectRolesApi from 'hooks/api/actions/useProjectRolesApi/useProjectRolesApi';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import ProjectRoleForm from '../ProjectRoleForm/ProjectRoleForm';
|
import ProjectRoleForm from '../ProjectRoleForm/ProjectRoleForm';
|
||||||
import useProjectRoleForm from '../hooks/useProjectRoleForm';
|
import useProjectRoleForm from '../hooks/useProjectRoleForm';
|
||||||
import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
import useToast from '../../../../hooks/useToast';
|
import useToast from 'hooks/useToast';
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
import { ADMIN } from '../../../providers/AccessProvider/permissions';
|
import { ADMIN } from 'component/providers/AccessProvider/permissions';
|
||||||
import { formatUnknownError } from '../../../../utils/format-unknown-error';
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
|
|
||||||
const CreateProjectRole = () => {
|
const CreateProjectRole = () => {
|
||||||
const { setToastData, setToastApiError } = useToast();
|
const { setToastData, setToastApiError } = useToast();
|
||||||
@ -96,9 +96,7 @@ const CreateProjectRole = () => {
|
|||||||
validateNameUniqueness={validateNameUniqueness}
|
validateNameUniqueness={validateNameUniqueness}
|
||||||
getRoleKey={getRoleKey}
|
getRoleKey={getRoleKey}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={ADMIN} type="submit">
|
<CreateButton name="role" permission={ADMIN} />
|
||||||
Create role
|
|
||||||
</PermissionButton>
|
|
||||||
</ProjectRoleForm>
|
</ProjectRoleForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,19 +1,16 @@
|
|||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import FormTemplate from '../../../common/FormTemplate/FormTemplate';
|
import { UpdateButton } from 'component/common/UpdateButton/UpdateButton';
|
||||||
|
import { ADMIN } from 'component/providers/AccessProvider/permissions';
|
||||||
import useProjectRolesApi from '../../../../hooks/api/actions/useProjectRolesApi/useProjectRolesApi';
|
import useProjectRolesApi from 'hooks/api/actions/useProjectRolesApi/useProjectRolesApi';
|
||||||
|
import useProjectRole from 'hooks/api/getters/useProjectRole/useProjectRole';
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
import ProjectRoleForm from '../ProjectRoleForm/ProjectRoleForm';
|
import useToast from 'hooks/useToast';
|
||||||
|
import { IPermission } from 'interfaces/user';
|
||||||
|
import { useParams, useHistory } from 'react-router-dom';
|
||||||
import useProjectRoleForm from '../hooks/useProjectRoleForm';
|
import useProjectRoleForm from '../hooks/useProjectRoleForm';
|
||||||
import useProjectRole from '../../../../hooks/api/getters/useProjectRole/useProjectRole';
|
import ProjectRoleForm from '../ProjectRoleForm/ProjectRoleForm';
|
||||||
import { IPermission } from '../../../../interfaces/project';
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../../hooks/useToast';
|
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
|
||||||
import { ADMIN } from '../../../providers/AccessProvider/permissions';
|
|
||||||
import { formatUnknownError } from '../../../../utils/format-unknown-error';
|
|
||||||
|
|
||||||
const EditProjectRole = () => {
|
const EditProjectRole = () => {
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
@ -125,9 +122,7 @@ to resources within a project"
|
|||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
getRoleKey={getRoleKey}
|
getRoleKey={getRoleKey}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={ADMIN} type="submit">
|
<UpdateButton permission={ADMIN} />
|
||||||
Save
|
|
||||||
</PermissionButton>
|
|
||||||
</ProjectRoleForm>
|
</ProjectRoleForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
import FormTemplate from '../../../common/FormTemplate/FormTemplate';
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import UserForm from '../UserForm/UserForm';
|
import UserForm from '../UserForm/UserForm';
|
||||||
import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
import useToast from '../../../../hooks/useToast';
|
import useAdminUsersApi from 'hooks/api/actions/useAdminUsersApi/useAdminUsersApi';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
import useAddUserForm from '../hooks/useAddUserForm';
|
import useAddUserForm from '../hooks/useAddUserForm';
|
||||||
import useAdminUsersApi from '../../../../hooks/api/actions/useAdminUsersApi/useAdminUsersApi';
|
|
||||||
import ConfirmUserAdded from '../ConfirmUserAdded/ConfirmUserAdded';
|
import ConfirmUserAdded from '../ConfirmUserAdded/ConfirmUserAdded';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { scrollToTop } from '../../../common/util';
|
import { scrollToTop } from '../../../common/util';
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
import { ADMIN } from '../../../providers/AccessProvider/permissions';
|
import { ADMIN } from 'component/providers/AccessProvider/permissions';
|
||||||
import { formatUnknownError } from '../../../../utils/format-unknown-error';
|
import { formatUnknownError } from '../../../../utils/format-unknown-error';
|
||||||
|
|
||||||
const CreateUser = () => {
|
const CreateUser = () => {
|
||||||
@ -98,9 +98,7 @@ const CreateUser = () => {
|
|||||||
setRootRole={setRootRole}
|
setRootRole={setRootRole}
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={ADMIN} type="submit">
|
<CreateButton name="user" permission={ADMIN} />
|
||||||
Create user
|
|
||||||
</PermissionButton>
|
|
||||||
</UserForm>
|
</UserForm>
|
||||||
<ConfirmUserAdded
|
<ConfirmUserAdded
|
||||||
open={showConfirm}
|
open={showConfirm}
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
import FormTemplate from '../../../common/FormTemplate/FormTemplate';
|
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import UserForm from '../UserForm/UserForm';
|
import UserForm from '../UserForm/UserForm';
|
||||||
import useAddUserForm from '../hooks/useAddUserForm';
|
import useAddUserForm from '../hooks/useAddUserForm';
|
||||||
import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../../hooks/useToast';
|
|
||||||
import useAdminUsersApi from '../../../../hooks/api/actions/useAdminUsersApi/useAdminUsersApi';
|
|
||||||
import useUserInfo from '../../../../hooks/api/getters/useUserInfo/useUserInfo';
|
|
||||||
import { scrollToTop } from '../../../common/util';
|
import { scrollToTop } from '../../../common/util';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
import { UpdateButton } from 'component/common/UpdateButton/UpdateButton';
|
||||||
import { ADMIN } from '../../../providers/AccessProvider/permissions';
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import { EDIT } from '../../../../constants/misc';
|
import { ADMIN } from 'component/providers/AccessProvider/permissions';
|
||||||
import { formatUnknownError } from '../../../../utils/format-unknown-error';
|
import { EDIT } from 'constants/misc';
|
||||||
|
import useAdminUsersApi from 'hooks/api/actions/useAdminUsersApi/useAdminUsersApi';
|
||||||
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useUserInfo from 'hooks/api/getters/useUserInfo/useUserInfo';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
|
|
||||||
const EditUser = () => {
|
const EditUser = () => {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -95,9 +95,7 @@ const EditUser = () => {
|
|||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
mode={EDIT}
|
mode={EDIT}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={ADMIN} type="submit">
|
<UpdateButton permission={ADMIN} />
|
||||||
Save
|
|
||||||
</PermissionButton>
|
|
||||||
</UserForm>
|
</UserForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
15
frontend/src/component/common/CreateButton/CreateButton.tsx
Normal file
15
frontend/src/component/common/CreateButton/CreateButton.tsx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import PermissionButton, {
|
||||||
|
IPermissionButtonProps,
|
||||||
|
} from '../PermissionButton/PermissionButton';
|
||||||
|
|
||||||
|
interface ICreateButtonProps extends IPermissionButtonProps {
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const CreateButton = ({ name, ...rest }: ICreateButtonProps) => {
|
||||||
|
return (
|
||||||
|
<PermissionButton type="submit" {...rest}>
|
||||||
|
Create {name}
|
||||||
|
</PermissionButton>
|
||||||
|
);
|
||||||
|
};
|
@ -1,10 +1,10 @@
|
|||||||
import { Button, Tooltip } from '@material-ui/core';
|
import { Button, Tooltip } from '@material-ui/core';
|
||||||
import { Lock } from '@material-ui/icons';
|
import { Lock } from '@material-ui/icons';
|
||||||
|
import AccessContext from 'contexts/AccessContext';
|
||||||
import React, { useContext } from 'react';
|
import React, { useContext } from 'react';
|
||||||
import AccessContext from '../../../contexts/AccessContext';
|
|
||||||
import ConditionallyRender from '../ConditionallyRender';
|
import ConditionallyRender from '../ConditionallyRender';
|
||||||
|
|
||||||
export interface IPermissionIconButtonProps
|
export interface IPermissionButtonProps
|
||||||
extends React.HTMLProps<HTMLButtonElement> {
|
extends React.HTMLProps<HTMLButtonElement> {
|
||||||
permission: string | string[];
|
permission: string | string[];
|
||||||
tooltip?: string;
|
tooltip?: string;
|
||||||
@ -14,7 +14,7 @@ export interface IPermissionIconButtonProps
|
|||||||
environmentId?: string;
|
environmentId?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const PermissionButton: React.FC<IPermissionIconButtonProps> = ({
|
const PermissionButton: React.FC<IPermissionButtonProps> = ({
|
||||||
permission,
|
permission,
|
||||||
tooltip,
|
tooltip,
|
||||||
onClick,
|
onClick,
|
||||||
|
11
frontend/src/component/common/UpdateButton/UpdateButton.tsx
Normal file
11
frontend/src/component/common/UpdateButton/UpdateButton.tsx
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import PermissionButton, {
|
||||||
|
IPermissionButtonProps,
|
||||||
|
} from '../PermissionButton/PermissionButton';
|
||||||
|
|
||||||
|
export const UpdateButton = ({ ...rest }: IPermissionButtonProps) => {
|
||||||
|
return (
|
||||||
|
<PermissionButton type="submit" {...rest}>
|
||||||
|
Save
|
||||||
|
</PermissionButton>
|
||||||
|
);
|
||||||
|
};
|
@ -1,9 +1,9 @@
|
|||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import { useContextForm } from '../hooks/useContextForm';
|
import { useContextForm } from '../hooks/useContextForm';
|
||||||
import { ContextForm } from '../ContextForm/ContextForm';
|
import { ContextForm } from '../ContextForm/ContextForm';
|
||||||
import { CREATE_CONTEXT_FIELD } from 'component/providers/AccessProvider/permissions';
|
import { CREATE_CONTEXT_FIELD } from 'component/providers/AccessProvider/permissions';
|
||||||
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
|
||||||
import PermissionButton from 'component/common/PermissionButton/PermissionButton';
|
|
||||||
import useContextsApi from 'hooks/api/actions/useContextsApi/useContextsApi';
|
import useContextsApi from 'hooks/api/actions/useContextsApi/useContextsApi';
|
||||||
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext';
|
import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext';
|
||||||
@ -92,12 +92,10 @@ export const CreateContext = () => {
|
|||||||
setErrors={setErrors}
|
setErrors={setErrors}
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton
|
<CreateButton
|
||||||
|
name="context"
|
||||||
permission={CREATE_CONTEXT_FIELD}
|
permission={CREATE_CONTEXT_FIELD}
|
||||||
type="submit"
|
/>
|
||||||
>
|
|
||||||
Create context
|
|
||||||
</PermissionButton>
|
|
||||||
</ContextForm>
|
</ContextForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
|
import { UpdateButton } from 'component/common/UpdateButton/UpdateButton';
|
||||||
|
import { UPDATE_CONTEXT_FIELD } from 'component/providers/AccessProvider/permissions';
|
||||||
|
import useContextsApi from 'hooks/api/actions/useContextsApi/useContextsApi';
|
||||||
|
import useContext from 'hooks/api/getters/useContext/useContext';
|
||||||
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import { formatUnknownError } from 'utils/format-unknown-error';
|
|
||||||
import useContextsApi from '../../../hooks/api/actions/useContextsApi/useContextsApi';
|
|
||||||
import useContext from '../../../hooks/api/getters/useContext/useContext';
|
|
||||||
import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../hooks/useToast';
|
|
||||||
import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
|
||||||
import PermissionButton from '../../common/PermissionButton/PermissionButton';
|
|
||||||
import { scrollToTop } from '../../common/util';
|
import { scrollToTop } from '../../common/util';
|
||||||
import { UPDATE_CONTEXT_FIELD } from '../../providers/AccessProvider/permissions';
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
import { ContextForm } from '../ContextForm/ContextForm';
|
import { ContextForm } from '../ContextForm/ContextForm';
|
||||||
import { useContextForm } from '../hooks/useContextForm';
|
import { useContextForm } from '../hooks/useContextForm';
|
||||||
|
|
||||||
@ -98,12 +98,7 @@ export const EditContext = () => {
|
|||||||
setErrors={setErrors}
|
setErrors={setErrors}
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton
|
<UpdateButton permission={UPDATE_CONTEXT_FIELD} />
|
||||||
permission={UPDATE_CONTEXT_FIELD}
|
|
||||||
type="submit"
|
|
||||||
>
|
|
||||||
Save
|
|
||||||
</PermissionButton>
|
|
||||||
</ContextForm>
|
</ContextForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import useEnvironmentForm from '../hooks/useEnvironmentForm';
|
import useEnvironmentForm from '../hooks/useEnvironmentForm';
|
||||||
import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../hooks/useToast';
|
|
||||||
import useEnvironmentApi from '../../../hooks/api/actions/useEnvironmentApi/useEnvironmentApi';
|
|
||||||
import EnvironmentForm from '../EnvironmentForm/EnvironmentForm';
|
import EnvironmentForm from '../EnvironmentForm/EnvironmentForm';
|
||||||
import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
||||||
import useEnvironments from '../../../hooks/api/getters/useEnvironments/useEnvironments';
|
|
||||||
import { Alert } from '@material-ui/lab';
|
import { Alert } from '@material-ui/lab';
|
||||||
import { Button } from '@material-ui/core';
|
import { Button } from '@material-ui/core';
|
||||||
import ConditionallyRender from '../../common/ConditionallyRender';
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
import PageContent from '../../common/PageContent';
|
import useEnvironmentApi from 'hooks/api/actions/useEnvironmentApi/useEnvironmentApi';
|
||||||
import HeaderTitle from '../../common/HeaderTitle';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
import PermissionButton from '../../common/PermissionButton/PermissionButton';
|
import useToast from 'hooks/useToast';
|
||||||
import { ADMIN } from '../../providers/AccessProvider/permissions';
|
import useEnvironments from 'hooks/api/getters/useEnvironments/useEnvironments';
|
||||||
import useProjectRolePermissions from '../../../hooks/api/getters/useProjectRolePermissions/useProjectRolePermissions';
|
import useProjectRolePermissions from 'hooks/api/getters/useProjectRolePermissions/useProjectRolePermissions';
|
||||||
import { formatUnknownError } from '../../../utils/format-unknown-error';
|
import ConditionallyRender from 'component/common/ConditionallyRender';
|
||||||
|
import PageContent from 'component/common/PageContent/PageContent';
|
||||||
|
import { ADMIN } from 'component/providers/AccessProvider/permissions';
|
||||||
|
import HeaderTitle from 'component/common/HeaderTitle/HeaderTitle';
|
||||||
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
|
|
||||||
const CreateEnvironment = () => {
|
const CreateEnvironment = () => {
|
||||||
const { setToastApiError, setToastData } = useToast();
|
const { setToastApiError, setToastData } = useToast();
|
||||||
@ -101,9 +101,7 @@ const CreateEnvironment = () => {
|
|||||||
mode="Create"
|
mode="Create"
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={ADMIN} type="submit">
|
<CreateButton name="environment" permission={ADMIN} />
|
||||||
Create environment
|
|
||||||
</PermissionButton>
|
|
||||||
</EnvironmentForm>
|
</EnvironmentForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
|
import { UpdateButton } from 'component/common/UpdateButton/UpdateButton';
|
||||||
|
import useEnvironmentApi from 'hooks/api/actions/useEnvironmentApi/useEnvironmentApi';
|
||||||
|
import useEnvironment from 'hooks/api/getters/useEnvironment/useEnvironment';
|
||||||
|
import useProjectRolePermissions from 'hooks/api/getters/useProjectRolePermissions/useProjectRolePermissions';
|
||||||
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import useEnvironmentApi from '../../../hooks/api/actions/useEnvironmentApi/useEnvironmentApi';
|
|
||||||
import useEnvironment from '../../../hooks/api/getters/useEnvironment/useEnvironment';
|
|
||||||
import useProjectRolePermissions from '../../../hooks/api/getters/useProjectRolePermissions/useProjectRolePermissions';
|
|
||||||
import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../hooks/useToast';
|
|
||||||
import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
|
||||||
import PermissionButton from '../../common/PermissionButton/PermissionButton';
|
|
||||||
import { ADMIN } from '../../providers/AccessProvider/permissions';
|
import { ADMIN } from '../../providers/AccessProvider/permissions';
|
||||||
import EnvironmentForm from '../EnvironmentForm/EnvironmentForm';
|
import EnvironmentForm from '../EnvironmentForm/EnvironmentForm';
|
||||||
import useEnvironmentForm from '../hooks/useEnvironmentForm';
|
import useEnvironmentForm from '../hooks/useEnvironmentForm';
|
||||||
@ -86,9 +86,7 @@ const EditEnvironment = () => {
|
|||||||
errors={errors}
|
errors={errors}
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={ADMIN} type="submit">
|
<UpdateButton permission={ADMIN} />
|
||||||
Save
|
|
||||||
</PermissionButton>
|
|
||||||
</EnvironmentForm>
|
</EnvironmentForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import FeatureForm from '../FeatureForm/FeatureForm';
|
import FeatureForm from '../FeatureForm/FeatureForm';
|
||||||
import useFeatureForm from '../hooks/useFeatureForm';
|
import useFeatureForm from '../hooks/useFeatureForm';
|
||||||
import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
import useToast from '../../../hooks/useToast';
|
import useToast from 'hooks/useToast';
|
||||||
import useFeatureApi from '../../../hooks/api/actions/useFeatureApi/useFeatureApi';
|
import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi';
|
||||||
import { CREATE_FEATURE } from '../../providers/AccessProvider/permissions';
|
import { CREATE_FEATURE } from 'component/providers/AccessProvider/permissions';
|
||||||
import PermissionButton from '../../common/PermissionButton/PermissionButton';
|
|
||||||
import { CF_CREATE_BTN_ID } from '../../../testIds';
|
|
||||||
import { useContext } from 'react';
|
import { useContext } from 'react';
|
||||||
import UIContext from '../../../contexts/UIContext';
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
|
import UIContext from 'contexts/UIContext';
|
||||||
|
import { CF_CREATE_BTN_ID } from 'testIds';
|
||||||
import { formatUnknownError } from '../../../utils/format-unknown-error';
|
import { formatUnknownError } from '../../../utils/format-unknown-error';
|
||||||
|
|
||||||
const CreateFeature = () => {
|
const CreateFeature = () => {
|
||||||
@ -100,15 +100,12 @@ const CreateFeature = () => {
|
|||||||
mode="Create"
|
mode="Create"
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton
|
<CreateButton
|
||||||
onClick={handleSubmit}
|
name="Feature"
|
||||||
permission={CREATE_FEATURE}
|
permission={CREATE_FEATURE}
|
||||||
projectId={project}
|
projectId={project}
|
||||||
type="submit"
|
|
||||||
data-test={CF_CREATE_BTN_ID}
|
data-test={CF_CREATE_BTN_ID}
|
||||||
>
|
/>
|
||||||
Create toggle
|
|
||||||
</PermissionButton>
|
|
||||||
</FeatureForm>
|
</FeatureForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -2,15 +2,15 @@ import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
|||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import FeatureForm from '../FeatureForm/FeatureForm';
|
import FeatureForm from '../FeatureForm/FeatureForm';
|
||||||
import useFeatureForm from '../hooks/useFeatureForm';
|
import useFeatureForm from '../hooks/useFeatureForm';
|
||||||
import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../hooks/useToast';
|
|
||||||
import useFeatureApi from '../../../hooks/api/actions/useFeatureApi/useFeatureApi';
|
|
||||||
import useFeature from '../../../hooks/api/getters/useFeature/useFeature';
|
|
||||||
import { IFeatureViewParams } from '../../../interfaces/params';
|
|
||||||
import * as jsonpatch from 'fast-json-patch';
|
import * as jsonpatch from 'fast-json-patch';
|
||||||
import PermissionButton from '../../common/PermissionButton/PermissionButton';
|
import { UpdateButton } from 'component/common/UpdateButton/UpdateButton';
|
||||||
import { UPDATE_FEATURE } from '../../providers/AccessProvider/permissions';
|
import { UPDATE_FEATURE } from 'component/providers/AccessProvider/permissions';
|
||||||
import { formatUnknownError } from '../../../utils/format-unknown-error';
|
import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi';
|
||||||
|
import useFeature from 'hooks/api/getters/useFeature/useFeature';
|
||||||
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
|
import { IFeatureViewParams } from 'interfaces/params';
|
||||||
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
|
|
||||||
const EditFeature = () => {
|
const EditFeature = () => {
|
||||||
const { setToastData, setToastApiError } = useToast();
|
const { setToastData, setToastApiError } = useToast();
|
||||||
@ -102,13 +102,7 @@ const EditFeature = () => {
|
|||||||
mode="Edit"
|
mode="Edit"
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton
|
<UpdateButton permission={UPDATE_FEATURE} projectId={project} />
|
||||||
permission={UPDATE_FEATURE}
|
|
||||||
projectId={project}
|
|
||||||
type="submit"
|
|
||||||
>
|
|
||||||
Save
|
|
||||||
</PermissionButton>
|
|
||||||
</FeatureForm>
|
</FeatureForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import FormTemplate from '../../../common/FormTemplate/FormTemplate';
|
|
||||||
import useProjectApi from '../../../../hooks/api/actions/useProjectApi/useProjectApi';
|
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import ProjectForm from '../ProjectForm/ProjectForm';
|
import ProjectForm from '../ProjectForm/ProjectForm';
|
||||||
import useProjectForm from '../hooks/useProjectForm';
|
import useProjectForm from '../hooks/useProjectForm';
|
||||||
import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig';
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
import useToast from '../../../../hooks/useToast';
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
import { CREATE_PROJECT } from 'component/providers/AccessProvider/permissions';
|
||||||
import { CREATE_PROJECT } from '../../../providers/AccessProvider/permissions';
|
import useProjectApi from 'hooks/api/actions/useProjectApi/useProjectApi';
|
||||||
import { useAuthUser } from '../../../../hooks/api/getters/useAuth/useAuthUser';
|
import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser';
|
||||||
import { formatUnknownError } from '../../../../utils/format-unknown-error';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
|
|
||||||
const CreateProject = () => {
|
const CreateProject = () => {
|
||||||
const { setToastData, setToastApiError } = useToast();
|
const { setToastData, setToastApiError } = useToast();
|
||||||
@ -90,9 +90,7 @@ const CreateProject = () => {
|
|||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
validateIdUniqueness={validateIdUniqueness}
|
validateIdUniqueness={validateIdUniqueness}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={CREATE_PROJECT} type="submit">
|
<CreateButton name="project" permission={CREATE_PROJECT} />
|
||||||
Create project
|
|
||||||
</PermissionButton>
|
|
||||||
</ProjectForm>
|
</ProjectForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import FormTemplate from '../../../common/FormTemplate/FormTemplate';
|
|
||||||
import useProjectApi from '../../../../hooks/api/actions/useProjectApi/useProjectApi';
|
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import ProjectForm from '../ProjectForm/ProjectForm';
|
import ProjectForm from '../ProjectForm/ProjectForm';
|
||||||
import useProjectForm from '../hooks/useProjectForm';
|
import useProjectForm from '../hooks/useProjectForm';
|
||||||
import useProject from '../../../../hooks/api/getters/useProject/useProject';
|
import { UpdateButton } from 'component/common/UpdateButton/UpdateButton';
|
||||||
import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig';
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
import useToast from '../../../../hooks/useToast';
|
import { UPDATE_PROJECT } from 'component/providers/AccessProvider/permissions';
|
||||||
import PermissionButton from '../../../common/PermissionButton/PermissionButton';
|
import useProjectApi from 'hooks/api/actions/useProjectApi/useProjectApi';
|
||||||
import { UPDATE_PROJECT } from '../../../providers/AccessProvider/permissions';
|
import useProject from 'hooks/api/getters/useProject/useProject';
|
||||||
import { formatUnknownError } from '../../../../utils/format-unknown-error';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
|
|
||||||
const EditProject = () => {
|
const EditProject = () => {
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
@ -91,9 +91,7 @@ const EditProject = () => {
|
|||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
validateIdUniqueness={validateIdUniqueness}
|
validateIdUniqueness={validateIdUniqueness}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={UPDATE_PROJECT} type="submit">
|
<UpdateButton permission={UPDATE_PROJECT} />
|
||||||
Save
|
|
||||||
</PermissionButton>
|
|
||||||
</ProjectForm>
|
</ProjectForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import useTagTypesApi from '../../../hooks/api/actions/useTagTypesApi/useTagTypesApi';
|
|
||||||
import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../hooks/useToast';
|
|
||||||
import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
|
||||||
import PermissionButton from '../../common/PermissionButton/PermissionButton';
|
|
||||||
import { UPDATE_TAG_TYPE } from '../../providers/AccessProvider/permissions';
|
|
||||||
import useTagTypeForm from '../TagTypeForm/useTagTypeForm';
|
import useTagTypeForm from '../TagTypeForm/useTagTypeForm';
|
||||||
import TagTypeForm from '../TagTypeForm/TagTypeForm';
|
import TagTypeForm from '../TagTypeForm/TagTypeForm';
|
||||||
import { formatUnknownError } from '../../../utils/format-unknown-error';
|
import { CreateButton } from 'component/common/CreateButton/CreateButton';
|
||||||
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
|
import { UPDATE_TAG_TYPE } from 'component/providers/AccessProvider/permissions';
|
||||||
|
import useTagTypesApi from 'hooks/api/actions/useTagTypesApi/useTagTypesApi';
|
||||||
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
|
|
||||||
const CreateTagType = () => {
|
const CreateTagType = () => {
|
||||||
const { setToastData, setToastApiError } = useToast();
|
const { setToastData, setToastApiError } = useToast();
|
||||||
@ -78,9 +78,7 @@ const CreateTagType = () => {
|
|||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
validateNameUniqueness={validateNameUniqueness}
|
validateNameUniqueness={validateNameUniqueness}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={UPDATE_TAG_TYPE} type="submit">
|
<CreateButton name="type" permission={UPDATE_TAG_TYPE} />
|
||||||
Create type
|
|
||||||
</PermissionButton>
|
|
||||||
</TagTypeForm>
|
</TagTypeForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import useTagTypesApi from '../../../hooks/api/actions/useTagTypesApi/useTagTypesApi';
|
|
||||||
import useTagType from '../../../hooks/api/getters/useTagType/useTagType';
|
|
||||||
import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig';
|
|
||||||
import useToast from '../../../hooks/useToast';
|
|
||||||
import FormTemplate from '../../common/FormTemplate/FormTemplate';
|
|
||||||
import PermissionButton from '../../common/PermissionButton/PermissionButton';
|
|
||||||
import { UPDATE_TAG_TYPE } from '../../providers/AccessProvider/permissions';
|
import { UPDATE_TAG_TYPE } from '../../providers/AccessProvider/permissions';
|
||||||
import useTagTypeForm from '../TagTypeForm/useTagTypeForm';
|
import useTagTypeForm from '../TagTypeForm/useTagTypeForm';
|
||||||
import TagForm from '../TagTypeForm/TagTypeForm';
|
import TagForm from '../TagTypeForm/TagTypeForm';
|
||||||
import { formatUnknownError } from '../../../utils/format-unknown-error';
|
import { UpdateButton } from 'component/common/UpdateButton/UpdateButton';
|
||||||
|
import useTagTypesApi from 'hooks/api/actions/useTagTypesApi/useTagTypesApi';
|
||||||
|
import useTagType from 'hooks/api/getters/useTagType/useTagType';
|
||||||
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
import useToast from 'hooks/useToast';
|
||||||
|
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||||
|
import { formatUnknownError } from 'utils/format-unknown-error';
|
||||||
const EditTagType = () => {
|
const EditTagType = () => {
|
||||||
const { setToastData, setToastApiError } = useToast();
|
const { setToastData, setToastApiError } = useToast();
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
@ -75,9 +74,7 @@ const EditTagType = () => {
|
|||||||
mode="Edit"
|
mode="Edit"
|
||||||
clearErrors={clearErrors}
|
clearErrors={clearErrors}
|
||||||
>
|
>
|
||||||
<PermissionButton permission={UPDATE_TAG_TYPE} type="submit">
|
<UpdateButton permission={UPDATE_TAG_TYPE} />
|
||||||
Save
|
|
||||||
</PermissionButton>
|
|
||||||
</TagForm>
|
</TagForm>
|
||||||
</FormTemplate>
|
</FormTemplate>
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user