mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
fix: change requests placeholder (#8724)
If project does not have CRs configured, show correct info.
This commit is contained in:
parent
d75c63b6e8
commit
1433878f32
@ -1,3 +1,4 @@
|
|||||||
|
import { type ReactNode, useEffect, useMemo, useState } from 'react';
|
||||||
import { PageContent } from 'component/common/PageContent/PageContent';
|
import { PageContent } from 'component/common/PageContent/PageContent';
|
||||||
import { PageHeader } from 'component/common/PageHeader/PageHeader';
|
import { PageHeader } from 'component/common/PageHeader/PageHeader';
|
||||||
import {
|
import {
|
||||||
@ -13,7 +14,6 @@ import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightC
|
|||||||
import { Box, styled, Tab, Tabs, useMediaQuery } from '@mui/material';
|
import { Box, styled, Tab, Tabs, useMediaQuery } from '@mui/material';
|
||||||
import { Link, useSearchParams } from 'react-router-dom';
|
import { Link, useSearchParams } from 'react-router-dom';
|
||||||
import { sortTypes } from 'utils/sortTypes';
|
import { sortTypes } from 'utils/sortTypes';
|
||||||
import { useEffect, useMemo, useState } from 'react';
|
|
||||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||||
import { Search } from 'component/common/Search/Search';
|
import { Search } from 'component/common/Search/Search';
|
||||||
import { featuresPlaceholder } from 'component/feature/FeatureToggleList/FeatureToggleListTable';
|
import { featuresPlaceholder } from 'component/feature/FeatureToggleList/FeatureToggleListTable';
|
||||||
@ -34,6 +34,7 @@ export interface IChangeRequestTableProps {
|
|||||||
changeRequests: any[];
|
changeRequests: any[];
|
||||||
loading: boolean;
|
loading: boolean;
|
||||||
projectId: string;
|
projectId: string;
|
||||||
|
placeholder?: ReactNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultSort: SortingRule<string> & {
|
const defaultSort: SortingRule<string> & {
|
||||||
@ -63,6 +64,7 @@ const ConftigurationLinkBox = styled(Box)(({ theme }) => ({
|
|||||||
|
|
||||||
export const ChangeRequestsTabs = ({
|
export const ChangeRequestsTabs = ({
|
||||||
changeRequests = [],
|
changeRequests = [],
|
||||||
|
placeholder,
|
||||||
loading,
|
loading,
|
||||||
projectId,
|
projectId,
|
||||||
}: IChangeRequestTableProps) => {
|
}: IChangeRequestTableProps) => {
|
||||||
@ -368,7 +370,8 @@ export const ChangeRequestsTabs = ({
|
|||||||
}
|
}
|
||||||
elseShow={
|
elseShow={
|
||||||
<TablePlaceholder>
|
<TablePlaceholder>
|
||||||
None of the changes were submitted yet.
|
{placeholder ||
|
||||||
|
'None of the changes were submitted yet.'}
|
||||||
</TablePlaceholder>
|
</TablePlaceholder>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
@ -6,6 +6,8 @@ import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
|||||||
import { PageContent } from 'component/common/PageContent/PageContent';
|
import { PageContent } from 'component/common/PageContent/PageContent';
|
||||||
import { PremiumFeature } from 'component/common/PremiumFeature/PremiumFeature';
|
import { PremiumFeature } from 'component/common/PremiumFeature/PremiumFeature';
|
||||||
import { useProjectOverviewNameOrId } from 'hooks/api/getters/useProjectOverview/useProjectOverview';
|
import { useProjectOverviewNameOrId } from 'hooks/api/getters/useProjectOverview/useProjectOverview';
|
||||||
|
import { useChangeRequestConfig } from 'hooks/api/getters/useChangeRequestConfig/useChangeRequestConfig';
|
||||||
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
export const ProjectChangeRequests = () => {
|
export const ProjectChangeRequests = () => {
|
||||||
const projectId = useRequiredPathParam('projectId');
|
const projectId = useRequiredPathParam('projectId');
|
||||||
@ -15,6 +17,11 @@ export const ProjectChangeRequests = () => {
|
|||||||
usePageTitle(`Change requests – ${projectName}`);
|
usePageTitle(`Change requests – ${projectName}`);
|
||||||
|
|
||||||
const { changeRequests, loading } = useProjectChangeRequests(projectId);
|
const { changeRequests, loading } = useProjectChangeRequests(projectId);
|
||||||
|
const { data: configData, loading: configLoading } =
|
||||||
|
useChangeRequestConfig(projectId);
|
||||||
|
const isConfigured = configData.some(
|
||||||
|
(config) => config.changeRequestEnabled,
|
||||||
|
);
|
||||||
|
|
||||||
if (isOss() || isPro()) {
|
if (isOss() || isPro()) {
|
||||||
return (
|
return (
|
||||||
@ -29,6 +36,19 @@ export const ProjectChangeRequests = () => {
|
|||||||
changeRequests={changeRequests}
|
changeRequests={changeRequests}
|
||||||
projectId={projectId}
|
projectId={projectId}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
|
placeholder={
|
||||||
|
!configLoading && !isConfigured ? (
|
||||||
|
<p>
|
||||||
|
Change requests are not configured for this project.
|
||||||
|
<br />
|
||||||
|
<Link
|
||||||
|
to={`/projects/${projectId}/settings/change-requests`}
|
||||||
|
>
|
||||||
|
Configure change requests
|
||||||
|
</Link>
|
||||||
|
</p>
|
||||||
|
) : undefined
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user