Skip to content

Commit ba36dec

Browse files
committed
[Fix] Multiple EuiNotificationEvent generated IDs
1 parent f6f8df6 commit ba36dec

3 files changed

Lines changed: 10 additions & 6 deletions

File tree

src/components/notification/notification_event.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import {
2323
import { EuiButtonEmpty, EuiButtonEmptyProps } from '../button';
2424
import { EuiLink } from '../link';
2525
import { EuiContextMenuItem, EuiContextMenuItemProps } from '../context_menu';
26-
import { htmlIdGenerator } from '../../services';
26+
import { useGeneratedHtmlId } from '../../services';
2727
import { EuiNotificationEventReadIcon } from './notification_event_read_icon';
2828

2929
export type EuiNotificationHeadingLevel = 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
@@ -113,7 +113,7 @@ export const EuiNotificationEvent: FunctionComponent<EuiNotificationEventProps>
113113
'euiNotificationEvent__title--isRead': isRead,
114114
});
115115

116-
const randomHeadingId = htmlIdGenerator()();
116+
const randomHeadingId = useGeneratedHtmlId();
117117

118118
const titleProps = {
119119
id: randomHeadingId,

src/components/notification/notification_event_messages.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import React, { FunctionComponent, useState } from 'react';
1010
import { EuiAccordion } from '../accordion';
11-
import { htmlIdGenerator } from '../../services';
11+
import { useGeneratedHtmlId } from '../../services';
1212
import { useEuiI18n } from '../i18n';
1313
import { EuiText } from '../text';
1414

@@ -30,6 +30,10 @@ export const EuiNotificationEventMessages: FunctionComponent<EuiNotificationEven
3030
const [isOpen, setIsOpen] = useState(false);
3131
const messagesLength = messages.length;
3232

33+
const accordionId = useGeneratedHtmlId({
34+
prefix: 'euiNotificationEventMessagesAccordion',
35+
});
36+
3337
const accordionButtonText = useEuiI18n(
3438
'euiNotificationEventMessages.accordionButtonText',
3539
'+ {messagesLength} more',
@@ -69,7 +73,7 @@ export const EuiNotificationEventMessages: FunctionComponent<EuiNotificationEven
6973
<EuiAccordion
7074
onToggle={setIsOpen}
7175
buttonProps={{ 'aria-label': accordionAriaLabelButtonText }}
72-
id={htmlIdGenerator('euiNotificationEventMessagesAccordion')()}
76+
id={accordionId}
7377
className="euiNotificationEventMessages__accordion"
7478
buttonContent={buttonContentText}
7579
buttonClassName="euiNotificationEventMessages__accordionButton"

src/components/notification/notification_event_meta.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import {
2323
EuiContextMenuPanel,
2424
} from '../context_menu';
2525
import { EuiI18n } from '../i18n';
26-
import { htmlIdGenerator } from '../../services';
26+
import { useGeneratedHtmlId } from '../../services';
2727

2828
export type EuiNotificationEventMetaProps = {
2929
id: string;
@@ -85,7 +85,7 @@ export const EuiNotificationEventMeta: FunctionComponent<EuiNotificationEventMet
8585
ReturnType<NonNullable<typeof onOpenContextMenu>>
8686
>([]);
8787

88-
const randomPopoverId = htmlIdGenerator()();
88+
const randomPopoverId = useGeneratedHtmlId();
8989

9090
const ariaAttribute = iconAriaLabel
9191
? { 'aria-label': iconAriaLabel }

0 commit comments

Comments
 (0)