Skip to content

Commit 1abce12

Browse files
committed
OCPBUGS-63056: Add favourites to Dashboards page
adssda
1 parent a1930da commit 1abce12

2 files changed

Lines changed: 25 additions & 60 deletions

File tree

web/src/components/dashboards/legacy/dashboard-skeleton-legacy.tsx

Lines changed: 14 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,30 @@
11
import * as _ from 'lodash-es';
22
import type { FC, PropsWithChildren } from 'react';
33
import { memo, useCallback } from 'react';
4-
import { Helmet } from 'react-helmet';
54
import { useTranslation } from 'react-i18next';
65

7-
import {
8-
Divider,
9-
PageSection,
10-
Split,
11-
SplitItem,
12-
Stack,
13-
StackItem,
14-
Title,
15-
} from '@patternfly/react-core';
6+
import { Divider, PageSection, Split, SplitItem, Stack, StackItem } from '@patternfly/react-core';
167
import { usePerspective } from '../../hooks/usePerspective';
178
import { CombinedDashboardMetadata } from '../perses/hooks/useDashboardsData';
189
import { DashboardDropdown } from '../shared/dashboard-dropdown';
1910
import { PollIntervalDropdown, TimespanDropdown } from './time-dropdowns';
2011
import { LegacyDashboardsAllVariableDropdowns } from './legacy-variable-dropdowns';
12+
import { DocumentTitle, ListPageHeader } from '@openshift-console/dynamic-plugin-sdk';
2113

2214
const HeaderTop: FC = memo(() => {
2315
const { t } = useTranslation(process.env.I18N_NAMESPACE);
2416

2517
return (
26-
<Split hasGutter isWrappable>
27-
<SplitItem isFilled>
28-
<Title headingLevel="h1">{t('Dashboards')}</Title>
29-
</SplitItem>
30-
<SplitItem>
31-
<Split hasGutter isWrappable>
32-
<SplitItem>
33-
<TimespanDropdown />
34-
</SplitItem>
35-
<SplitItem>
36-
<PollIntervalDropdown />
37-
</SplitItem>
38-
</Split>
39-
</SplitItem>
40-
</Split>
18+
<ListPageHeader title={t('Dashboards')}>
19+
<Split hasGutter isWrappable>
20+
<SplitItem>
21+
<TimespanDropdown />
22+
</SplitItem>
23+
<SplitItem>
24+
<PollIntervalDropdown />
25+
</SplitItem>
26+
</Split>
27+
</ListPageHeader>
4128
);
4229
});
4330

@@ -62,13 +49,9 @@ export const DashboardSkeletonLegacy: FC<MonitoringDashboardsLegacyPageProps> =
6249

6350
return (
6451
<>
65-
{perspective !== 'dev' && (
66-
<Helmet>
67-
<title>{t('Metrics dashboards')}</title>
68-
</Helmet>
69-
)}
52+
{perspective !== 'dev' && <DocumentTitle>{t('Metrics dashboards')}</DocumentTitle>}
53+
{perspective !== 'dev' && <HeaderTop />}
7054
<PageSection hasBodyWrapper={false}>
71-
{perspective !== 'dev' && <HeaderTop />}
7255
<Stack hasGutter>
7356
{!_.isEmpty(boardItems) && (
7457
<StackItem>

web/src/components/dashboards/perses/dashboard-skeleton.tsx

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
11
import * as _ from 'lodash-es';
22
import type { FC, PropsWithChildren } from 'react';
33
import { memo, useCallback, useEffect } from 'react';
4-
import { Helmet } from 'react-helmet';
54
import { useTranslation } from 'react-i18next';
6-
7-
import {
8-
Divider,
9-
PageSection,
10-
Split,
11-
SplitItem,
12-
Stack,
13-
StackItem,
14-
Title,
15-
} from '@patternfly/react-core';
5+
import { Divider, PageSection, Split, SplitItem, Stack, StackItem } from '@patternfly/react-core';
166
import {
177
DashboardStickyToolbar,
188
useDashboardActions,
@@ -22,23 +12,19 @@ import { TimeRangeControls } from '@perses-dev/plugin-system';
2212
import { usePerspective } from '../../hooks/usePerspective';
2313
import { DashboardDropdown } from '../shared/dashboard-dropdown';
2414
import { CombinedDashboardMetadata } from './hooks/useDashboardsData';
15+
import { DocumentTitle, ListPageHeader } from '@openshift-console/dynamic-plugin-sdk';
2516

2617
const HeaderTop: FC = memo(() => {
2718
const { t } = useTranslation(process.env.I18N_NAMESPACE);
2819

2920
return (
30-
<Split hasGutter isWrappable>
31-
<SplitItem isFilled>
32-
<Title headingLevel="h1">{t('Dashboards')}</Title>
33-
</SplitItem>
34-
<SplitItem>
35-
<Split hasGutter isWrappable>
36-
<SplitItem>
37-
<TimeRangeControls />
38-
</SplitItem>
39-
</Split>
40-
</SplitItem>
41-
</Split>
21+
<ListPageHeader title={t('Dashboards')}>
22+
<Split hasGutter isWrappable>
23+
<SplitItem>
24+
<TimeRangeControls />
25+
</SplitItem>
26+
</Split>
27+
</ListPageHeader>
4228
);
4329
});
4430

@@ -79,13 +65,9 @@ export const DashboardSkeleton: FC<MonitoringDashboardsPageProps> = memo(
7965

8066
return (
8167
<>
82-
{perspective !== 'dev' && (
83-
<Helmet>
84-
<title>{t('Metrics dashboards')}</title>
85-
</Helmet>
86-
)}
68+
{perspective !== 'dev' && <DocumentTitle>{t('Metrics dashboards')}</DocumentTitle>}
69+
{perspective !== 'dev' && <HeaderTop />}
8770
<PageSection hasBodyWrapper={false}>
88-
{perspective !== 'dev' && <HeaderTop />}
8971
<Stack hasGutter>
9072
{!_.isEmpty(boardItems) && (
9173
<StackItem>

0 commit comments

Comments
 (0)