Skip to content
This repository was archived by the owner on Apr 23, 2025. It is now read-only.

Commit 7fca493

Browse files
committed
feat(web-scraping): render tracker name with indicators for scheduled checks and notifications
1 parent 6ead9be commit 7fca493

4 files changed

Lines changed: 28 additions & 2 deletions

File tree

src/index.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { icon as EuiIconArrowRight } from '@elastic/eui/es/components/icon/asset
1515
import { icon as EuiIconArrowUp } from '@elastic/eui/es/components/icon/assets/arrow_up';
1616
import { icon as EuiIconArrowEnd } from '@elastic/eui/es/components/icon/assets/arrowEnd';
1717
import { icon as EuiIconArrowStart } from '@elastic/eui/es/components/icon/assets/arrowStart';
18+
import { icon as EuiIconBell } from '@elastic/eui/es/components/icon/assets/bell';
1819
import { icon as EuiIconBoxesHorizontal } from '@elastic/eui/es/components/icon/assets/boxes_horizontal';
1920
import { icon as EuiIconBoxesVertical } from '@elastic/eui/es/components/icon/assets/boxes_vertical';
2021
import { icon as EuiIconCalendar } from '@elastic/eui/es/components/icon/assets/calendar';
@@ -69,6 +70,7 @@ import { icon as EuiIconStarFilled } from '@elastic/eui/es/components/icon/asset
6970
import { icon as EuiIconTableDensityCompact } from '@elastic/eui/es/components/icon/assets/table_density_compact';
7071
import { icon as EuiIconTableDensityExpanded } from '@elastic/eui/es/components/icon/assets/table_density_expanded';
7172
import { icon as EuiIconTableDensityNormal } from '@elastic/eui/es/components/icon/assets/table_density_normal';
73+
import { icon as EuiIconTimeRefresh } from '@elastic/eui/es/components/icon/assets/timeRefresh';
7274
import { icon as EuiIconTokenNumber } from '@elastic/eui/es/components/icon/assets/tokenNumber';
7375
import { icon as EuiIconTokenString } from '@elastic/eui/es/components/icon/assets/tokenString';
7476
import { icon as EuiIconTraining } from '@elastic/eui/es/components/icon/assets/training';
@@ -93,6 +95,7 @@ appendIconComponentCache({
9395
arrowUp: EuiIconArrowUp,
9496
arrowStart: EuiIconArrowStart,
9597
arrowEnd: EuiIconArrowEnd,
98+
bell: EuiIconBell,
9699
boxesHorizontal: EuiIconBoxesHorizontal,
97100
boxesVertical: EuiIconBoxesVertical,
98101
calendar: EuiIconCalendar,
@@ -148,6 +151,7 @@ appendIconComponentCache({
148151
tableDensityCompact: EuiIconTableDensityCompact,
149152
tableDensityExpanded: EuiIconTableDensityExpanded,
150153
tableDensityNormal: EuiIconTableDensityNormal,
154+
timeRefresh: EuiIconTimeRefresh,
151155
tokenNumber: EuiIconTokenNumber,
152156
tokenString: EuiIconTokenString,
153157
training: EuiIconTraining,

src/pages/workspace/utils/web_scraping/web_page_content_trackers.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { WebPageContentTrackerRevision } from './web_page_content_tracker_revisi
2525
import type { WebPageContentRevision } from './web_page_data_revision';
2626
import type { WebPageContentTracker, WebPageTracker } from './web_page_tracker';
2727
import { WebPageTrackerHistory } from './web_page_tracker_history';
28+
import { WebPageTrackerName } from './web_page_tracker_name';
2829
import { PageErrorState, PageLoadingState } from '../../../../components';
2930
import { type AsyncData, getApiRequestConfig, getApiUrl, getErrorMessage } from '../../../../model';
3031
import { useWorkspaceContext } from '../../hooks';
@@ -235,7 +236,7 @@ export default function WebPageContentTrackers() {
235236
field: 'name',
236237
sortable: true,
237238
textOnly: true,
238-
render: (_, tracker: WebPageTracker) => tracker.name,
239+
render: (_, tracker: WebPageTracker) => <WebPageTrackerName tracker={tracker} />,
239240
},
240241
{
241242
name: (

src/pages/workspace/utils/web_scraping/web_page_resources_trackers.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { WebPageResourcesTrackerEditFlyout } from './web_page_resources_tracker_
2525
import { WebPageResourcesTrackerRevision } from './web_page_resources_tracker_revision';
2626
import type { WebPageResourcesTracker, WebPageTracker } from './web_page_tracker';
2727
import { WebPageTrackerHistory } from './web_page_tracker_history';
28+
import { WebPageTrackerName } from './web_page_tracker_name';
2829
import { PageErrorState, PageLoadingState } from '../../../../components';
2930
import { type AsyncData, getApiRequestConfig, getApiUrl, getErrorMessage } from '../../../../model';
3031
import { useWorkspaceContext } from '../../hooks';
@@ -233,7 +234,7 @@ export default function WebPageResourcesTrackers() {
233234
field: 'name',
234235
sortable: true,
235236
textOnly: true,
236-
render: (_, tracker: WebPageTracker) => tracker.name,
237+
render: (_, tracker: WebPageTracker) => <WebPageTrackerName tracker={tracker} />,
237238
},
238239
{
239240
name: (
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { EuiIcon, EuiText } from '@elastic/eui';
2+
3+
import type { WebPageTracker } from './web_page_tracker';
4+
5+
export function WebPageTrackerName({ tracker }: { tracker: WebPageTracker }) {
6+
if (!tracker.jobConfig) {
7+
return tracker.name;
8+
}
9+
10+
const timeIcon = <EuiIcon type={'timeRefresh'} size="s" title={'Scheduled checks are enabled'} />;
11+
return tracker.jobConfig.notifications ? (
12+
<EuiText size="s">
13+
{tracker.name} {timeIcon} <EuiIcon type={'bell'} size="s" title={'Notifications are enabled'} />
14+
</EuiText>
15+
) : (
16+
<EuiText size="s">
17+
{tracker.name} {timeIcon}
18+
</EuiText>
19+
);
20+
}

0 commit comments

Comments
 (0)